@lodestar/types 1.50.0 → 1.51.0-dev.7d2ef8139c

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.
@@ -58,6 +58,9 @@ export type BeaconBlockBody = ValueOf<typeof ssz.BeaconBlockBody>;
58
58
  export type BeaconBlock = ValueOf<typeof ssz.BeaconBlock>;
59
59
  export type SignedBeaconBlock = ValueOf<typeof ssz.SignedBeaconBlock>;
60
60
  export type BlockContents = ValueOf<typeof ssz.BlockContents>;
61
+ export type SignedBlockContents = {
62
+ signedBlock: SignedBeaconBlock;
63
+ };
61
64
  export type LightClientHeader = ValueOf<typeof ssz.LightClientHeader>;
62
65
  export type LightClientBootstrap = ValueOf<typeof ssz.LightClientBootstrap>;
63
66
  export type LightClientUpdate = ValueOf<typeof ssz.LightClientUpdate>;
@@ -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,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAClE,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;AACxE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,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,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,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,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACxF,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACtG,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChG,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,gCAAgC,CAAC,CAAC;AACpG,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,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,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,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACpF,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,eAAe,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AAClE,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,sCAAsC,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAChH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChG,MAAM,MAAM,oCAAoC,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAC5G,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,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC1F,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,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;AAExE,MAAM,MAAM,uCAAuC,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAClH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gloas/types.ts"],"names":[],"mappings":"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"}
@@ -87,17 +87,6 @@ export declare const BeaconState: ProgressiveContainerType<{
87
87
  blockRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
88
88
  stateRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
89
89
  historicalRoots: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
90
- eth1Data: ContainerType<{
91
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
92
- depositCount: import("@chainsafe/ssz").UintBigintType;
93
- blockHash: import("@chainsafe/ssz").ByteVectorType;
94
- }>;
95
- eth1DataVotes: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
96
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
97
- depositCount: import("@chainsafe/ssz").UintBigintType;
98
- blockHash: import("@chainsafe/ssz").ByteVectorType;
99
- }>>;
100
- eth1DepositIndex: import("@chainsafe/ssz").UintNumberType;
101
90
  validators: import("@chainsafe/ssz").ProgressiveListCompositeType<import("../phase0/validator.ts").ValidatorNodeStructType>;
102
91
  balances: import("@chainsafe/ssz").ProgressiveListBasicType<import("@chainsafe/ssz").UintNumberType>;
103
92
  randaoMixes: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
@@ -133,7 +122,6 @@ export declare const BeaconState: ProgressiveContainerType<{
133
122
  blockSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
134
123
  stateSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
135
124
  }>>;
136
- depositRequestsStartIndex: import("@chainsafe/ssz").UintBigintType;
137
125
  depositBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
138
126
  exitBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
139
127
  earliestExitEpoch: import("@chainsafe/ssz").UintNumberType;
@@ -205,11 +193,6 @@ export declare const BeaconState: ProgressiveContainerType<{
205
193
  }>;
206
194
  export declare const BeaconBlockBody: ProgressiveContainerType<{
207
195
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
208
- eth1Data: ContainerType<{
209
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
210
- depositCount: import("@chainsafe/ssz").UintBigintType;
211
- blockHash: import("@chainsafe/ssz").ByteVectorType;
212
- }>;
213
196
  graffiti: import("@chainsafe/ssz").ByteVectorType;
214
197
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
215
198
  signedHeader1: ContainerType<{
@@ -287,15 +270,6 @@ export declare const BeaconBlockBody: ProgressiveContainerType<{
287
270
  signature: import("@chainsafe/ssz").ByteVectorType;
288
271
  committeeBits: BitVectorType;
289
272
  }>>;
290
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
291
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
292
- data: ContainerType<{
293
- pubkey: import("@chainsafe/ssz").ByteVectorType;
294
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
295
- amount: import("@chainsafe/ssz").UintNumberType;
296
- signature: import("@chainsafe/ssz").ByteVectorType;
297
- }>;
298
- }>>;
299
273
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
300
274
  message: ContainerType<{
301
275
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -380,11 +354,6 @@ export declare const BeaconBlock: ContainerType<{
380
354
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
381
355
  body: ProgressiveContainerType<{
382
356
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
383
- eth1Data: ContainerType<{
384
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
385
- depositCount: import("@chainsafe/ssz").UintBigintType;
386
- blockHash: import("@chainsafe/ssz").ByteVectorType;
387
- }>;
388
357
  graffiti: import("@chainsafe/ssz").ByteVectorType;
389
358
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
390
359
  signedHeader1: ContainerType<{
@@ -462,15 +431,6 @@ export declare const BeaconBlock: ContainerType<{
462
431
  signature: import("@chainsafe/ssz").ByteVectorType;
463
432
  committeeBits: BitVectorType;
464
433
  }>>;
465
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
466
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
467
- data: ContainerType<{
468
- pubkey: import("@chainsafe/ssz").ByteVectorType;
469
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
470
- amount: import("@chainsafe/ssz").UintNumberType;
471
- signature: import("@chainsafe/ssz").ByteVectorType;
472
- }>;
473
- }>>;
474
434
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
475
435
  message: ContainerType<{
476
436
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -557,11 +517,6 @@ export declare const SignedBeaconBlock: ContainerType<{
557
517
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
558
518
  body: ProgressiveContainerType<{
559
519
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
560
- eth1Data: ContainerType<{
561
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
562
- depositCount: import("@chainsafe/ssz").UintBigintType;
563
- blockHash: import("@chainsafe/ssz").ByteVectorType;
564
- }>;
565
520
  graffiti: import("@chainsafe/ssz").ByteVectorType;
566
521
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
567
522
  signedHeader1: ContainerType<{
@@ -639,15 +594,6 @@ export declare const SignedBeaconBlock: ContainerType<{
639
594
  signature: import("@chainsafe/ssz").ByteVectorType;
640
595
  committeeBits: BitVectorType;
641
596
  }>>;
642
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
643
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
644
- data: ContainerType<{
645
- pubkey: import("@chainsafe/ssz").ByteVectorType;
646
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
647
- amount: import("@chainsafe/ssz").UintNumberType;
648
- signature: import("@chainsafe/ssz").ByteVectorType;
649
- }>;
650
- }>>;
651
597
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
652
598
  message: ContainerType<{
653
599
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -798,11 +744,6 @@ export declare const BlockContents: ContainerType<{
798
744
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
799
745
  body: ProgressiveContainerType<{
800
746
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
801
- eth1Data: ContainerType<{
802
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
803
- depositCount: import("@chainsafe/ssz").UintBigintType;
804
- blockHash: import("@chainsafe/ssz").ByteVectorType;
805
- }>;
806
747
  graffiti: import("@chainsafe/ssz").ByteVectorType;
807
748
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
808
749
  signedHeader1: ContainerType<{
@@ -880,15 +821,6 @@ export declare const BlockContents: ContainerType<{
880
821
  signature: import("@chainsafe/ssz").ByteVectorType;
881
822
  committeeBits: BitVectorType;
882
823
  }>>;
883
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
884
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
885
- data: ContainerType<{
886
- pubkey: import("@chainsafe/ssz").ByteVectorType;
887
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
888
- amount: import("@chainsafe/ssz").UintNumberType;
889
- signature: import("@chainsafe/ssz").ByteVectorType;
890
- }>;
891
- }>>;
892
824
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
893
825
  message: ContainerType<{
894
826
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/heze/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAWvG,eAAO,MAAM,sBAAsB,0DAAqE,CAAC;AAEzG,eAAO,MAAM,iBAAiB,eAAmD,CAAC;AAElF,eAAO,MAAM,aAAa;;;;;EAQzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;EAM/B,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;EAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;EAO/B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;EAMrC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;EAA6B,CAAC;AAC5D,eAAO,MAAM,kBAAkB;;;;;;GAA8B,CAAC;AAE9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;EAM7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAMhC,CAAC"}
1
+ {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../../src/heze/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAWvG,eAAO,MAAM,sBAAsB,0DAAqE,CAAC;AAEzG,eAAO,MAAM,iBAAiB,eAAmD,CAAC;AAElF,eAAO,MAAM,aAAa;;;;;EAQzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;EAM/B,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;EAO1C,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;EAO/B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;EAMrC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;EAA6B,CAAC;AAC5D,eAAO,MAAM,kBAAkB;;;;;;GAA8B,CAAC;AAU9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAIF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;EAM7B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAMhC,CAAC"}
@@ -3,8 +3,8 @@ import { INCLUSION_LIST_COMMITTEE_SIZE } from "@lodestar/params";
3
3
  import { ssz as gloasSsz } from "../gloas/index.js";
4
4
  import { ssz as primitiveSsz } from "../primitive/index.js";
5
5
  const { Slot, Root, BLSSignature, ValidatorIndex } = primitiveSsz;
6
- function activeFields(count) {
7
- return Array.from({ length: count }, () => true);
6
+ function activeFields(count, gaps = []) {
7
+ return Array.from({ length: count }, (_, index) => !gaps.includes(index));
8
8
  }
9
9
  export const InclusionListCommittee = new VectorBasicType(ValidatorIndex, INCLUSION_LIST_COMMITTEE_SIZE);
10
10
  export const InclusionListBits = new BitVectorType(INCLUSION_LIST_COMMITTEE_SIZE);
@@ -33,14 +33,20 @@ export const SignedExecutionPayloadBid = new ContainerType({
33
33
  }, { typeName: "SignedExecutionPayloadBid", jsonCase: "eth2" });
34
34
  export const DataColumnSidecar = gloasSsz.DataColumnSidecar;
35
35
  export const DataColumnSidecars = gloasSsz.DataColumnSidecars;
36
+ const { eth1Data: _eth1Data, eth1DataVotes: _eth1DataVotes, eth1DepositIndex: _eth1DepositIndex, depositRequestsStartIndex: _depositRequestsStartIndex, ...gloasBeaconStateFields } = gloasSsz.BeaconState.fields;
36
37
  export const BeaconState = new ProgressiveContainerType({
37
- ...gloasSsz.BeaconState.fields,
38
+ ...gloasBeaconStateFields,
38
39
  latestExecutionPayloadBid: ExecutionPayloadBid, // [Modified in Heze:EIP7805]
39
- }, activeFields(46), { typeName: "BeaconState", jsonCase: "eth2" });
40
+ },
41
+ // [Modified in Heze:EIP8015] gaps keep the surviving generalized indices stable
42
+ activeFields(46, [8, 9, 10, 28]), { typeName: "BeaconState", jsonCase: "eth2" });
43
+ const { eth1Data: _bodyEth1Data, deposits: _deposits, ...gloasBeaconBlockBodyFields } = gloasSsz.BeaconBlockBody.fields;
40
44
  export const BeaconBlockBody = new ProgressiveContainerType({
41
- ...gloasSsz.BeaconBlockBody.fields,
45
+ ...gloasBeaconBlockBodyFields,
42
46
  signedExecutionPayloadBid: SignedExecutionPayloadBid, // [Modified in Heze:EIP7805]
43
- }, activeFields(13), { typeName: "BeaconBlockBody", jsonCase: "eth2", cachePermanentRootStruct: true });
47
+ },
48
+ // [Modified in Heze:EIP8015] gaps keep the surviving generalized indices stable
49
+ activeFields(13, [1, 6]), { typeName: "BeaconBlockBody", jsonCase: "eth2", cachePermanentRootStruct: true });
44
50
  export const BeaconBlock = new ContainerType({
45
51
  ...gloasSsz.BeaconBlock.fields,
46
52
  body: BeaconBlockBody,
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/heze/sszTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../../src/heze/sszTypes.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,8 @@ export type BeaconBlockBody = ValueOf<typeof ssz.BeaconBlockBody>;
11
11
  export type BeaconBlock = ValueOf<typeof ssz.BeaconBlock>;
12
12
  export type SignedBeaconBlock = ValueOf<typeof ssz.SignedBeaconBlock>;
13
13
  export type BlockContents = ValueOf<typeof ssz.BlockContents>;
14
+ export type SignedBlockContents = {
15
+ signedBlock: SignedBeaconBlock;
16
+ };
14
17
  export type SSEPayloadAttributes = ValueOf<typeof ssz.SSEPayloadAttributes>;
15
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/heze/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAEhG,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;AAEtF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,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,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/heze/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAEhG,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;AAEtF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1D,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,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAC,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
package/lib/sszTypes.d.ts CHANGED
@@ -18873,17 +18873,6 @@ declare const typesByFork: {
18873
18873
  blockRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
18874
18874
  stateRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
18875
18875
  historicalRoots: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
18876
- eth1Data: ContainerType<{
18877
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
18878
- depositCount: import("@chainsafe/ssz").UintBigintType;
18879
- blockHash: import("@chainsafe/ssz").ByteVectorType;
18880
- }>;
18881
- eth1DataVotes: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
18882
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
18883
- depositCount: import("@chainsafe/ssz").UintBigintType;
18884
- blockHash: import("@chainsafe/ssz").ByteVectorType;
18885
- }>>;
18886
- eth1DepositIndex: import("@chainsafe/ssz").UintNumberType;
18887
18876
  validators: import("@chainsafe/ssz").ProgressiveListCompositeType<import("./phase0/validator.ts").ValidatorNodeStructType>;
18888
18877
  balances: import("@chainsafe/ssz").ProgressiveListBasicType<import("@chainsafe/ssz").UintNumberType>;
18889
18878
  randaoMixes: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
@@ -18919,7 +18908,6 @@ declare const typesByFork: {
18919
18908
  blockSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
18920
18909
  stateSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
18921
18910
  }>>;
18922
- depositRequestsStartIndex: import("@chainsafe/ssz").UintBigintType;
18923
18911
  depositBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
18924
18912
  exitBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
18925
18913
  earliestExitEpoch: import("@chainsafe/ssz").UintNumberType;
@@ -18991,11 +18979,6 @@ declare const typesByFork: {
18991
18979
  }>;
18992
18980
  BeaconBlockBody: import("@chainsafe/ssz").ProgressiveContainerType<{
18993
18981
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
18994
- eth1Data: ContainerType<{
18995
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
18996
- depositCount: import("@chainsafe/ssz").UintBigintType;
18997
- blockHash: import("@chainsafe/ssz").ByteVectorType;
18998
- }>;
18999
18982
  graffiti: import("@chainsafe/ssz").ByteVectorType;
19000
18983
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19001
18984
  signedHeader1: ContainerType<{
@@ -19073,15 +19056,6 @@ declare const typesByFork: {
19073
19056
  signature: import("@chainsafe/ssz").ByteVectorType;
19074
19057
  committeeBits: import("@chainsafe/ssz").BitVectorType;
19075
19058
  }>>;
19076
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19077
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
19078
- data: ContainerType<{
19079
- pubkey: import("@chainsafe/ssz").ByteVectorType;
19080
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
19081
- amount: import("@chainsafe/ssz").UintNumberType;
19082
- signature: import("@chainsafe/ssz").ByteVectorType;
19083
- }>;
19084
- }>>;
19085
19059
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19086
19060
  message: ContainerType<{
19087
19061
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -19166,11 +19140,6 @@ declare const typesByFork: {
19166
19140
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
19167
19141
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
19168
19142
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
19169
- eth1Data: ContainerType<{
19170
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
19171
- depositCount: import("@chainsafe/ssz").UintBigintType;
19172
- blockHash: import("@chainsafe/ssz").ByteVectorType;
19173
- }>;
19174
19143
  graffiti: import("@chainsafe/ssz").ByteVectorType;
19175
19144
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19176
19145
  signedHeader1: ContainerType<{
@@ -19248,15 +19217,6 @@ declare const typesByFork: {
19248
19217
  signature: import("@chainsafe/ssz").ByteVectorType;
19249
19218
  committeeBits: import("@chainsafe/ssz").BitVectorType;
19250
19219
  }>>;
19251
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19252
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
19253
- data: ContainerType<{
19254
- pubkey: import("@chainsafe/ssz").ByteVectorType;
19255
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
19256
- amount: import("@chainsafe/ssz").UintNumberType;
19257
- signature: import("@chainsafe/ssz").ByteVectorType;
19258
- }>;
19259
- }>>;
19260
19220
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19261
19221
  message: ContainerType<{
19262
19222
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -19343,11 +19303,6 @@ declare const typesByFork: {
19343
19303
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
19344
19304
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
19345
19305
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
19346
- eth1Data: ContainerType<{
19347
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
19348
- depositCount: import("@chainsafe/ssz").UintBigintType;
19349
- blockHash: import("@chainsafe/ssz").ByteVectorType;
19350
- }>;
19351
19306
  graffiti: import("@chainsafe/ssz").ByteVectorType;
19352
19307
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19353
19308
  signedHeader1: ContainerType<{
@@ -19425,15 +19380,6 @@ declare const typesByFork: {
19425
19380
  signature: import("@chainsafe/ssz").ByteVectorType;
19426
19381
  committeeBits: import("@chainsafe/ssz").BitVectorType;
19427
19382
  }>>;
19428
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19429
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
19430
- data: ContainerType<{
19431
- pubkey: import("@chainsafe/ssz").ByteVectorType;
19432
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
19433
- amount: import("@chainsafe/ssz").UintNumberType;
19434
- signature: import("@chainsafe/ssz").ByteVectorType;
19435
- }>;
19436
- }>>;
19437
19383
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19438
19384
  message: ContainerType<{
19439
19385
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -19584,11 +19530,6 @@ declare const typesByFork: {
19584
19530
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
19585
19531
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
19586
19532
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
19587
- eth1Data: ContainerType<{
19588
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
19589
- depositCount: import("@chainsafe/ssz").UintBigintType;
19590
- blockHash: import("@chainsafe/ssz").ByteVectorType;
19591
- }>;
19592
19533
  graffiti: import("@chainsafe/ssz").ByteVectorType;
19593
19534
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19594
19535
  signedHeader1: ContainerType<{
@@ -19666,15 +19607,6 @@ declare const typesByFork: {
19666
19607
  signature: import("@chainsafe/ssz").ByteVectorType;
19667
19608
  committeeBits: import("@chainsafe/ssz").BitVectorType;
19668
19609
  }>>;
19669
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19670
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
19671
- data: ContainerType<{
19672
- pubkey: import("@chainsafe/ssz").ByteVectorType;
19673
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
19674
- amount: import("@chainsafe/ssz").UintNumberType;
19675
- signature: import("@chainsafe/ssz").ByteVectorType;
19676
- }>;
19677
- }>>;
19678
19610
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
19679
19611
  message: ContainerType<{
19680
19612
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -38661,17 +38593,6 @@ export declare const heze: {
38661
38593
  blockRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
38662
38594
  stateRoots: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
38663
38595
  historicalRoots: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
38664
- eth1Data: ContainerType<{
38665
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
38666
- depositCount: import("@chainsafe/ssz").UintBigintType;
38667
- blockHash: import("@chainsafe/ssz").ByteVectorType;
38668
- }>;
38669
- eth1DataVotes: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
38670
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
38671
- depositCount: import("@chainsafe/ssz").UintBigintType;
38672
- blockHash: import("@chainsafe/ssz").ByteVectorType;
38673
- }>>;
38674
- eth1DepositIndex: import("@chainsafe/ssz").UintNumberType;
38675
38596
  validators: import("@chainsafe/ssz").ProgressiveListCompositeType<import("./phase0/validator.ts").ValidatorNodeStructType>;
38676
38597
  balances: import("@chainsafe/ssz").ProgressiveListBasicType<import("@chainsafe/ssz").UintNumberType>;
38677
38598
  randaoMixes: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
@@ -38707,7 +38628,6 @@ export declare const heze: {
38707
38628
  blockSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
38708
38629
  stateSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
38709
38630
  }>>;
38710
- depositRequestsStartIndex: import("@chainsafe/ssz").UintBigintType;
38711
38631
  depositBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
38712
38632
  exitBalanceToConsume: import("@chainsafe/ssz").UintBigintType;
38713
38633
  earliestExitEpoch: import("@chainsafe/ssz").UintNumberType;
@@ -38779,11 +38699,6 @@ export declare const heze: {
38779
38699
  }>;
38780
38700
  BeaconBlockBody: import("@chainsafe/ssz").ProgressiveContainerType<{
38781
38701
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
38782
- eth1Data: ContainerType<{
38783
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
38784
- depositCount: import("@chainsafe/ssz").UintBigintType;
38785
- blockHash: import("@chainsafe/ssz").ByteVectorType;
38786
- }>;
38787
38702
  graffiti: import("@chainsafe/ssz").ByteVectorType;
38788
38703
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
38789
38704
  signedHeader1: ContainerType<{
@@ -38861,15 +38776,6 @@ export declare const heze: {
38861
38776
  signature: import("@chainsafe/ssz").ByteVectorType;
38862
38777
  committeeBits: import("@chainsafe/ssz").BitVectorType;
38863
38778
  }>>;
38864
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
38865
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
38866
- data: ContainerType<{
38867
- pubkey: import("@chainsafe/ssz").ByteVectorType;
38868
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
38869
- amount: import("@chainsafe/ssz").UintNumberType;
38870
- signature: import("@chainsafe/ssz").ByteVectorType;
38871
- }>;
38872
- }>>;
38873
38779
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
38874
38780
  message: ContainerType<{
38875
38781
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -38954,11 +38860,6 @@ export declare const heze: {
38954
38860
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
38955
38861
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
38956
38862
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
38957
- eth1Data: ContainerType<{
38958
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
38959
- depositCount: import("@chainsafe/ssz").UintBigintType;
38960
- blockHash: import("@chainsafe/ssz").ByteVectorType;
38961
- }>;
38962
38863
  graffiti: import("@chainsafe/ssz").ByteVectorType;
38963
38864
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
38964
38865
  signedHeader1: ContainerType<{
@@ -39036,15 +38937,6 @@ export declare const heze: {
39036
38937
  signature: import("@chainsafe/ssz").ByteVectorType;
39037
38938
  committeeBits: import("@chainsafe/ssz").BitVectorType;
39038
38939
  }>>;
39039
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39040
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
39041
- data: ContainerType<{
39042
- pubkey: import("@chainsafe/ssz").ByteVectorType;
39043
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
39044
- amount: import("@chainsafe/ssz").UintNumberType;
39045
- signature: import("@chainsafe/ssz").ByteVectorType;
39046
- }>;
39047
- }>>;
39048
38940
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39049
38941
  message: ContainerType<{
39050
38942
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -39131,11 +39023,6 @@ export declare const heze: {
39131
39023
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
39132
39024
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
39133
39025
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
39134
- eth1Data: ContainerType<{
39135
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
39136
- depositCount: import("@chainsafe/ssz").UintBigintType;
39137
- blockHash: import("@chainsafe/ssz").ByteVectorType;
39138
- }>;
39139
39026
  graffiti: import("@chainsafe/ssz").ByteVectorType;
39140
39027
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39141
39028
  signedHeader1: ContainerType<{
@@ -39213,15 +39100,6 @@ export declare const heze: {
39213
39100
  signature: import("@chainsafe/ssz").ByteVectorType;
39214
39101
  committeeBits: import("@chainsafe/ssz").BitVectorType;
39215
39102
  }>>;
39216
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39217
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
39218
- data: ContainerType<{
39219
- pubkey: import("@chainsafe/ssz").ByteVectorType;
39220
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
39221
- amount: import("@chainsafe/ssz").UintNumberType;
39222
- signature: import("@chainsafe/ssz").ByteVectorType;
39223
- }>;
39224
- }>>;
39225
39103
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39226
39104
  message: ContainerType<{
39227
39105
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -39372,11 +39250,6 @@ export declare const heze: {
39372
39250
  stateRoot: import("@chainsafe/ssz").ByteVectorType;
39373
39251
  body: import("@chainsafe/ssz").ProgressiveContainerType<{
39374
39252
  randaoReveal: import("@chainsafe/ssz").ByteVectorType;
39375
- eth1Data: ContainerType<{
39376
- depositRoot: import("@chainsafe/ssz").ByteVectorType;
39377
- depositCount: import("@chainsafe/ssz").UintBigintType;
39378
- blockHash: import("@chainsafe/ssz").ByteVectorType;
39379
- }>;
39380
39253
  graffiti: import("@chainsafe/ssz").ByteVectorType;
39381
39254
  proposerSlashings: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39382
39255
  signedHeader1: ContainerType<{
@@ -39454,15 +39327,6 @@ export declare const heze: {
39454
39327
  signature: import("@chainsafe/ssz").ByteVectorType;
39455
39328
  committeeBits: import("@chainsafe/ssz").BitVectorType;
39456
39329
  }>>;
39457
- deposits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39458
- proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
39459
- data: ContainerType<{
39460
- pubkey: import("@chainsafe/ssz").ByteVectorType;
39461
- withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
39462
- amount: import("@chainsafe/ssz").UintNumberType;
39463
- signature: import("@chainsafe/ssz").ByteVectorType;
39464
- }>;
39465
- }>>;
39466
39330
  voluntaryExits: import("@chainsafe/ssz").ProgressiveListCompositeType<ContainerType<{
39467
39331
  message: ContainerType<{
39468
39332
  epoch: import("@chainsafe/ssz").UintNumberType;
@@ -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;AAW1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,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;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAE/C;;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;AAW1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,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;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAE/C;;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/lib/types.d.ts CHANGED
@@ -326,7 +326,7 @@ type TypesByFork = {
326
326
  SignedBuilderBid: electra.SignedBuilderBid;
327
327
  SSEPayloadAttributes: gloas.SSEPayloadAttributes;
328
328
  BlockContents: gloas.BlockContents;
329
- SignedBlockContents: fulu.SignedBlockContents;
329
+ SignedBlockContents: gloas.SignedBlockContents;
330
330
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
331
331
  BlobsBundle: fulu.BlobsBundle;
332
332
  SyncCommittee: altair.SyncCommittee;
@@ -368,7 +368,7 @@ type TypesByFork = {
368
368
  SignedBuilderBid: electra.SignedBuilderBid;
369
369
  SSEPayloadAttributes: heze.SSEPayloadAttributes;
370
370
  BlockContents: heze.BlockContents;
371
- SignedBlockContents: fulu.SignedBlockContents;
371
+ SignedBlockContents: heze.SignedBlockContents;
372
372
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
373
373
  BlobsBundle: fulu.BlobsBundle;
374
374
  SyncCommittee: altair.SyncCommittee;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ForkPostBellatrix, ForkPostDeneb, ForkPostElectra, ForkPostGloas } from "@lodestar/params";
1
+ import { ForkPostBellatrix, ForkPostDeneb, ForkPostElectra, ForkPostGloas, ForkPreGloas } from "@lodestar/params";
2
2
  import { SignedExecutionPayloadEnvelope, SignedExecutionPayloadEnvelopeContents } from "../gloas/types.js";
3
3
  import { Attestation, BeaconBlock, BeaconBlockBody, BlindedBeaconBlock, BlindedBeaconBlockBody, BlockContents, DataColumnSidecar, ExecutionPayload, ExecutionPayloadAndBlobsBundle, ExecutionPayloadHeader, LightClientFinalityUpdate, LightClientUpdate, SignedBeaconBlock, SignedBlindedBeaconBlock, SignedBlockContents, SingleAttestation } from "../types.js";
4
4
  export declare function isExecutionPayload<F extends ForkPostBellatrix>(payload: ExecutionPayload<F> | ExecutionPayloadHeader<F>): payload is ExecutionPayload<F>;
@@ -8,7 +8,7 @@ export declare function isBlindedBeaconBlock<F extends ForkPostBellatrix>(block:
8
8
  export declare function isBlindedSignedBeaconBlock<F extends ForkPostBellatrix>(signedBlock: SignedBeaconBlock | SignedBlockContents): signedBlock is SignedBlindedBeaconBlock<F>;
9
9
  export declare function isBlindedBeaconBlockBody<F extends ForkPostBellatrix>(body: BeaconBlockBody | BlindedBeaconBlockBody): body is BlindedBeaconBlockBody<F>;
10
10
  export declare function isDenebBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is BlockContents<ForkPostDeneb>;
11
- export declare function isDenebSignedBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is SignedBlockContents<ForkPostDeneb>;
11
+ export declare function isDenebSignedBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is SignedBlockContents<ForkPostDeneb & ForkPreGloas>;
12
12
  export declare function isElectraAttestation(attestation: Attestation): attestation is Attestation<ForkPostElectra>;
13
13
  export declare function isElectraSingleAttestation(singleAttestation: SingleAttestation): singleAttestation is SingleAttestation<ForkPostElectra>;
14
14
  export declare function isElectraLightClientUpdate(update: LightClientUpdate): update is LightClientUpdate<ForkPostElectra>;
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function isDenebBlockContents(data) {
25
25
  return data.kzgProofs !== undefined;
26
26
  }
27
27
  export function isDenebSignedBlockContents(data) {
28
- return data.kzgProofs !== undefined;
28
+ return "kzgProofs" in data && data.kzgProofs !== undefined;
29
29
  }
30
30
  export function isElectraAttestation(attestation) {
31
31
  return attestation.committeeBits !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAK3B,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,UAAU,kBAAkB,CAChC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAA+B,CAAC,YAAY,KAAK,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAAqC,CAAC,gBAAgB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAA6E;IAE7E,OAAQ,IAAsD,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA4E;IAE5E,OAAQ,KAAqB,CAAC,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAE,KAAqB,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAoD;IAEpD,OAAQ,WAA2C,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA8C;IAE9C,OAAQ,IAA+B,CAAC,sBAAsB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAA2E;IAE3E,OAAQ,IAAqC,CAAC,SAAS,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA2E;IAE3E,OAAQ,IAA2C,CAAC,SAAS,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,OAAQ,WAA4C,CAAC,aAAa,KAAK,SAAS,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,iBAAoC;IAEpC,OAAQ,iBAAwD,CAAC,cAAc,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAClE,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAiC;IAEjC,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAQ,KAAK,CAAC,IAAuC,CAAC,yBAAyB,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAQ,OAA4C,CAAC,eAAe,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,cAAuF;IAEvF,OAAQ,cAAyD,CAAC,8BAA8B,KAAK,SAAS,CAAC;AACjH,CAAC"}
1
+ {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAM3B,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,UAAU,kBAAkB,CAChC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAA+B,CAAC,YAAY,KAAK,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAAqC,CAAC,gBAAgB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAA6E;IAE7E,OAAQ,IAAsD,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA4E;IAE5E,OAAQ,KAAqB,CAAC,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAE,KAAqB,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAoD;IAEpD,OAAQ,WAA2C,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA8C;IAE9C,OAAQ,IAA+B,CAAC,sBAAsB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAA2E;IAE3E,OAAQ,IAAqC,CAAC,SAAS,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA2E;IAE3E,OAAO,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,OAAQ,WAA4C,CAAC,aAAa,KAAK,SAAS,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,iBAAoC;IAEpC,OAAQ,iBAAwD,CAAC,cAAc,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAClE,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAiC;IAEjC,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAQ,KAAK,CAAC,IAAuC,CAAC,yBAAyB,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAQ,OAA4C,CAAC,eAAe,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,cAAuF;IAEvF,OAAQ,cAAyD,CAAC,8BAA8B,KAAK,SAAS,CAAC;AACjH,CAAC"}
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.50.0",
14
+ "version": "1.51.0-dev.7d2ef8139c",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -82,7 +82,7 @@
82
82
  "types": "lib/index.d.ts",
83
83
  "dependencies": {
84
84
  "@chainsafe/ssz": "^1.8.1",
85
- "@lodestar/params": "^1.50.0",
85
+ "@lodestar/params": "^1.51.0-dev.7d2ef8139c",
86
86
  "ethereum-cryptography": "^2.0.0"
87
87
  },
88
88
  "keywords": [
@@ -91,5 +91,5 @@
91
91
  "beacon",
92
92
  "blockchain"
93
93
  ],
94
- "gitHead": "003bd66543fa65b5c1e954eec9e8077054c226dc"
94
+ "gitHead": "247d6fb7a7be86a876b60f2d48aa962ddd36ead0"
95
95
  }
@@ -63,6 +63,7 @@ export type BeaconBlockBody = ValueOf<typeof ssz.BeaconBlockBody>;
63
63
  export type BeaconBlock = ValueOf<typeof ssz.BeaconBlock>;
64
64
  export type SignedBeaconBlock = ValueOf<typeof ssz.SignedBeaconBlock>;
65
65
  export type BlockContents = ValueOf<typeof ssz.BlockContents>;
66
+ export type SignedBlockContents = {signedBlock: SignedBeaconBlock};
66
67
  export type LightClientHeader = ValueOf<typeof ssz.LightClientHeader>;
67
68
  export type LightClientBootstrap = ValueOf<typeof ssz.LightClientBootstrap>;
68
69
  export type LightClientUpdate = ValueOf<typeof ssz.LightClientUpdate>;
@@ -5,8 +5,8 @@ import {ssz as primitiveSsz} from "../primitive/index.js";
5
5
 
6
6
  const {Slot, Root, BLSSignature, ValidatorIndex} = primitiveSsz;
7
7
 
8
- function activeFields(count: number): boolean[] {
9
- return Array.from({length: count}, () => true);
8
+ function activeFields(count: number, gaps: number[] = []): boolean[] {
9
+ return Array.from({length: count}, (_, index) => !gaps.includes(index));
10
10
  }
11
11
 
12
12
  export const InclusionListCommittee = new VectorBasicType(ValidatorIndex, INCLUSION_LIST_COMMITTEE_SIZE);
@@ -60,21 +60,33 @@ export const SignedExecutionPayloadBid = new ContainerType(
60
60
  export const DataColumnSidecar = gloasSsz.DataColumnSidecar;
61
61
  export const DataColumnSidecars = gloasSsz.DataColumnSidecars;
62
62
 
63
+ const {
64
+ eth1Data: _eth1Data,
65
+ eth1DataVotes: _eth1DataVotes,
66
+ eth1DepositIndex: _eth1DepositIndex,
67
+ depositRequestsStartIndex: _depositRequestsStartIndex,
68
+ ...gloasBeaconStateFields
69
+ } = gloasSsz.BeaconState.fields;
70
+
63
71
  export const BeaconState = new ProgressiveContainerType(
64
72
  {
65
- ...gloasSsz.BeaconState.fields,
73
+ ...gloasBeaconStateFields,
66
74
  latestExecutionPayloadBid: ExecutionPayloadBid, // [Modified in Heze:EIP7805]
67
75
  },
68
- activeFields(46),
76
+ // [Modified in Heze:EIP8015] gaps keep the surviving generalized indices stable
77
+ activeFields(46, [8, 9, 10, 28]),
69
78
  {typeName: "BeaconState", jsonCase: "eth2"}
70
79
  );
71
80
 
81
+ const {eth1Data: _bodyEth1Data, deposits: _deposits, ...gloasBeaconBlockBodyFields} = gloasSsz.BeaconBlockBody.fields;
82
+
72
83
  export const BeaconBlockBody = new ProgressiveContainerType(
73
84
  {
74
- ...gloasSsz.BeaconBlockBody.fields,
85
+ ...gloasBeaconBlockBodyFields,
75
86
  signedExecutionPayloadBid: SignedExecutionPayloadBid, // [Modified in Heze:EIP7805]
76
87
  },
77
- activeFields(13),
88
+ // [Modified in Heze:EIP8015] gaps keep the surviving generalized indices stable
89
+ activeFields(13, [1, 6]),
78
90
  {typeName: "BeaconBlockBody", jsonCase: "eth2", cachePermanentRootStruct: true}
79
91
  );
80
92
 
package/src/heze/types.ts CHANGED
@@ -14,4 +14,5 @@ export type BeaconBlockBody = ValueOf<typeof ssz.BeaconBlockBody>;
14
14
  export type BeaconBlock = ValueOf<typeof ssz.BeaconBlock>;
15
15
  export type SignedBeaconBlock = ValueOf<typeof ssz.SignedBeaconBlock>;
16
16
  export type BlockContents = ValueOf<typeof ssz.BlockContents>;
17
+ export type SignedBlockContents = {signedBlock: SignedBeaconBlock};
17
18
  export type SSEPayloadAttributes = ValueOf<typeof ssz.SSEPayloadAttributes>;
package/src/types.ts CHANGED
@@ -317,7 +317,7 @@ type TypesByFork = {
317
317
  SignedBuilderBid: electra.SignedBuilderBid;
318
318
  SSEPayloadAttributes: gloas.SSEPayloadAttributes;
319
319
  BlockContents: gloas.BlockContents;
320
- SignedBlockContents: fulu.SignedBlockContents;
320
+ SignedBlockContents: gloas.SignedBlockContents;
321
321
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
322
322
  BlobsBundle: fulu.BlobsBundle;
323
323
  SyncCommittee: altair.SyncCommittee;
@@ -359,7 +359,7 @@ type TypesByFork = {
359
359
  SignedBuilderBid: electra.SignedBuilderBid;
360
360
  SSEPayloadAttributes: heze.SSEPayloadAttributes;
361
361
  BlockContents: heze.BlockContents;
362
- SignedBlockContents: fulu.SignedBlockContents;
362
+ SignedBlockContents: heze.SignedBlockContents;
363
363
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
364
364
  BlobsBundle: fulu.BlobsBundle;
365
365
  SyncCommittee: altair.SyncCommittee;
@@ -5,6 +5,7 @@ import {
5
5
  ForkPostDeneb,
6
6
  ForkPostElectra,
7
7
  ForkPostGloas,
8
+ ForkPreGloas,
8
9
  } from "@lodestar/params";
9
10
  import {SignedExecutionPayloadEnvelope, SignedExecutionPayloadEnvelopeContents} from "../gloas/types.js";
10
11
  import {
@@ -74,8 +75,8 @@ export function isDenebBlockContents(
74
75
 
75
76
  export function isDenebSignedBlockContents(
76
77
  data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents
77
- ): data is SignedBlockContents<ForkPostDeneb> {
78
- return (data as SignedBlockContents<ForkPostDeneb>).kzgProofs !== undefined;
78
+ ): data is SignedBlockContents<ForkPostDeneb & ForkPreGloas> {
79
+ return "kzgProofs" in data && data.kzgProofs !== undefined;
79
80
  }
80
81
 
81
82
  export function isElectraAttestation(attestation: Attestation): attestation is Attestation<ForkPostElectra> {