@lodestar/types 1.40.0-dev.0ae7a89ead → 1.40.0-dev.1c71f4299a
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/gloas/sszTypes.d.ts +38 -5
- package/lib/gloas/sszTypes.d.ts.map +1 -1
- package/lib/gloas/sszTypes.js +27 -7
- package/lib/gloas/sszTypes.js.map +1 -1
- package/lib/gloas/types.d.ts +2 -0
- package/lib/gloas/types.d.ts.map +1 -1
- package/lib/primitive/sszTypes.d.ts +1 -0
- package/lib/primitive/sszTypes.d.ts.map +1 -1
- package/lib/primitive/sszTypes.js +1 -0
- package/lib/primitive/sszTypes.js.map +1 -1
- package/lib/primitive/types.d.ts +1 -0
- package/lib/primitive/types.d.ts.map +1 -1
- package/lib/sszTypes.d.ts +76 -10
- package/lib/sszTypes.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/gloas/sszTypes.ts +55 -7
- package/src/gloas/types.ts +2 -0
- package/src/primitive/sszTypes.ts +1 -0
- package/src/primitive/types.ts +1 -0
package/lib/gloas/sszTypes.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { BitVectorType, ContainerType, ListBasicType, ListCompositeType, VectorCompositeType } from "@chainsafe/ssz";
|
|
2
|
+
export declare const Builder: ContainerType<{
|
|
3
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
4
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
5
|
+
executionAddress: import("../index.ts").ExecutionAddressType;
|
|
6
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
7
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
8
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
9
|
+
}>;
|
|
2
10
|
export declare const BuilderPendingWithdrawal: ContainerType<{
|
|
3
11
|
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
4
12
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
5
13
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
6
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
7
14
|
}>;
|
|
8
15
|
export declare const BuilderPendingPayment: ContainerType<{
|
|
9
16
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -11,7 +18,6 @@ export declare const BuilderPendingPayment: ContainerType<{
|
|
|
11
18
|
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
12
19
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
13
20
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
14
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
15
21
|
}>;
|
|
16
22
|
}>;
|
|
17
23
|
export declare const PayloadAttestationData: ContainerType<{
|
|
@@ -50,6 +56,21 @@ export declare const IndexedPayloadAttestation: ContainerType<{
|
|
|
50
56
|
}>;
|
|
51
57
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
52
58
|
}>;
|
|
59
|
+
export declare const ProposerPreferences: ContainerType<{
|
|
60
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
61
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
62
|
+
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
63
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
64
|
+
}>;
|
|
65
|
+
export declare const SignedProposerPreferences: ContainerType<{
|
|
66
|
+
message: ContainerType<{
|
|
67
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
68
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
69
|
+
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
70
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
71
|
+
}>;
|
|
72
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
73
|
+
}>;
|
|
53
74
|
export declare const ExecutionPayloadBid: ContainerType<{
|
|
54
75
|
parentBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
55
76
|
parentBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
@@ -714,6 +735,15 @@ export declare const BeaconState: ContainerType<{
|
|
|
714
735
|
targetIndex: import("@chainsafe/ssz").UintNumberType;
|
|
715
736
|
}>>;
|
|
716
737
|
proposerLookahead: import("@chainsafe/ssz").VectorBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
738
|
+
builders: ListCompositeType<ContainerType<{
|
|
739
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
740
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
741
|
+
executionAddress: import("../index.ts").ExecutionAddressType;
|
|
742
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
743
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
744
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
745
|
+
}>>;
|
|
746
|
+
nextWithdrawalBuilderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
717
747
|
executionPayloadAvailability: BitVectorType;
|
|
718
748
|
builderPendingPayments: VectorCompositeType<ContainerType<{
|
|
719
749
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -721,17 +751,20 @@ export declare const BeaconState: ContainerType<{
|
|
|
721
751
|
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
722
752
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
723
753
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
724
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
725
754
|
}>;
|
|
726
755
|
}>>;
|
|
727
756
|
builderPendingWithdrawals: ListCompositeType<ContainerType<{
|
|
728
757
|
feeRecipient: import("../index.ts").ExecutionAddressType;
|
|
729
758
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
730
759
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
731
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
732
760
|
}>>;
|
|
733
761
|
latestBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
734
|
-
|
|
762
|
+
payloadExpectedWithdrawals: ListCompositeType<ContainerType<{
|
|
763
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
764
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
765
|
+
address: import("../index.ts").ExecutionAddressType;
|
|
766
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
767
|
+
}>>;
|
|
735
768
|
}>;
|
|
736
769
|
export declare const DataColumnSidecar: ContainerType<{
|
|
737
770
|
index: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/gloas/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/gloas/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAuCnH,eAAO,MAAM,OAAO;;;;;;;EAUnB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;EAOpC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;EAMjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;EAQlC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;EAO9B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;EAOrC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;EAOrC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;EAQ/B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;EAMrC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAe/B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAMrC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1C,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB3B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DvB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;EAY7B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;GAA8D,CAAC"}
|
package/lib/gloas/sszTypes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BitVectorType, ContainerType, ListBasicType, ListCompositeType, VectorCompositeType } from "@chainsafe/ssz";
|
|
2
|
-
import { BUILDER_PENDING_WITHDRAWALS_LIMIT, HISTORICAL_ROOTS_LIMIT, MAX_PAYLOAD_ATTESTATIONS, NUMBER_OF_COLUMNS, PTC_SIZE, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT, } from "@lodestar/params";
|
|
2
|
+
import { BUILDER_PENDING_WITHDRAWALS_LIMIT, BUILDER_REGISTRY_LIMIT, HISTORICAL_ROOTS_LIMIT, MAX_PAYLOAD_ATTESTATIONS, NUMBER_OF_COLUMNS, PTC_SIZE, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT, } from "@lodestar/params";
|
|
3
3
|
import { ssz as altairSsz } from "../altair/index.js";
|
|
4
4
|
import { ssz as capellaSsz } from "../capella/index.js";
|
|
5
5
|
import { ssz as denebSsz } from "../deneb/index.js";
|
|
@@ -8,12 +8,20 @@ import { ssz as fuluSsz } from "../fulu/index.js";
|
|
|
8
8
|
import { ssz as phase0Ssz } from "../phase0/index.js";
|
|
9
9
|
import { ssz as primitiveSsz } from "../primitive/index.js";
|
|
10
10
|
// biome-ignore lint/suspicious/noShadowRestrictedNames: We explicitly want `Boolean` name to be imported
|
|
11
|
-
const {
|
|
11
|
+
const { Boolean } = primitiveSsz;
|
|
12
|
+
const { Gwei, ExecutionAddress, ValidatorIndex, Epoch, BLSSignature, Bytes32, Root, Slot, UintBn64, UintNum64, BLSPubkey, Uint8, BuilderIndex, EpochInf, } = primitiveSsz;
|
|
13
|
+
export const Builder = new ContainerType({
|
|
14
|
+
pubkey: BLSPubkey,
|
|
15
|
+
version: Uint8,
|
|
16
|
+
executionAddress: ExecutionAddress,
|
|
17
|
+
balance: UintNum64,
|
|
18
|
+
depositEpoch: EpochInf,
|
|
19
|
+
withdrawableEpoch: EpochInf,
|
|
20
|
+
}, { typeName: "Builder", jsonCase: "eth2" });
|
|
12
21
|
export const BuilderPendingWithdrawal = new ContainerType({
|
|
13
22
|
feeRecipient: ExecutionAddress,
|
|
14
23
|
amount: UintNum64,
|
|
15
|
-
builderIndex:
|
|
16
|
-
withdrawableEpoch: Epoch,
|
|
24
|
+
builderIndex: BuilderIndex,
|
|
17
25
|
}, { typeName: "BuilderPendingWithdrawal", jsonCase: "eth2" });
|
|
18
26
|
export const BuilderPendingPayment = new ContainerType({
|
|
19
27
|
weight: UintNum64,
|
|
@@ -40,6 +48,16 @@ export const IndexedPayloadAttestation = new ContainerType({
|
|
|
40
48
|
data: PayloadAttestationData,
|
|
41
49
|
signature: BLSSignature,
|
|
42
50
|
}, { typeName: "IndexedPayloadAttestation", jsonCase: "eth2" });
|
|
51
|
+
export const ProposerPreferences = new ContainerType({
|
|
52
|
+
proposalSlot: Slot,
|
|
53
|
+
validatorIndex: ValidatorIndex,
|
|
54
|
+
feeRecipient: ExecutionAddress,
|
|
55
|
+
gasLimit: UintNum64,
|
|
56
|
+
}, { typeName: "ProposerPreferences", jsonCase: "eth2" });
|
|
57
|
+
export const SignedProposerPreferences = new ContainerType({
|
|
58
|
+
message: ProposerPreferences,
|
|
59
|
+
signature: BLSSignature,
|
|
60
|
+
}, { typeName: "SignedProposerPreferences", jsonCase: "eth2" });
|
|
43
61
|
export const ExecutionPayloadBid = new ContainerType({
|
|
44
62
|
parentBlockHash: Bytes32,
|
|
45
63
|
parentBlockRoot: Root,
|
|
@@ -47,7 +65,7 @@ export const ExecutionPayloadBid = new ContainerType({
|
|
|
47
65
|
prevRandao: Bytes32,
|
|
48
66
|
feeRecipient: ExecutionAddress,
|
|
49
67
|
gasLimit: UintBn64,
|
|
50
|
-
builderIndex:
|
|
68
|
+
builderIndex: BuilderIndex,
|
|
51
69
|
slot: Slot,
|
|
52
70
|
value: UintNum64,
|
|
53
71
|
executionPayment: UintNum64,
|
|
@@ -60,7 +78,7 @@ export const SignedExecutionPayloadBid = new ContainerType({
|
|
|
60
78
|
export const ExecutionPayloadEnvelope = new ContainerType({
|
|
61
79
|
payload: electraSsz.ExecutionPayload,
|
|
62
80
|
executionRequests: electraSsz.ExecutionRequests,
|
|
63
|
-
builderIndex:
|
|
81
|
+
builderIndex: BuilderIndex,
|
|
64
82
|
beaconBlockRoot: Root,
|
|
65
83
|
slot: Slot,
|
|
66
84
|
blobKzgCommitments: denebSsz.BlobKzgCommitments,
|
|
@@ -147,11 +165,13 @@ export const BeaconState = new ContainerType({
|
|
|
147
165
|
pendingPartialWithdrawals: electraSsz.BeaconState.fields.pendingPartialWithdrawals,
|
|
148
166
|
pendingConsolidations: electraSsz.BeaconState.fields.pendingConsolidations,
|
|
149
167
|
proposerLookahead: fuluSsz.BeaconState.fields.proposerLookahead,
|
|
168
|
+
builders: new ListCompositeType(Builder, BUILDER_REGISTRY_LIMIT), // New in GLOAS:EIP7732
|
|
169
|
+
nextWithdrawalBuilderIndex: BuilderIndex, // New in GLOAS:EIP7732
|
|
150
170
|
executionPayloadAvailability: new BitVectorType(SLOTS_PER_HISTORICAL_ROOT), // New in GLOAS:EIP7732
|
|
151
171
|
builderPendingPayments: new VectorCompositeType(BuilderPendingPayment, 2 * SLOTS_PER_EPOCH), // New in GLOAS:EIP7732
|
|
152
172
|
builderPendingWithdrawals: new ListCompositeType(BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT), // New in GLOAS:EIP7732
|
|
153
173
|
latestBlockHash: Bytes32, // New in GLOAS:EIP7732
|
|
154
|
-
|
|
174
|
+
payloadExpectedWithdrawals: capellaSsz.Withdrawals, // New in GLOAS:EIP7732
|
|
155
175
|
}, { typeName: "BeaconState", jsonCase: "eth2" });
|
|
156
176
|
export const DataColumnSidecar = new ContainerType({
|
|
157
177
|
index: fuluSsz.DataColumnSidecar.fields.index,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/gloas/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AACnH,OAAO,EACL,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,GAAG,IAAI,SAAS,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,GAAG,IAAI,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,GAAG,IAAI,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,GAAG,IAAI,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,GAAG,IAAI,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,GAAG,IAAI,SAAS,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,GAAG,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAE1D,yGAAyG;AACzG,MAAM,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/gloas/sszTypes.ts"],"names":[],"mappings":"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"}
|
package/lib/gloas/types.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export type PayloadAttestationData = ValueOf<typeof ssz.PayloadAttestationData>;
|
|
|
6
6
|
export type PayloadAttestation = ValueOf<typeof ssz.PayloadAttestation>;
|
|
7
7
|
export type PayloadAttestationMessage = ValueOf<typeof ssz.PayloadAttestationMessage>;
|
|
8
8
|
export type IndexedPayloadAttestation = ValueOf<typeof ssz.IndexedPayloadAttestation>;
|
|
9
|
+
export type ProposerPreferences = ValueOf<typeof ssz.ProposerPreferences>;
|
|
10
|
+
export type SignedProposerPreferences = ValueOf<typeof ssz.SignedProposerPreferences>;
|
|
9
11
|
export type ExecutionPayloadBid = ValueOf<typeof ssz.ExecutionPayloadBid>;
|
|
10
12
|
export type SignedExecutionPayloadBid = ValueOf<typeof ssz.SignedExecutionPayloadBid>;
|
|
11
13
|
export type ExecutionPayloadEnvelope = ValueOf<typeof ssz.ExecutionPayloadEnvelope>;
|
package/lib/gloas/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gloas/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gloas/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -51,6 +51,7 @@ export declare const SyncPeriod: UintNumberType;
|
|
|
51
51
|
export declare const CommitteeIndex: UintNumberType;
|
|
52
52
|
/** @see CommitteeIndex */
|
|
53
53
|
export declare const SubcommitteeIndex: UintNumberType;
|
|
54
|
+
export declare const BuilderIndex: UintNumberType;
|
|
54
55
|
/**
|
|
55
56
|
* Use JS Number for performance, values must be limited to 2**52-1.
|
|
56
57
|
* ValidatorIndex is bounded by `VALIDATOR_REGISTRY_LIMIT`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/primitive/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAGlE,eAAO,MAAM,OAAO,aAAoB,CAAC;AACzC,eAAO,MAAM,IAAI,gBAAwB,CAAC;AAC1C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,KAAK,gBAAwB,CAAC;AAC3C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,gBAAwB,CAAC;AAC/C,eAAO,MAAM,YAAY,gBAA8C,CAAC;AACxE,eAAO,MAAM,QAAQ,gBAAwB,CAAC;AAC9C,eAAO,MAAM,SAAS,gBAAyB,CAAC;AAChD,eAAO,MAAM,SAAS,gBAAyB,CAAC;AAIhD;;;GAGG;AACH,eAAO,MAAM,IAAI,gBAAY,CAAC;AAC9B;;;GAGG;AACH,eAAO,MAAM,KAAK,gBAAY,CAAC;AAC/B,6GAA6G;AAC7G,eAAO,MAAM,QAAQ,gBAAe,CAAC;AACrC;;;GAGG;AACH,eAAO,MAAM,UAAU,gBAAY,CAAC;AACpC;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAY,CAAC;AACxC,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,gBAAY,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAY,CAAC;AACxC,eAAO,MAAM,eAAe,gBAAY,CAAC;AACzC,eAAO,MAAM,YAAY,gBAAW,CAAC;AACrC,eAAO,MAAM,IAAI,gBAAW,CAAC;AAC7B,eAAO,MAAM,GAAG,gBAAY,CAAC;AAC7B,eAAO,MAAM,IAAI,gBAAyB,CAAC;AAC3C,eAAO,MAAM,SAAS,gBAAY,CAAC;AAEnC,eAAO,MAAM,OAAO,gBAAS,CAAC;AAC9B,eAAO,MAAM,UAAU,gBAAS,CAAC;AACjC,eAAO,MAAM,UAAU,gBAAS,CAAC;AACjC,eAAO,MAAM,SAAS,gBAAU,CAAC;AACjC,eAAO,MAAM,YAAY,gBAAU,CAAC;AACpC,eAAO,MAAM,MAAM,gBAAU,CAAC;AAC9B,eAAO,MAAM,kBAAkB,gBAA8C,CAAC;AAC9E,eAAO,MAAM,gBAAgB,sBAA6B,CAAC;AAC3D,eAAO,MAAM,WAAW,gBAAY,CAAC;AACrC,eAAO,MAAM,YAAY,gBAAY,CAAC;AACtC,eAAO,MAAM,QAAQ,gBAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/primitive/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAGlE,eAAO,MAAM,OAAO,aAAoB,CAAC;AACzC,eAAO,MAAM,IAAI,gBAAwB,CAAC;AAC1C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,OAAO,gBAAyB,CAAC;AAC9C,eAAO,MAAM,KAAK,gBAAwB,CAAC;AAC3C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C,eAAO,MAAM,MAAM,gBAAwB,CAAC;AAC5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,gBAAwB,CAAC;AAC/C,eAAO,MAAM,YAAY,gBAA8C,CAAC;AACxE,eAAO,MAAM,QAAQ,gBAAwB,CAAC;AAC9C,eAAO,MAAM,SAAS,gBAAyB,CAAC;AAChD,eAAO,MAAM,SAAS,gBAAyB,CAAC;AAIhD;;;GAGG;AACH,eAAO,MAAM,IAAI,gBAAY,CAAC;AAC9B;;;GAGG;AACH,eAAO,MAAM,KAAK,gBAAY,CAAC;AAC/B,6GAA6G;AAC7G,eAAO,MAAM,QAAQ,gBAAe,CAAC;AACrC;;;GAGG;AACH,eAAO,MAAM,UAAU,gBAAY,CAAC;AACpC;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAY,CAAC;AACxC,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,gBAAY,CAAC;AAC3C,eAAO,MAAM,YAAY,gBAAe,CAAC;AACzC;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAY,CAAC;AACxC,eAAO,MAAM,eAAe,gBAAY,CAAC;AACzC,eAAO,MAAM,YAAY,gBAAW,CAAC;AACrC,eAAO,MAAM,IAAI,gBAAW,CAAC;AAC7B,eAAO,MAAM,GAAG,gBAAY,CAAC;AAC7B,eAAO,MAAM,IAAI,gBAAyB,CAAC;AAC3C,eAAO,MAAM,SAAS,gBAAY,CAAC;AAEnC,eAAO,MAAM,OAAO,gBAAS,CAAC;AAC9B,eAAO,MAAM,UAAU,gBAAS,CAAC;AACjC,eAAO,MAAM,UAAU,gBAAS,CAAC;AACjC,eAAO,MAAM,SAAS,gBAAU,CAAC;AACjC,eAAO,MAAM,YAAY,gBAAU,CAAC;AACpC,eAAO,MAAM,MAAM,gBAAU,CAAC;AAC9B,eAAO,MAAM,kBAAkB,gBAA8C,CAAC;AAC9E,eAAO,MAAM,gBAAgB,sBAA6B,CAAC;AAC3D,eAAO,MAAM,WAAW,gBAAY,CAAC;AACrC,eAAO,MAAM,YAAY,gBAAY,CAAC;AACtC,eAAO,MAAM,QAAQ,gBAAY,CAAC"}
|
|
@@ -53,6 +53,7 @@ export const SyncPeriod = UintNum64;
|
|
|
53
53
|
export const CommitteeIndex = UintNum64;
|
|
54
54
|
/** @see CommitteeIndex */
|
|
55
55
|
export const SubcommitteeIndex = UintNum64;
|
|
56
|
+
export const BuilderIndex = UintNumInf64; // Builder index can be infinity in bid when self-build
|
|
56
57
|
/**
|
|
57
58
|
* Use JS Number for performance, values must be limited to 2**52-1.
|
|
58
59
|
* ValidatorIndex is bounded by `VALIDATOR_REGISTRY_LIMIT`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/primitive/sszTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/primitive/sszTypes.ts"],"names":[],"mappings":"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"}
|
package/lib/primitive/types.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export type Epoch = UintNumInf64;
|
|
|
19
19
|
export type SyncPeriod = UintNum64;
|
|
20
20
|
export type CommitteeIndex = UintNum64;
|
|
21
21
|
export type SubcommitteeIndex = UintNum64;
|
|
22
|
+
export type BuilderIndex = UintNumInf64;
|
|
22
23
|
export type ValidatorIndex = UintNum64;
|
|
23
24
|
export type WithdrawalIndex = UintNum64;
|
|
24
25
|
export type BlobIndex = UintNum64;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/primitive/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAMrC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AAItD,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG,YAAY,CAAC;AACjC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAClC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC5B,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC;AAC5B,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;AAC3B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC;AAC7B,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAChC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AACnC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AACnC,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC,yDAAyD;AACzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC;AACpC,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/primitive/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAMrC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AAItD,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG,YAAY,CAAC;AACjC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AACvC,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC;AACxC,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAClC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC5B,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC;AAC5B,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;AAC3B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC;AAC7B,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAChC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AACnC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AACnC,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC,yDAAyD;AACzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC;AACpC,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC"}
|
package/lib/sszTypes.d.ts
CHANGED
|
@@ -12962,11 +12962,18 @@ declare const typesByFork: {
|
|
|
12962
12962
|
}>;
|
|
12963
12963
|
};
|
|
12964
12964
|
gloas: {
|
|
12965
|
+
Builder: ContainerType<{
|
|
12966
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
12967
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
12968
|
+
executionAddress: import("./index.ts").ExecutionAddressType;
|
|
12969
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
12970
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
12971
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
12972
|
+
}>;
|
|
12965
12973
|
BuilderPendingWithdrawal: ContainerType<{
|
|
12966
12974
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
12967
12975
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
12968
12976
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
12969
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
12970
12977
|
}>;
|
|
12971
12978
|
BuilderPendingPayment: ContainerType<{
|
|
12972
12979
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -12974,7 +12981,6 @@ declare const typesByFork: {
|
|
|
12974
12981
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
12975
12982
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
12976
12983
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
12977
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
12978
12984
|
}>;
|
|
12979
12985
|
}>;
|
|
12980
12986
|
PayloadAttestationData: ContainerType<{
|
|
@@ -13013,6 +13019,21 @@ declare const typesByFork: {
|
|
|
13013
13019
|
}>;
|
|
13014
13020
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
13015
13021
|
}>;
|
|
13022
|
+
ProposerPreferences: ContainerType<{
|
|
13023
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
13024
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13025
|
+
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
13026
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
13027
|
+
}>;
|
|
13028
|
+
SignedProposerPreferences: ContainerType<{
|
|
13029
|
+
message: ContainerType<{
|
|
13030
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
13031
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13032
|
+
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
13033
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
13034
|
+
}>;
|
|
13035
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
13036
|
+
}>;
|
|
13016
13037
|
ExecutionPayloadBid: ContainerType<{
|
|
13017
13038
|
parentBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
13018
13039
|
parentBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
@@ -13677,6 +13698,15 @@ declare const typesByFork: {
|
|
|
13677
13698
|
targetIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13678
13699
|
}>>;
|
|
13679
13700
|
proposerLookahead: import("@chainsafe/ssz").VectorBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
13701
|
+
builders: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
13702
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
13703
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
13704
|
+
executionAddress: import("./index.ts").ExecutionAddressType;
|
|
13705
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
13706
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
13707
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
13708
|
+
}>>;
|
|
13709
|
+
nextWithdrawalBuilderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13680
13710
|
executionPayloadAvailability: import("@chainsafe/ssz").BitVectorType;
|
|
13681
13711
|
builderPendingPayments: import("@chainsafe/ssz").VectorCompositeType<ContainerType<{
|
|
13682
13712
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -13684,17 +13714,20 @@ declare const typesByFork: {
|
|
|
13684
13714
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
13685
13715
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
13686
13716
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13687
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
13688
13717
|
}>;
|
|
13689
13718
|
}>>;
|
|
13690
13719
|
builderPendingWithdrawals: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
13691
13720
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
13692
13721
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
13693
13722
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13694
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
13695
13723
|
}>>;
|
|
13696
13724
|
latestBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
13697
|
-
|
|
13725
|
+
payloadExpectedWithdrawals: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
13726
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
13727
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
13728
|
+
address: import("./index.ts").ExecutionAddressType;
|
|
13729
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
13730
|
+
}>>;
|
|
13698
13731
|
}>;
|
|
13699
13732
|
DataColumnSidecar: ContainerType<{
|
|
13700
13733
|
index: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -28744,11 +28777,18 @@ export declare const fulu: {
|
|
|
28744
28777
|
}>;
|
|
28745
28778
|
};
|
|
28746
28779
|
export declare const gloas: {
|
|
28780
|
+
Builder: ContainerType<{
|
|
28781
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
28782
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
28783
|
+
executionAddress: import("./index.ts").ExecutionAddressType;
|
|
28784
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
28785
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
28786
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
28787
|
+
}>;
|
|
28747
28788
|
BuilderPendingWithdrawal: ContainerType<{
|
|
28748
28789
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
28749
28790
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
28750
28791
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
28751
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
28752
28792
|
}>;
|
|
28753
28793
|
BuilderPendingPayment: ContainerType<{
|
|
28754
28794
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -28756,7 +28796,6 @@ export declare const gloas: {
|
|
|
28756
28796
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
28757
28797
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
28758
28798
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
28759
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
28760
28799
|
}>;
|
|
28761
28800
|
}>;
|
|
28762
28801
|
PayloadAttestationData: ContainerType<{
|
|
@@ -28795,6 +28834,21 @@ export declare const gloas: {
|
|
|
28795
28834
|
}>;
|
|
28796
28835
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
28797
28836
|
}>;
|
|
28837
|
+
ProposerPreferences: ContainerType<{
|
|
28838
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
28839
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
28840
|
+
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
28841
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
28842
|
+
}>;
|
|
28843
|
+
SignedProposerPreferences: ContainerType<{
|
|
28844
|
+
message: ContainerType<{
|
|
28845
|
+
proposalSlot: import("@chainsafe/ssz").UintNumberType;
|
|
28846
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
28847
|
+
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
28848
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
28849
|
+
}>;
|
|
28850
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
28851
|
+
}>;
|
|
28798
28852
|
ExecutionPayloadBid: ContainerType<{
|
|
28799
28853
|
parentBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
28800
28854
|
parentBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
@@ -29459,6 +29513,15 @@ export declare const gloas: {
|
|
|
29459
29513
|
targetIndex: import("@chainsafe/ssz").UintNumberType;
|
|
29460
29514
|
}>>;
|
|
29461
29515
|
proposerLookahead: import("@chainsafe/ssz").VectorBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
29516
|
+
builders: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
29517
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
29518
|
+
version: import("@chainsafe/ssz").UintNumberType;
|
|
29519
|
+
executionAddress: import("./index.ts").ExecutionAddressType;
|
|
29520
|
+
balance: import("@chainsafe/ssz").UintNumberType;
|
|
29521
|
+
depositEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
29522
|
+
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
29523
|
+
}>>;
|
|
29524
|
+
nextWithdrawalBuilderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
29462
29525
|
executionPayloadAvailability: import("@chainsafe/ssz").BitVectorType;
|
|
29463
29526
|
builderPendingPayments: import("@chainsafe/ssz").VectorCompositeType<ContainerType<{
|
|
29464
29527
|
weight: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -29466,17 +29529,20 @@ export declare const gloas: {
|
|
|
29466
29529
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
29467
29530
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
29468
29531
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
29469
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
29470
29532
|
}>;
|
|
29471
29533
|
}>>;
|
|
29472
29534
|
builderPendingWithdrawals: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
29473
29535
|
feeRecipient: import("./index.ts").ExecutionAddressType;
|
|
29474
29536
|
amount: import("@chainsafe/ssz").UintNumberType;
|
|
29475
29537
|
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
29476
|
-
withdrawableEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
29477
29538
|
}>>;
|
|
29478
29539
|
latestBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
29479
|
-
|
|
29540
|
+
payloadExpectedWithdrawals: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
29541
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
29542
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
29543
|
+
address: import("./index.ts").ExecutionAddressType;
|
|
29544
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
29545
|
+
}>>;
|
|
29480
29546
|
}>;
|
|
29481
29547
|
DataColumnSidecar: ContainerType<{
|
|
29482
29548
|
index: import("@chainsafe/ssz").UintNumberType;
|
package/lib/sszTypes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAU1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AAEjD;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
|
|
1
|
+
{"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAU1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AAEjD;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.40.0-dev.
|
|
14
|
+
"version": "1.40.0-dev.1c71f4299a",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"types": "lib/index.d.ts",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@chainsafe/ssz": "^1.2.2",
|
|
80
|
-
"@lodestar/params": "^1.40.0-dev.
|
|
80
|
+
"@lodestar/params": "^1.40.0-dev.1c71f4299a",
|
|
81
81
|
"ethereum-cryptography": "^2.0.0"
|
|
82
82
|
},
|
|
83
83
|
"keywords": [
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"beacon",
|
|
87
87
|
"blockchain"
|
|
88
88
|
],
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "2e53e59d8a74209d99f9bc716e1628d7688c9fda"
|
|
90
90
|
}
|
package/src/gloas/sszTypes.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {BitVectorType, ContainerType, ListBasicType, ListCompositeType, VectorCompositeType} from "@chainsafe/ssz";
|
|
2
2
|
import {
|
|
3
3
|
BUILDER_PENDING_WITHDRAWALS_LIMIT,
|
|
4
|
+
BUILDER_REGISTRY_LIMIT,
|
|
4
5
|
HISTORICAL_ROOTS_LIMIT,
|
|
5
6
|
MAX_PAYLOAD_ATTESTATIONS,
|
|
6
7
|
NUMBER_OF_COLUMNS,
|
|
@@ -17,15 +18,42 @@ import {ssz as phase0Ssz} from "../phase0/index.js";
|
|
|
17
18
|
import {ssz as primitiveSsz} from "../primitive/index.js";
|
|
18
19
|
|
|
19
20
|
// biome-ignore lint/suspicious/noShadowRestrictedNames: We explicitly want `Boolean` name to be imported
|
|
20
|
-
const {
|
|
21
|
-
|
|
21
|
+
const {Boolean} = primitiveSsz;
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
Gwei,
|
|
25
|
+
ExecutionAddress,
|
|
26
|
+
ValidatorIndex,
|
|
27
|
+
Epoch,
|
|
28
|
+
BLSSignature,
|
|
29
|
+
Bytes32,
|
|
30
|
+
Root,
|
|
31
|
+
Slot,
|
|
32
|
+
UintBn64,
|
|
33
|
+
UintNum64,
|
|
34
|
+
BLSPubkey,
|
|
35
|
+
Uint8,
|
|
36
|
+
BuilderIndex,
|
|
37
|
+
EpochInf,
|
|
38
|
+
} = primitiveSsz;
|
|
39
|
+
|
|
40
|
+
export const Builder = new ContainerType(
|
|
41
|
+
{
|
|
42
|
+
pubkey: BLSPubkey,
|
|
43
|
+
version: Uint8,
|
|
44
|
+
executionAddress: ExecutionAddress,
|
|
45
|
+
balance: UintNum64,
|
|
46
|
+
depositEpoch: EpochInf,
|
|
47
|
+
withdrawableEpoch: EpochInf,
|
|
48
|
+
},
|
|
49
|
+
{typeName: "Builder", jsonCase: "eth2"}
|
|
50
|
+
);
|
|
22
51
|
|
|
23
52
|
export const BuilderPendingWithdrawal = new ContainerType(
|
|
24
53
|
{
|
|
25
54
|
feeRecipient: ExecutionAddress,
|
|
26
55
|
amount: UintNum64,
|
|
27
|
-
builderIndex:
|
|
28
|
-
withdrawableEpoch: Epoch,
|
|
56
|
+
builderIndex: BuilderIndex,
|
|
29
57
|
},
|
|
30
58
|
{typeName: "BuilderPendingWithdrawal", jsonCase: "eth2"}
|
|
31
59
|
);
|
|
@@ -75,6 +103,24 @@ export const IndexedPayloadAttestation = new ContainerType(
|
|
|
75
103
|
{typeName: "IndexedPayloadAttestation", jsonCase: "eth2"}
|
|
76
104
|
);
|
|
77
105
|
|
|
106
|
+
export const ProposerPreferences = new ContainerType(
|
|
107
|
+
{
|
|
108
|
+
proposalSlot: Slot,
|
|
109
|
+
validatorIndex: ValidatorIndex,
|
|
110
|
+
feeRecipient: ExecutionAddress,
|
|
111
|
+
gasLimit: UintNum64,
|
|
112
|
+
},
|
|
113
|
+
{typeName: "ProposerPreferences", jsonCase: "eth2"}
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
export const SignedProposerPreferences = new ContainerType(
|
|
117
|
+
{
|
|
118
|
+
message: ProposerPreferences,
|
|
119
|
+
signature: BLSSignature,
|
|
120
|
+
},
|
|
121
|
+
{typeName: "SignedProposerPreferences", jsonCase: "eth2"}
|
|
122
|
+
);
|
|
123
|
+
|
|
78
124
|
export const ExecutionPayloadBid = new ContainerType(
|
|
79
125
|
{
|
|
80
126
|
parentBlockHash: Bytes32,
|
|
@@ -83,7 +129,7 @@ export const ExecutionPayloadBid = new ContainerType(
|
|
|
83
129
|
prevRandao: Bytes32,
|
|
84
130
|
feeRecipient: ExecutionAddress,
|
|
85
131
|
gasLimit: UintBn64,
|
|
86
|
-
builderIndex:
|
|
132
|
+
builderIndex: BuilderIndex,
|
|
87
133
|
slot: Slot,
|
|
88
134
|
value: UintNum64,
|
|
89
135
|
executionPayment: UintNum64,
|
|
@@ -104,7 +150,7 @@ export const ExecutionPayloadEnvelope = new ContainerType(
|
|
|
104
150
|
{
|
|
105
151
|
payload: electraSsz.ExecutionPayload,
|
|
106
152
|
executionRequests: electraSsz.ExecutionRequests,
|
|
107
|
-
builderIndex:
|
|
153
|
+
builderIndex: BuilderIndex,
|
|
108
154
|
beaconBlockRoot: Root,
|
|
109
155
|
slot: Slot,
|
|
110
156
|
blobKzgCommitments: denebSsz.BlobKzgCommitments,
|
|
@@ -211,11 +257,13 @@ export const BeaconState = new ContainerType(
|
|
|
211
257
|
pendingPartialWithdrawals: electraSsz.BeaconState.fields.pendingPartialWithdrawals,
|
|
212
258
|
pendingConsolidations: electraSsz.BeaconState.fields.pendingConsolidations,
|
|
213
259
|
proposerLookahead: fuluSsz.BeaconState.fields.proposerLookahead,
|
|
260
|
+
builders: new ListCompositeType(Builder, BUILDER_REGISTRY_LIMIT), // New in GLOAS:EIP7732
|
|
261
|
+
nextWithdrawalBuilderIndex: BuilderIndex, // New in GLOAS:EIP7732
|
|
214
262
|
executionPayloadAvailability: new BitVectorType(SLOTS_PER_HISTORICAL_ROOT), // New in GLOAS:EIP7732
|
|
215
263
|
builderPendingPayments: new VectorCompositeType(BuilderPendingPayment, 2 * SLOTS_PER_EPOCH), // New in GLOAS:EIP7732
|
|
216
264
|
builderPendingWithdrawals: new ListCompositeType(BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT), // New in GLOAS:EIP7732
|
|
217
265
|
latestBlockHash: Bytes32, // New in GLOAS:EIP7732
|
|
218
|
-
|
|
266
|
+
payloadExpectedWithdrawals: capellaSsz.Withdrawals, // New in GLOAS:EIP7732
|
|
219
267
|
},
|
|
220
268
|
{typeName: "BeaconState", jsonCase: "eth2"}
|
|
221
269
|
);
|
package/src/gloas/types.ts
CHANGED
|
@@ -7,6 +7,8 @@ export type PayloadAttestationData = ValueOf<typeof ssz.PayloadAttestationData>;
|
|
|
7
7
|
export type PayloadAttestation = ValueOf<typeof ssz.PayloadAttestation>;
|
|
8
8
|
export type PayloadAttestationMessage = ValueOf<typeof ssz.PayloadAttestationMessage>;
|
|
9
9
|
export type IndexedPayloadAttestation = ValueOf<typeof ssz.IndexedPayloadAttestation>;
|
|
10
|
+
export type ProposerPreferences = ValueOf<typeof ssz.ProposerPreferences>;
|
|
11
|
+
export type SignedProposerPreferences = ValueOf<typeof ssz.SignedProposerPreferences>;
|
|
10
12
|
export type ExecutionPayloadBid = ValueOf<typeof ssz.ExecutionPayloadBid>;
|
|
11
13
|
export type SignedExecutionPayloadBid = ValueOf<typeof ssz.SignedExecutionPayloadBid>;
|
|
12
14
|
export type ExecutionPayloadEnvelope = ValueOf<typeof ssz.ExecutionPayloadEnvelope>;
|
|
@@ -56,6 +56,7 @@ export const SyncPeriod = UintNum64;
|
|
|
56
56
|
export const CommitteeIndex = UintNum64;
|
|
57
57
|
/** @see CommitteeIndex */
|
|
58
58
|
export const SubcommitteeIndex = UintNum64;
|
|
59
|
+
export const BuilderIndex = UintNumInf64; // Builder index can be infinity in bid when self-build
|
|
59
60
|
/**
|
|
60
61
|
* Use JS Number for performance, values must be limited to 2**52-1.
|
|
61
62
|
* ValidatorIndex is bounded by `VALIDATOR_REGISTRY_LIMIT`
|
package/src/primitive/types.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type Epoch = UintNumInf64;
|
|
|
27
27
|
export type SyncPeriod = UintNum64;
|
|
28
28
|
export type CommitteeIndex = UintNum64;
|
|
29
29
|
export type SubcommitteeIndex = UintNum64;
|
|
30
|
+
export type BuilderIndex = UintNumInf64;
|
|
30
31
|
export type ValidatorIndex = UintNum64;
|
|
31
32
|
export type WithdrawalIndex = UintNum64;
|
|
32
33
|
export type BlobIndex = UintNum64;
|