@magicblock-labs/ephemeral-rollups-kit 0.8.8 → 0.10.1

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.
@@ -1,13 +1,60 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
39
  const vitest_1 = require("vitest");
4
40
  const instructions_1 = require("@solana/instructions");
41
+ const bs58_1 = __importDefault(require("bs58"));
42
+ const nacl = __importStar(require("tweetnacl"));
5
43
  const delegation_program_1 = require("../instructions/delegation-program");
6
44
  const magic_program_1 = require("../instructions/magic-program");
45
+ const kit_1 = require("@solana/kit");
46
+ const ephemeral_spl_token_program_1 = require("../instructions/ephemeral-spl-token-program");
7
47
  const constants_1 = require("../constants");
48
+ function readLengthPrefixedField(data, offset) {
49
+ const len = data[offset];
50
+ const start = offset + 1;
51
+ const end = start + len;
52
+ return [Buffer.from(data.subarray(start, end)), end];
53
+ }
8
54
  (0, vitest_1.describe)("Exposed Instructions (@solana/kit)", () => {
9
55
  const mockAddress = "11111111111111111111111111111111";
10
56
  const differentAddress = "11111111111111111111111111111112";
57
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
11
58
  (0, vitest_1.describe)("delegate instruction", () => {
12
59
  (0, vitest_1.it)("should create a delegate instruction with correct parameters", async () => {
13
60
  const args = {
@@ -177,6 +224,23 @@ const constants_1 = require("../constants");
177
224
  (0, vitest_1.expect)(view.getUint32(0, true)).toBe(2);
178
225
  });
179
226
  });
227
+ (0, vitest_1.describe)("initRentPdaIx (Ephemeral SPL Token Program)", () => {
228
+ (0, vitest_1.it)("should derive and initialize the global rent PDA", async () => {
229
+ const [rentPda] = await (0, ephemeral_spl_token_program_1.deriveRentPda)();
230
+ const instruction = (0, ephemeral_spl_token_program_1.initRentPdaIx)(mockAddress, rentPda);
231
+ (0, vitest_1.expect)(instruction.programAddress).toBe(constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID);
232
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(3);
233
+ (0, vitest_1.expect)(instruction.accounts?.[0]).toEqual({
234
+ address: mockAddress,
235
+ role: instructions_1.AccountRole.WRITABLE_SIGNER,
236
+ });
237
+ (0, vitest_1.expect)(instruction.accounts?.[1]).toEqual({
238
+ address: rentPda,
239
+ role: instructions_1.AccountRole.WRITABLE,
240
+ });
241
+ (0, vitest_1.expect)(instruction.data).toEqual(new Uint8Array([23]));
242
+ });
243
+ });
180
244
  (0, vitest_1.describe)("topUpEscrow instruction", () => {
181
245
  (0, vitest_1.it)("should create a topUpEscrow instruction with all parameters", () => {
182
246
  const instruction = (0, delegation_program_1.createTopUpEscrowInstruction)(mockAddress, mockAddress, mockAddress, 1000000, 255);
@@ -420,5 +484,396 @@ const constants_1 = require("../constants");
420
484
  });
421
485
  });
422
486
  });
487
+ (0, vitest_1.describe)("delegateSpl (Ephemeral SPL Token Program)", () => {
488
+ const owner = (0, kit_1.address)("11111111111111111111111111111113");
489
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
490
+ const validator = (0, kit_1.address)("11111111111111111111111111111115");
491
+ (0, vitest_1.it)("should delegate the vault eata when initializing the vault in legacy flow", async () => {
492
+ const [vault] = await (0, ephemeral_spl_token_program_1.deriveVault)(mint);
493
+ const [vaultEphemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(vault, mint);
494
+ const instructions = await (0, ephemeral_spl_token_program_1.delegateSpl)(owner, mint, 1n, {
495
+ validator,
496
+ initIfMissing: true,
497
+ initVaultIfMissing: true,
498
+ idempotent: false,
499
+ });
500
+ (0, vitest_1.expect)(instructions[3].accounts?.[1].address).toBe(vaultEphemeralAta);
501
+ (0, vitest_1.expect)(instructions[3].data?.[0]).toBe(4);
502
+ (0, vitest_1.expect)(Array.from(instructions[3].data?.subarray(1) ?? [])).toEqual(Array.from(addressEncoder.encode(validator)));
503
+ });
504
+ (0, vitest_1.it)("should delegate the vault eata when initializing the vault in idempotent flow", async () => {
505
+ const [vault] = await (0, ephemeral_spl_token_program_1.deriveVault)(mint);
506
+ const [vaultEphemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(vault, mint);
507
+ const instructions = await (0, ephemeral_spl_token_program_1.delegateSpl)(owner, mint, 1n, {
508
+ validator,
509
+ initVaultIfMissing: true,
510
+ shuttleId: 7,
511
+ });
512
+ (0, vitest_1.expect)(instructions[2].accounts?.[1].address).toBe(vaultEphemeralAta);
513
+ (0, vitest_1.expect)(instructions[2].data?.[0]).toBe(4);
514
+ (0, vitest_1.expect)(Array.from(instructions[2].data?.subarray(1) ?? [])).toEqual(Array.from(addressEncoder.encode(validator)));
515
+ });
516
+ (0, vitest_1.it)("should use setup_and_delegate_shuttle_with_merge across the idempotent shuttle flow", async () => {
517
+ const instructions = await (0, ephemeral_spl_token_program_1.delegateSpl)(owner, mint, 1n, {
518
+ validator,
519
+ shuttleId: 7,
520
+ });
521
+ const setupAndDelegateInstruction = instructions.find((ix) => ix.data?.[0] === 24);
522
+ (0, vitest_1.expect)(setupAndDelegateInstruction).toBeDefined();
523
+ (0, vitest_1.expect)(setupAndDelegateInstruction?.accounts).toHaveLength(19);
524
+ (0, vitest_1.expect)(instructions.find((ix) => ix.data?.[0] === 11)).toBeUndefined();
525
+ const setupAndDelegateData = setupAndDelegateInstruction?.data;
526
+ (0, vitest_1.expect)(setupAndDelegateData).toBeDefined();
527
+ if (setupAndDelegateData === undefined) {
528
+ throw new Error("Expected setup-and-delegate instruction data");
529
+ }
530
+ (0, vitest_1.expect)(new DataView(setupAndDelegateData.buffer, setupAndDelegateData.byteOffset, setupAndDelegateData.byteLength).getBigUint64(5, true)).toBe(1n);
531
+ (0, vitest_1.expect)(Array.from(setupAndDelegateData.subarray(13))).toEqual(Array.from(addressEncoder.encode(validator)));
532
+ });
533
+ (0, vitest_1.it)("should skip ephemeral ATA init in idempotent flow when initIfMissing is false", async () => {
534
+ const [ephemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(owner, mint);
535
+ const instructions = await (0, ephemeral_spl_token_program_1.delegateSpl)(owner, mint, 1n, {
536
+ validator,
537
+ shuttleId: 7,
538
+ initIfMissing: false,
539
+ });
540
+ const initInstruction = instructions.find((ix) => ix.data?.[0] === 0 && ix.accounts?.[0].address === ephemeralAta);
541
+ const delegateInstruction = instructions.find((ix) => ix.data?.[0] === 4 && ix.accounts?.[1].address === ephemeralAta);
542
+ (0, vitest_1.expect)(initInstruction).toBeUndefined();
543
+ (0, vitest_1.expect)(delegateInstruction).toBeDefined();
544
+ });
545
+ });
546
+ (0, vitest_1.describe)("delegateSplWithPrivateTransfer (Ephemeral SPL Token Program)", () => {
547
+ const owner = (0, kit_1.address)("11111111111111111111111111111113");
548
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
549
+ const validator = (0, kit_1.address)(bs58_1.default.encode(nacl.sign.keyPair().publicKey));
550
+ (0, vitest_1.it)("should use the private transfer shuttle flow", async () => {
551
+ const instructions = await (0, ephemeral_spl_token_program_1.delegateSplWithPrivateTransfer)(owner, mint, 1n, {
552
+ validator,
553
+ shuttleId: 7,
554
+ initTransferQueueIfMissing: true,
555
+ minDelayMs: 100n,
556
+ maxDelayMs: 300n,
557
+ split: 4,
558
+ });
559
+ const privateTransferInstruction = instructions.find((ix) => ix.data?.[0] === 25);
560
+ (0, vitest_1.expect)(instructions.find((ix) => ix.data?.[0] === 12)).toBeDefined();
561
+ (0, vitest_1.expect)(privateTransferInstruction).toBeDefined();
562
+ (0, vitest_1.expect)(privateTransferInstruction?.accounts).toHaveLength(19);
563
+ const privateTransferData = privateTransferInstruction?.data;
564
+ (0, vitest_1.expect)(privateTransferData).toBeDefined();
565
+ if (privateTransferData === undefined) {
566
+ throw new Error("Expected private transfer instruction data");
567
+ }
568
+ const data = Buffer.from(privateTransferData);
569
+ (0, vitest_1.expect)(data.readUInt32LE(1)).toBe(7);
570
+ (0, vitest_1.expect)(data.readBigUInt64LE(5)).toBe(1n);
571
+ const [validatorField, nextOffset] = readLengthPrefixedField(data, 13);
572
+ const [destinationField, suffixOffset] = readLengthPrefixedField(data, nextOffset);
573
+ const [suffixField, endOffset] = readLengthPrefixedField(data, suffixOffset);
574
+ (0, vitest_1.expect)(validatorField.equals(Buffer.from(addressEncoder.encode(validator)))).toBe(true);
575
+ (0, vitest_1.expect)(destinationField).toHaveLength(80);
576
+ (0, vitest_1.expect)(suffixField).toHaveLength(69);
577
+ (0, vitest_1.expect)(endOffset).toBe(data.length);
578
+ });
579
+ });
580
+ (0, vitest_1.describe)("withdrawSpl (Ephemeral SPL Token Program)", () => {
581
+ const owner = (0, kit_1.address)("11111111111111111111111111111113");
582
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
583
+ const validator = (0, kit_1.address)("11111111111111111111111111111115");
584
+ (0, vitest_1.it)("should use the delegated shuttle withdrawal flow when idempotent", async () => {
585
+ const instructions = await (0, ephemeral_spl_token_program_1.withdrawSpl)(owner, mint, 1n, {
586
+ validator,
587
+ shuttleId: 7,
588
+ });
589
+ const withdrawInstruction = instructions.find((ix) => ix.data?.[0] === 26);
590
+ (0, vitest_1.expect)(withdrawInstruction).toBeDefined();
591
+ (0, vitest_1.expect)(withdrawInstruction?.accounts).toHaveLength(16);
592
+ (0, vitest_1.expect)(instructions.find((ix) => ix.data?.[0] === 3)).toBeUndefined();
593
+ });
594
+ (0, vitest_1.it)("should fall back to the legacy withdraw instruction when idempotent is false", async () => {
595
+ const instructions = await (0, ephemeral_spl_token_program_1.withdrawSpl)(owner, mint, 1n, {
596
+ idempotent: false,
597
+ });
598
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
599
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(3);
600
+ });
601
+ });
602
+ (0, vitest_1.describe)("transferSpl (Ephemeral SPL Token Program)", () => {
603
+ const from = (0, kit_1.address)("11111111111111111111111111111113");
604
+ const to = (0, kit_1.address)("11111111111111111111111111111114");
605
+ const mint = (0, kit_1.address)("11111111111111111111111111111115");
606
+ const validator = (0, kit_1.address)(bs58_1.default.encode(nacl.sign.keyPair().publicKey));
607
+ (0, vitest_1.it)("should use the shuttle private transfer instruction for private base-to-base transfers", async () => {
608
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
609
+ visibility: "private",
610
+ fromBalance: "base",
611
+ toBalance: "base",
612
+ validator,
613
+ shuttleId: 7,
614
+ privateTransfer: {
615
+ minDelayMs: 100n,
616
+ maxDelayMs: 300n,
617
+ split: 4,
618
+ },
619
+ });
620
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
621
+ const data = Buffer.from(instructions[0].data ?? []);
622
+ (0, vitest_1.expect)(data[0]).toBe(25);
623
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(19);
624
+ (0, vitest_1.expect)(data.readUInt32LE(1)).toBe(7);
625
+ (0, vitest_1.expect)(data.readBigUInt64LE(5)).toBe(25n);
626
+ const [validatorField, nextOffset] = readLengthPrefixedField(data, 13);
627
+ const [destinationField, suffixOffset] = readLengthPrefixedField(data, nextOffset);
628
+ const [suffixField, endOffset] = readLengthPrefixedField(data, suffixOffset);
629
+ (0, vitest_1.expect)(validatorField.equals(Buffer.from(addressEncoder.encode(validator)))).toBe(true);
630
+ (0, vitest_1.expect)(destinationField).toHaveLength(80);
631
+ (0, vitest_1.expect)(suffixField).toHaveLength(69);
632
+ (0, vitest_1.expect)(endOffset).toBe(data.length);
633
+ });
634
+ (0, vitest_1.it)("should initialize the destination ATA and vault when requested", async () => {
635
+ const [vault] = await (0, ephemeral_spl_token_program_1.deriveVault)(mint);
636
+ const [vaultEphemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(vault, mint);
637
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
638
+ visibility: "private",
639
+ fromBalance: "base",
640
+ toBalance: "base",
641
+ validator,
642
+ shuttleId: 7,
643
+ initIfMissing: true,
644
+ initVaultIfMissing: true,
645
+ privateTransfer: {
646
+ minDelayMs: 100n,
647
+ maxDelayMs: 300n,
648
+ split: 4,
649
+ },
650
+ });
651
+ (0, vitest_1.expect)(instructions).toHaveLength(4);
652
+ (0, vitest_1.expect)(instructions[2].accounts?.[1].address).toBe(vaultEphemeralAta);
653
+ (0, vitest_1.expect)(instructions[2].data?.[0]).toBe(4);
654
+ (0, vitest_1.expect)(instructions[3].data?.[0]).toBe(25);
655
+ });
656
+ (0, vitest_1.it)("should prepend source ATA creation when initAtasIfMissing is set on base-source transfers", async () => {
657
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
658
+ visibility: "public",
659
+ fromBalance: "base",
660
+ toBalance: "base",
661
+ initAtasIfMissing: true,
662
+ });
663
+ (0, vitest_1.expect)(instructions).toHaveLength(2);
664
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(1);
665
+ (0, vitest_1.expect)(instructions[0].accounts?.[2].address).toBe(from);
666
+ (0, vitest_1.expect)(instructions[1].data?.[0]).toBe(3);
667
+ });
668
+ (0, vitest_1.it)("should use the shuttle merge instruction for private base-to-ephemeral transfers", async () => {
669
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
670
+ visibility: "private",
671
+ fromBalance: "base",
672
+ toBalance: "ephemeral",
673
+ validator,
674
+ shuttleId: 7,
675
+ });
676
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
677
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(24);
678
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(19);
679
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(5)).toBe(25n);
680
+ });
681
+ (0, vitest_1.it)("should initialize and delegate the receiver eata for private base-to-ephemeral transfers when requested", async () => {
682
+ const [toEphemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(to, mint);
683
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
684
+ visibility: "private",
685
+ fromBalance: "base",
686
+ toBalance: "ephemeral",
687
+ validator,
688
+ shuttleId: 7,
689
+ initIfMissing: true,
690
+ });
691
+ (0, vitest_1.expect)(instructions).toHaveLength(4);
692
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(1);
693
+ (0, vitest_1.expect)(instructions[0].accounts?.[2].address).toBe(to);
694
+ (0, vitest_1.expect)(instructions[1].data?.[0]).toBe(0);
695
+ (0, vitest_1.expect)(instructions[1].accounts?.[0].address).toBe(toEphemeralAta);
696
+ (0, vitest_1.expect)(instructions[2].data?.[0]).toBe(4);
697
+ (0, vitest_1.expect)(instructions[2].accounts?.[1].address).toBe(toEphemeralAta);
698
+ (0, vitest_1.expect)(instructions[3].data?.[0]).toBe(24);
699
+ });
700
+ (0, vitest_1.it)("should ignore initAtasIfMissing on ephemeral-source transfers", async () => {
701
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
702
+ visibility: "private",
703
+ fromBalance: "ephemeral",
704
+ toBalance: "base",
705
+ initAtasIfMissing: true,
706
+ privateTransfer: {
707
+ minDelayMs: 100n,
708
+ maxDelayMs: 300n,
709
+ split: 4,
710
+ },
711
+ });
712
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
713
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(16);
714
+ });
715
+ (0, vitest_1.it)("should use depositAndQueueTransferIx for private ephemeral-to-base transfers", async () => {
716
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
717
+ visibility: "private",
718
+ fromBalance: "ephemeral",
719
+ toBalance: "base",
720
+ initIfMissing: true,
721
+ initVaultIfMissing: true,
722
+ privateTransfer: {
723
+ minDelayMs: 100n,
724
+ maxDelayMs: 300n,
725
+ split: 4,
726
+ },
727
+ });
728
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
729
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(16);
730
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(8);
731
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(1)).toBe(25n);
732
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(9)).toBe(100n);
733
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(17)).toBe(300n);
734
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readUInt32LE(25)).toBe(4);
735
+ });
736
+ (0, vitest_1.it)("should reject private base-to-base transfers when maxDelayMs is less than minDelayMs", async () => {
737
+ await (0, vitest_1.expect)((0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
738
+ visibility: "private",
739
+ fromBalance: "base",
740
+ toBalance: "base",
741
+ shuttleId: 7,
742
+ privateTransfer: {
743
+ minDelayMs: 300n,
744
+ maxDelayMs: 100n,
745
+ split: 4,
746
+ },
747
+ })).rejects.toThrow("maxDelayMs must be greater than or equal to minDelayMs");
748
+ });
749
+ (0, vitest_1.it)("should use a normal transfer for public base-to-base transfers", async () => {
750
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
751
+ visibility: "public",
752
+ fromBalance: "base",
753
+ toBalance: "base",
754
+ });
755
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
756
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(3);
757
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(3);
758
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(1)).toBe(25n);
759
+ });
760
+ (0, vitest_1.it)("should use a normal transfer for public ephemeral-to-ephemeral transfers", async () => {
761
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
762
+ visibility: "public",
763
+ fromBalance: "ephemeral",
764
+ toBalance: "ephemeral",
765
+ });
766
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
767
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(3);
768
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(3);
769
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(1)).toBe(25n);
770
+ });
771
+ (0, vitest_1.it)("should use a normal transfer for private ephemeral-to-ephemeral transfers", async () => {
772
+ const instructions = await (0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
773
+ visibility: "private",
774
+ fromBalance: "ephemeral",
775
+ toBalance: "ephemeral",
776
+ initIfMissing: true,
777
+ initVaultIfMissing: true,
778
+ });
779
+ (0, vitest_1.expect)(instructions).toHaveLength(1);
780
+ (0, vitest_1.expect)(instructions[0].data?.[0]).toBe(3);
781
+ (0, vitest_1.expect)(instructions[0].accounts).toHaveLength(3);
782
+ (0, vitest_1.expect)(Buffer.from(instructions[0].data ?? []).readBigUInt64LE(1)).toBe(25n);
783
+ });
784
+ (0, vitest_1.it)("should reject unsupported routes", async () => {
785
+ await (0, vitest_1.expect)((0, ephemeral_spl_token_program_1.transferSpl)(from, to, mint, 25n, {
786
+ visibility: "public",
787
+ fromBalance: "base",
788
+ toBalance: "ephemeral",
789
+ })).rejects.toThrow("transferSpl route not implemented: visibility=public, fromBalance=base, toBalance=ephemeral");
790
+ });
791
+ });
792
+ (0, vitest_1.describe)("initVaultIx (Ephemeral SPL Token Program)", () => {
793
+ (0, vitest_1.it)("should use the provided vault ephemeral ATA synchronously", async () => {
794
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
795
+ const payer = (0, kit_1.address)("11111111111111111111111111111115");
796
+ const [vault] = await (0, ephemeral_spl_token_program_1.deriveVault)(mint);
797
+ const [vaultEphemeralAta] = await (0, ephemeral_spl_token_program_1.deriveEphemeralAta)(vault, mint);
798
+ const vaultAta = (0, kit_1.address)("11111111111111111111111111111116");
799
+ const instruction = (0, ephemeral_spl_token_program_1.initVaultIx)(vault, mint, payer, vaultEphemeralAta, vaultAta);
800
+ (0, vitest_1.expect)(instruction.accounts?.[0].address).toBe(vault);
801
+ (0, vitest_1.expect)(instruction.accounts?.[3].address).toBe(vaultEphemeralAta);
802
+ (0, vitest_1.expect)(instruction.accounts?.[4].address).toBe(vaultAta);
803
+ (0, vitest_1.expect)(Array.from(instruction.data ?? [])).toEqual([1]);
804
+ });
805
+ });
806
+ (0, vitest_1.describe)("ensureTransferQueueCrankIx (Ephemeral SPL Token Program)", () => {
807
+ const payer = mockAddress;
808
+ const queue = differentAddress;
809
+ (0, vitest_1.it)("should include queue, magic context, and magic program in order", () => {
810
+ const instruction = (0, ephemeral_spl_token_program_1.ensureTransferQueueCrankIx)(payer, queue);
811
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(4);
812
+ (0, vitest_1.expect)(instruction.accounts?.[0].address).toBe(payer);
813
+ (0, vitest_1.expect)(instruction.accounts?.[1].address).toBe(queue);
814
+ (0, vitest_1.expect)(instruction.accounts?.[2].address).toBe(constants_1.MAGIC_CONTEXT_ID);
815
+ (0, vitest_1.expect)(instruction.accounts?.[3].address).toBe(constants_1.MAGIC_PROGRAM_ID);
816
+ });
817
+ });
818
+ (0, vitest_1.describe)("depositAndQueueTransferIx (Ephemeral SPL Token Program)", () => {
819
+ const queue = differentAddress;
820
+ const vault = (0, kit_1.address)("11111111111111111111111111111113");
821
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
822
+ const source = (0, kit_1.address)("11111111111111111111111111111115");
823
+ const vaultAta = (0, kit_1.address)("11111111111111111111111111111116");
824
+ const destination = (0, kit_1.address)("11111111111111111111111111111117");
825
+ (0, vitest_1.it)("should serialize min/max delay ms and split", () => {
826
+ const instruction = (0, ephemeral_spl_token_program_1.depositAndQueueTransferIx)(queue, vault, mint, source, vaultAta, destination, mockAddress, 25n, 100n, 300n, 4);
827
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(8);
828
+ (0, vitest_1.expect)(Array.from(instruction.data ?? [])).toEqual([
829
+ 16,
830
+ ...Array.from(Buffer.from([25n, 100n, 300n].flatMap((value) => {
831
+ const out = Buffer.alloc(8);
832
+ out.writeBigUInt64LE(value);
833
+ return Array.from(out);
834
+ }))),
835
+ 4,
836
+ 0,
837
+ 0,
838
+ 0,
839
+ ]);
840
+ });
841
+ });
842
+ (0, vitest_1.describe)("delegateTransferQueueIx (Ephemeral SPL Token Program)", () => {
843
+ const payer = mockAddress;
844
+ const queue = differentAddress;
845
+ (0, vitest_1.it)("should serialize discriminator 19 for the delegated transfer queue opcode", async () => {
846
+ const instruction = await (0, ephemeral_spl_token_program_1.delegateTransferQueueIx)(queue, payer, mockAddress);
847
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(9);
848
+ (0, vitest_1.expect)(instruction.data).toEqual(new Uint8Array([19]));
849
+ });
850
+ });
851
+ (0, vitest_1.describe)("delegateEataPermissionIx (Ephemeral SPL Token Program)", () => {
852
+ (0, vitest_1.it)("should serialize only the discriminator", async () => {
853
+ const instruction = await (0, ephemeral_spl_token_program_1.delegateEataPermissionIx)(mockAddress, differentAddress, mockAddress);
854
+ (0, vitest_1.expect)(Array.from(instruction.data ?? [])).toEqual([7]);
855
+ });
856
+ });
857
+ (0, vitest_1.describe)("initEphemeralAtaIx (Ephemeral SPL Token Program)", () => {
858
+ (0, vitest_1.it)("should serialize only the discriminator", () => {
859
+ const instruction = (0, ephemeral_spl_token_program_1.initEphemeralAtaIx)(mockAddress, differentAddress, mockAddress, differentAddress);
860
+ (0, vitest_1.expect)(Array.from(instruction.data ?? [])).toEqual([0]);
861
+ });
862
+ });
863
+ (0, vitest_1.describe)("withdrawSplIx (Ephemeral SPL Token Program)", () => {
864
+ (0, vitest_1.it)("should encode only discriminator plus amount", async () => {
865
+ const owner = (0, kit_1.address)("11111111111111111111111111111113");
866
+ const mint = (0, kit_1.address)("11111111111111111111111111111114");
867
+ const instruction = await (0, ephemeral_spl_token_program_1.withdrawSplIx)(owner, mint, 1n);
868
+ (0, vitest_1.expect)(instruction.data).toHaveLength(9);
869
+ (0, vitest_1.expect)(instruction.data?.[0]).toBe(3);
870
+ const data = instruction.data;
871
+ (0, vitest_1.expect)(data).toBeDefined();
872
+ if (data === undefined) {
873
+ throw new Error("Expected withdraw instruction data");
874
+ }
875
+ (0, vitest_1.expect)(new DataView(data.buffer, data.byteOffset, data.byteLength).getBigUint64(1, true)).toBe(1n);
876
+ });
877
+ });
423
878
  });
424
879
  //# sourceMappingURL=instructions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.test.js","sourceRoot":"","sources":["../../src/__test__/instructions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.test.js","sourceRoot":"","sources":["../../src/__test__/instructions.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA8C;AAC9C,uDAAmD;AACnD,gDAAwB;AACxB,gDAAkC;AAClC,2EAK4C;AAC5C,iEAGuC;AACvC,qCAAuE;AACvE,6FAgBqD;AACrD,4CAIsB;AAEtB,SAAS,uBAAuB,CAC9B,IAAgB,EAChB,MAAc;IAEd,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,MAAM,WAAW,GAAG,kCAA6C,CAAC;IAClE,MAAM,gBAAgB,GAAG,kCAA6C,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;IAE3C,IAAA,iBAAQ,EAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAA,WAAE,EAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAG7C,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,WAAW;aACvB,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAEvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,sBAAsB,CACrD,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,iBAAiB,GAAG,kCAA6C,CAAC;YACxE,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,WAAW;aACvB,EACD;gBACE,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,iBAAiB;aAC7B,CACF,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAA,8CAAyB,EAClD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAA,8CAAyB,EAClD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,gBAAgB;gBAClC,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAGF,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAA4B;oBACpC,iBAAiB,EAAE,IAAI;oBACvB,KAAK,EAAE,EAAE;iBACV,CAAC;gBACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;oBACE,KAAK,EAAE,WAAW;oBAClB,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,WAAW;iBAC1B,EACD,IAAI,CACL,CAAC;gBAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EAAC;gBAClD,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9D,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAGjE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzE,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EAAC;gBAClD,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzE,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,IAAI,GAA4B;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9D,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAyB,EACjD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,IAAI,CACL,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAqB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,IAAA,WAAE,EAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,2CAAa,GAAE,CAAC;YACxC,MAAM,WAAW,GAAG,IAAA,2CAAa,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAExD,IAAA,eAAM,EAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,0CAA8B,CAAC,CAAC;YACxE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,0BAAW,CAAC,eAAe;aAClC,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,0BAAW,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAA,WAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,GAAG,CACJ,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAG1C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YAGD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,MAAiC,CAAC;YACnE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAE7B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAGrC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YAGF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAiC,CAAC;YACpE,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE1C,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,KAAK,CACN,CAAC;gBAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,CAAC,CACF,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAiC,CAAC;YACpE,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC;YAErC,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAiC,CAAC;YACpE,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,YAAY,GAAG,IAAA,iDAA4B,EAC/C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,iDAA4B,EAC/C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YAEF,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAA,WAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,GAAG,CACJ,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAGzC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YAGD,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE1C,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,EACX,KAAK,CACN,CAAC;gBAEF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,YAAY,GAAG,IAAA,iDAA4B,EAC/C,WAAW,EACX,WAAW,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,iDAA4B,EAC/C,WAAW,EACX,WAAW,CACZ,CAAC;YAEF,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,iDAA4B,EAC9C,WAAW,EACX,WAAW,CACZ,CAAC;YAGF,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,IAAA,WAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAA4B;gBAC5C,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,IAAA,8CAAyB,EACnD;gBACE,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,WAAW;gBAC7B,YAAY,EAAE,WAAW;aAC1B,EACD,YAAY,CACb,CAAC;YAEF,MAAM,UAAU,GAAG,IAAA,iDAA4B,EAC7C,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;YAEF,MAAM,UAAU,GAAG,IAAA,iDAA4B,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAE1E,IAAA,eAAM,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAA,eAAM,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,IAAA,eAAM,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAA,eAAM,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,IAAA,eAAM,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAA,eAAM,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,IAAA,WAAE,EAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAExE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,IAAA,eAAM,EAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAGxE,IAAA,eAAM,EACJ,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAqB,CAAC,CAAC,SAAS,CAC7D,CAAC,EACD,IAAI,CACL,CACF,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAExE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAExE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,gBAAgB,GAAc;gBAClC,kCAA6C;gBAC7C,kCAA6C;aAC9C,CAAC;YACF,MAAM,WAAW,GAAG,IAAA,uCAAuB,EACzC,WAAW,EACX,gBAAgB,CACjB,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE;gBACvD,gBAAgB;aACjB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,QAAQ,GAAc;gBAC1B,kCAA6C;gBAC7C,kCAA6C;gBAC7C,kCAA6C;aAC9C,CAAC;YACF,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEnE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,yDAAyD,EAAE,GAAG,EAAE;QACvE,IAAA,WAAE,EAAC,kFAAkF,EAAE,GAAG,EAAE;YAC1F,MAAM,WAAW,GAAG,IAAA,oDAAoC,EAAC,WAAW,EAAE;gBACpE,WAAW;aACZ,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,IAAA,eAAM,EAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAA,oDAAoC,EAAC,WAAW,EAAE;gBACpE,WAAW;aACZ,CAAC,CAAC;YAGH,IAAA,eAAM,EACJ,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAqB,CAAC,CAAC,SAAS,CAC7D,CAAC,EACD,IAAI,CACL,CACF,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,WAAW,GAAG,IAAA,oDAAoC,EAAC,WAAW,EAAE;gBACpE,WAAW;aACZ,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,WAAW,GAAG,IAAA,oDAAoC,EAAC,WAAW,EAAE;gBACpE,WAAW;aACZ,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,6BAA6B,GAAc;gBAC/C,kCAA6C;gBAC7C,kCAA6C;aAC9C,CAAC;YACF,MAAM,WAAW,GAAG,IAAA,oDAAoC,EACtD,WAAW,EACX,6BAA6B,CAC9B,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,6BAA6B,CAAC,CAAC,CAAC,CACjC,CAAC;YACF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,6BAA6B,CAAC,CAAC,CAAC,CACjC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,WAAW,GAAG,IAAA,oDAAoC,EAAC,WAAW,EAAE;gBACpE,gBAAgB;aACjB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,QAAQ,GAAc;gBAC1B,kCAA6C;gBAC7C,kCAA6C;gBAC7C,kCAA6C;aAC9C,CAAC;YACF,MAAM,WAAW,GAAG,IAAA,oDAAoC,EACtD,WAAW,EACX,QAAQ,CACT,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAE9D,IAAA,WAAE,EAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElE,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,SAAS;gBACT,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACjE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElE,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,SAAS;gBACT,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACjE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,SAAS;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,MAAM,2BAA2B,GAAG,YAAY,CAAC,IAAI,CACnD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5B,CAAC;YAEF,IAAA,eAAM,EAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,IAAA,eAAM,EAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAEvE,MAAM,oBAAoB,GAAG,2BAA2B,EAAE,IAAI,CAAC;YAC/D,IAAA,eAAM,EAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,IAAA,eAAM,EACJ,IAAI,QAAQ,CACV,oBAAoB,CAAC,MAAM,EAC3B,oBAAoB,CAAC,UAAU,EAC/B,oBAAoB,CAAC,UAAU,CAChC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CACxB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CACxE,CAAC;YACF,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CACxE,CAAC;YAEF,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;YACxC,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,8DAA8D,EAAE,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,cAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtE,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,YAAY,GAAG,MAAM,IAAA,4DAA8B,EACvD,KAAK,EACL,IAAI,EACJ,EAAE,EACF;gBACE,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,0BAA0B,EAAE,IAAI;gBAChC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,CAAC;aACT,CACF,CAAC;YAEF,MAAM,0BAA0B,GAAG,YAAY,CAAC,IAAI,CAClD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5B,CAAC;YAEF,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACrE,IAAA,eAAM,EAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,IAAA,eAAM,EAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAE9D,MAAM,mBAAmB,GAAG,0BAA0B,EAAE,IAAI,CAAC;YAC7D,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;YAE1C,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC9C,IAAA,eAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,uBAAuB,CAC9D,IAAI,EACJ,UAAU,CACX,CAAC;YACF,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,uBAAuB,CACtD,IAAI,EACJ,YAAY,CACb,CAAC;YAEF,IAAA,eAAM,EACJ,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAE9D,IAAA,WAAE,EAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,SAAS;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5B,CAAC;YAEF,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAA,eAAM,EAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvD,IAAA,eAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtD,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,cAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtE,IAAA,WAAE,EAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;YACtG,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACrD,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAClD,IAAA,eAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1C,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,uBAAuB,CAC9D,IAAI,EACJ,UAAU,CACX,CAAC;YACF,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,uBAAuB,CACtD,IAAI,EACJ,YAAY,CACb,CAAC;YAEF,IAAA,eAAM,EACJ,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElE,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,eAAe,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,WAAW;gBACtB,SAAS;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAClD,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,yGAAyG,EAAE,KAAK,IAAI,EAAE;YACvH,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAE5D,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,WAAW;gBACtB,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,MAAM;gBACjB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,MAAM;gBACjB,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,eAAe,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CAAC;YACF,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,IAAI,CACL,CAAC;YACF,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACtE,IAAI,CACL,CAAC;YACF,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,MAAM,IAAA,eAAM,EACV,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC/B,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,wDAAwD,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC1D,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,WAAW;gBACtB,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,IAAA,eAAM,EACV,IAAA,yCAAW,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC/B,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,WAAW;aACvB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,6FAA6F,CAC9F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACzD,IAAA,WAAE,EAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAA,yCAAW,EAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAA,gDAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;YAE7D,MAAM,WAAW,GAAG,IAAA,yCAAW,EAC7B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,QAAQ,CACT,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,0DAA0D,EAAE,GAAG,EAAE;QACxE,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAE/B,IAAA,WAAE,EAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,WAAW,GAAG,IAAA,wDAA0B,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE7D,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,yDAAyD,EAAE,GAAG,EAAE;QACvE,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;QAEhE,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,WAAW,GAAG,IAAA,uDAAyB,EAC3C,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,CAAC,CACF,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjD,EAAE;gBACF,GAAG,KAAK,CAAC,IAAI,CACX,MAAM,CAAC,IAAI,CACT,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CACH,CACF;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,uDAAuD,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAE/B,IAAA,WAAE,EAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,WAAW,GAAG,MAAM,IAAA,qDAAuB,EAC/C,KAAK,EACL,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,IAAA,eAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,wDAAwD,EAAE,GAAG,EAAE;QACtE,IAAA,WAAE,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,WAAW,GAAG,MAAM,IAAA,sDAAwB,EAChD,WAAW,EACX,gBAAgB,EAChB,WAAW,CACZ,CAAC;YAEF,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAChE,IAAA,WAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,WAAW,GAAG,IAAA,gDAAkB,EACpC,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,gBAAgB,CACjB,CAAC;YAEF,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,kCAAkC,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,MAAM,IAAA,2CAAa,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAEzD,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,IAAA,eAAM,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC9B,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAE3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAA,eAAM,EACJ,IAAI,QAAQ,CACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,CAChB,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CACxB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}