@clawnch/clawncher-sdk 0.1.3 → 0.3.0

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.
Files changed (63) hide show
  1. package/README.md +190 -0
  2. package/dist/analytics.d.ts +157 -0
  3. package/dist/analytics.d.ts.map +1 -0
  4. package/dist/analytics.js +468 -0
  5. package/dist/analytics.js.map +1 -0
  6. package/dist/api-deployer.d.ts.map +1 -1
  7. package/dist/api-deployer.js +38 -35
  8. package/dist/api-deployer.js.map +1 -1
  9. package/dist/claimer.d.ts.map +1 -1
  10. package/dist/claimer.js +9 -7
  11. package/dist/claimer.js.map +1 -1
  12. package/dist/errors.d.ts +13 -0
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js +50 -0
  15. package/dist/errors.js.map +1 -1
  16. package/dist/index.d.ts +8 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +16 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/liquidity.d.ts +13 -7
  21. package/dist/liquidity.d.ts.map +1 -1
  22. package/dist/liquidity.js +143 -46
  23. package/dist/liquidity.js.map +1 -1
  24. package/dist/orders.d.ts +338 -0
  25. package/dist/orders.d.ts.map +1 -0
  26. package/dist/orders.js +611 -0
  27. package/dist/orders.js.map +1 -0
  28. package/dist/permit2.d.ts +258 -0
  29. package/dist/permit2.d.ts.map +1 -0
  30. package/dist/permit2.js +520 -0
  31. package/dist/permit2.js.map +1 -0
  32. package/dist/price.d.ts +95 -0
  33. package/dist/price.d.ts.map +1 -0
  34. package/dist/price.js +207 -0
  35. package/dist/price.js.map +1 -0
  36. package/dist/swap.d.ts.map +1 -1
  37. package/dist/swap.js +21 -19
  38. package/dist/swap.js.map +1 -1
  39. package/dist/trader.d.ts +188 -0
  40. package/dist/trader.d.ts.map +1 -0
  41. package/dist/trader.js +277 -0
  42. package/dist/trader.js.map +1 -0
  43. package/dist/uniswap-abis.d.ts +525 -0
  44. package/dist/uniswap-abis.d.ts.map +1 -1
  45. package/dist/uniswap-abis.js +432 -1
  46. package/dist/uniswap-abis.js.map +1 -1
  47. package/dist/uniswap-chains.d.ts +77 -0
  48. package/dist/uniswap-chains.d.ts.map +1 -0
  49. package/dist/uniswap-chains.js +362 -0
  50. package/dist/uniswap-chains.js.map +1 -0
  51. package/dist/uniswap-quoter.d.ts +178 -0
  52. package/dist/uniswap-quoter.d.ts.map +1 -0
  53. package/dist/uniswap-quoter.js +432 -0
  54. package/dist/uniswap-quoter.js.map +1 -0
  55. package/dist/uniswap-trading.d.ts +203 -0
  56. package/dist/uniswap-trading.d.ts.map +1 -0
  57. package/dist/uniswap-trading.js +380 -0
  58. package/dist/uniswap-trading.js.map +1 -0
  59. package/dist/watcher.d.ts +117 -2
  60. package/dist/watcher.d.ts.map +1 -1
  61. package/dist/watcher.js +147 -2
  62. package/dist/watcher.js.map +1 -1
  63. package/package.json +3 -1
@@ -424,6 +424,237 @@ export declare const V3NonfungiblePositionManagerABI: readonly [{
424
424
  readonly stateMutability: "payable";
425
425
  readonly type: "function";
426
426
  }];
427
+ export declare const V4PoolManagerABI: readonly [{
428
+ readonly inputs: readonly [{
429
+ readonly name: "key";
430
+ readonly type: "tuple";
431
+ readonly components: readonly [{
432
+ readonly name: "currency0";
433
+ readonly type: "address";
434
+ }, {
435
+ readonly name: "currency1";
436
+ readonly type: "address";
437
+ }, {
438
+ readonly name: "fee";
439
+ readonly type: "uint24";
440
+ }, {
441
+ readonly name: "tickSpacing";
442
+ readonly type: "int24";
443
+ }, {
444
+ readonly name: "hooks";
445
+ readonly type: "address";
446
+ }];
447
+ }, {
448
+ readonly name: "params";
449
+ readonly type: "tuple";
450
+ readonly components: readonly [{
451
+ readonly name: "zeroForOne";
452
+ readonly type: "bool";
453
+ }, {
454
+ readonly name: "amountSpecified";
455
+ readonly type: "int256";
456
+ }, {
457
+ readonly name: "sqrtPriceLimitX96";
458
+ readonly type: "uint160";
459
+ }];
460
+ }, {
461
+ readonly name: "hookData";
462
+ readonly type: "bytes";
463
+ }];
464
+ readonly name: "swap";
465
+ readonly outputs: readonly [{
466
+ readonly name: "swapDelta";
467
+ readonly type: "int256";
468
+ }];
469
+ readonly stateMutability: "payable";
470
+ readonly type: "function";
471
+ }, {
472
+ readonly inputs: readonly [{
473
+ readonly name: "data";
474
+ readonly type: "bytes";
475
+ }];
476
+ readonly name: "unlock";
477
+ readonly outputs: readonly [{
478
+ readonly name: "result";
479
+ readonly type: "bytes";
480
+ }];
481
+ readonly stateMutability: "nonpayable";
482
+ readonly type: "function";
483
+ }];
484
+ export declare const V4QuoterABI: readonly [{
485
+ readonly inputs: readonly [{
486
+ readonly name: "params";
487
+ readonly type: "tuple";
488
+ readonly components: readonly [{
489
+ readonly name: "poolKey";
490
+ readonly type: "tuple";
491
+ readonly components: readonly [{
492
+ readonly name: "currency0";
493
+ readonly type: "address";
494
+ }, {
495
+ readonly name: "currency1";
496
+ readonly type: "address";
497
+ }, {
498
+ readonly name: "fee";
499
+ readonly type: "uint24";
500
+ }, {
501
+ readonly name: "tickSpacing";
502
+ readonly type: "int24";
503
+ }, {
504
+ readonly name: "hooks";
505
+ readonly type: "address";
506
+ }];
507
+ }, {
508
+ readonly name: "zeroForOne";
509
+ readonly type: "bool";
510
+ }, {
511
+ readonly name: "exactAmount";
512
+ readonly type: "uint128";
513
+ }, {
514
+ readonly name: "sqrtPriceLimitX96";
515
+ readonly type: "uint160";
516
+ }, {
517
+ readonly name: "hookData";
518
+ readonly type: "bytes";
519
+ }];
520
+ }];
521
+ readonly name: "quoteExactInputSingle";
522
+ readonly outputs: readonly [{
523
+ readonly name: "amountOut";
524
+ readonly type: "uint256";
525
+ }, {
526
+ readonly name: "gasEstimate";
527
+ readonly type: "uint256";
528
+ }];
529
+ readonly stateMutability: "nonpayable";
530
+ readonly type: "function";
531
+ }, {
532
+ readonly inputs: readonly [{
533
+ readonly name: "params";
534
+ readonly type: "tuple";
535
+ readonly components: readonly [{
536
+ readonly name: "poolKey";
537
+ readonly type: "tuple";
538
+ readonly components: readonly [{
539
+ readonly name: "currency0";
540
+ readonly type: "address";
541
+ }, {
542
+ readonly name: "currency1";
543
+ readonly type: "address";
544
+ }, {
545
+ readonly name: "fee";
546
+ readonly type: "uint24";
547
+ }, {
548
+ readonly name: "tickSpacing";
549
+ readonly type: "int24";
550
+ }, {
551
+ readonly name: "hooks";
552
+ readonly type: "address";
553
+ }];
554
+ }, {
555
+ readonly name: "zeroForOne";
556
+ readonly type: "bool";
557
+ }, {
558
+ readonly name: "exactAmount";
559
+ readonly type: "uint128";
560
+ }, {
561
+ readonly name: "sqrtPriceLimitX96";
562
+ readonly type: "uint160";
563
+ }, {
564
+ readonly name: "hookData";
565
+ readonly type: "bytes";
566
+ }];
567
+ }];
568
+ readonly name: "quoteExactOutputSingle";
569
+ readonly outputs: readonly [{
570
+ readonly name: "amountIn";
571
+ readonly type: "uint256";
572
+ }, {
573
+ readonly name: "gasEstimate";
574
+ readonly type: "uint256";
575
+ }];
576
+ readonly stateMutability: "nonpayable";
577
+ readonly type: "function";
578
+ }, {
579
+ readonly inputs: readonly [{
580
+ readonly name: "params";
581
+ readonly type: "tuple";
582
+ readonly components: readonly [{
583
+ readonly name: "exactCurrency";
584
+ readonly type: "address";
585
+ }, {
586
+ readonly name: "path";
587
+ readonly type: "tuple[]";
588
+ readonly components: readonly [{
589
+ readonly name: "poolKey";
590
+ readonly type: "tuple";
591
+ readonly components: readonly [{
592
+ readonly name: "currency0";
593
+ readonly type: "address";
594
+ }, {
595
+ readonly name: "currency1";
596
+ readonly type: "address";
597
+ }, {
598
+ readonly name: "fee";
599
+ readonly type: "uint24";
600
+ }, {
601
+ readonly name: "tickSpacing";
602
+ readonly type: "int24";
603
+ }, {
604
+ readonly name: "hooks";
605
+ readonly type: "address";
606
+ }];
607
+ }, {
608
+ readonly name: "zeroForOne";
609
+ readonly type: "bool";
610
+ }, {
611
+ readonly name: "hookData";
612
+ readonly type: "bytes";
613
+ }];
614
+ }, {
615
+ readonly name: "exactAmount";
616
+ readonly type: "uint128";
617
+ }];
618
+ }];
619
+ readonly name: "quoteExactInput";
620
+ readonly outputs: readonly [{
621
+ readonly name: "amountOut";
622
+ readonly type: "uint256";
623
+ }, {
624
+ readonly name: "gasEstimate";
625
+ readonly type: "uint256";
626
+ }];
627
+ readonly stateMutability: "nonpayable";
628
+ readonly type: "function";
629
+ }];
630
+ export declare const V4UniversalRouterABI: readonly [{
631
+ readonly inputs: readonly [{
632
+ readonly name: "commands";
633
+ readonly type: "bytes";
634
+ }, {
635
+ readonly name: "inputs";
636
+ readonly type: "bytes[]";
637
+ }, {
638
+ readonly name: "deadline";
639
+ readonly type: "uint256";
640
+ }];
641
+ readonly name: "execute";
642
+ readonly outputs: readonly [];
643
+ readonly stateMutability: "payable";
644
+ readonly type: "function";
645
+ }, {
646
+ readonly inputs: readonly [{
647
+ readonly name: "commands";
648
+ readonly type: "bytes";
649
+ }, {
650
+ readonly name: "inputs";
651
+ readonly type: "bytes[]";
652
+ }];
653
+ readonly name: "execute";
654
+ readonly outputs: readonly [];
655
+ readonly stateMutability: "payable";
656
+ readonly type: "function";
657
+ }];
427
658
  export declare const Permit2ABI: readonly [{
428
659
  readonly inputs: readonly [{
429
660
  readonly name: "owner";
@@ -466,5 +697,299 @@ export declare const Permit2ABI: readonly [{
466
697
  readonly outputs: readonly [];
467
698
  readonly stateMutability: "nonpayable";
468
699
  readonly type: "function";
700
+ }, {
701
+ readonly inputs: readonly [{
702
+ readonly name: "owner";
703
+ readonly type: "address";
704
+ }, {
705
+ readonly name: "permitSingle";
706
+ readonly type: "tuple";
707
+ readonly components: readonly [{
708
+ readonly name: "details";
709
+ readonly type: "tuple";
710
+ readonly components: readonly [{
711
+ readonly name: "token";
712
+ readonly type: "address";
713
+ }, {
714
+ readonly name: "amount";
715
+ readonly type: "uint160";
716
+ }, {
717
+ readonly name: "expiration";
718
+ readonly type: "uint48";
719
+ }, {
720
+ readonly name: "nonce";
721
+ readonly type: "uint48";
722
+ }];
723
+ }, {
724
+ readonly name: "spender";
725
+ readonly type: "address";
726
+ }, {
727
+ readonly name: "sigDeadline";
728
+ readonly type: "uint256";
729
+ }];
730
+ }, {
731
+ readonly name: "signature";
732
+ readonly type: "bytes";
733
+ }];
734
+ readonly name: "permit";
735
+ readonly outputs: readonly [];
736
+ readonly stateMutability: "nonpayable";
737
+ readonly type: "function";
738
+ }, {
739
+ readonly inputs: readonly [{
740
+ readonly name: "owner";
741
+ readonly type: "address";
742
+ }, {
743
+ readonly name: "permitBatch";
744
+ readonly type: "tuple";
745
+ readonly components: readonly [{
746
+ readonly name: "details";
747
+ readonly type: "tuple[]";
748
+ readonly components: readonly [{
749
+ readonly name: "token";
750
+ readonly type: "address";
751
+ }, {
752
+ readonly name: "amount";
753
+ readonly type: "uint160";
754
+ }, {
755
+ readonly name: "expiration";
756
+ readonly type: "uint48";
757
+ }, {
758
+ readonly name: "nonce";
759
+ readonly type: "uint48";
760
+ }];
761
+ }, {
762
+ readonly name: "spender";
763
+ readonly type: "address";
764
+ }, {
765
+ readonly name: "sigDeadline";
766
+ readonly type: "uint256";
767
+ }];
768
+ }, {
769
+ readonly name: "signature";
770
+ readonly type: "bytes";
771
+ }];
772
+ readonly name: "permit";
773
+ readonly outputs: readonly [];
774
+ readonly stateMutability: "nonpayable";
775
+ readonly type: "function";
776
+ }, {
777
+ readonly inputs: readonly [{
778
+ readonly name: "from";
779
+ readonly type: "address";
780
+ }, {
781
+ readonly name: "to";
782
+ readonly type: "address";
783
+ }, {
784
+ readonly name: "amount";
785
+ readonly type: "uint160";
786
+ }, {
787
+ readonly name: "token";
788
+ readonly type: "address";
789
+ }];
790
+ readonly name: "transferFrom";
791
+ readonly outputs: readonly [];
792
+ readonly stateMutability: "nonpayable";
793
+ readonly type: "function";
794
+ }, {
795
+ readonly inputs: readonly [{
796
+ readonly name: "transferDetails";
797
+ readonly type: "tuple[]";
798
+ readonly components: readonly [{
799
+ readonly name: "from";
800
+ readonly type: "address";
801
+ }, {
802
+ readonly name: "to";
803
+ readonly type: "address";
804
+ }, {
805
+ readonly name: "amount";
806
+ readonly type: "uint160";
807
+ }, {
808
+ readonly name: "token";
809
+ readonly type: "address";
810
+ }];
811
+ }];
812
+ readonly name: "transferFrom";
813
+ readonly outputs: readonly [];
814
+ readonly stateMutability: "nonpayable";
815
+ readonly type: "function";
816
+ }, {
817
+ readonly inputs: readonly [{
818
+ readonly name: "approvals";
819
+ readonly type: "tuple[]";
820
+ readonly components: readonly [{
821
+ readonly name: "token";
822
+ readonly type: "address";
823
+ }, {
824
+ readonly name: "spender";
825
+ readonly type: "address";
826
+ }];
827
+ }];
828
+ readonly name: "lockdown";
829
+ readonly outputs: readonly [];
830
+ readonly stateMutability: "nonpayable";
831
+ readonly type: "function";
832
+ }, {
833
+ readonly inputs: readonly [{
834
+ readonly name: "token";
835
+ readonly type: "address";
836
+ }, {
837
+ readonly name: "spender";
838
+ readonly type: "address";
839
+ }, {
840
+ readonly name: "newNonce";
841
+ readonly type: "uint48";
842
+ }];
843
+ readonly name: "invalidateNonces";
844
+ readonly outputs: readonly [];
845
+ readonly stateMutability: "nonpayable";
846
+ readonly type: "function";
847
+ }, {
848
+ readonly inputs: readonly [{
849
+ readonly name: "permit";
850
+ readonly type: "tuple";
851
+ readonly components: readonly [{
852
+ readonly name: "permitted";
853
+ readonly type: "tuple";
854
+ readonly components: readonly [{
855
+ readonly name: "token";
856
+ readonly type: "address";
857
+ }, {
858
+ readonly name: "amount";
859
+ readonly type: "uint256";
860
+ }];
861
+ }, {
862
+ readonly name: "nonce";
863
+ readonly type: "uint256";
864
+ }, {
865
+ readonly name: "deadline";
866
+ readonly type: "uint256";
867
+ }];
868
+ }, {
869
+ readonly name: "transferDetails";
870
+ readonly type: "tuple";
871
+ readonly components: readonly [{
872
+ readonly name: "to";
873
+ readonly type: "address";
874
+ }, {
875
+ readonly name: "requestedAmount";
876
+ readonly type: "uint256";
877
+ }];
878
+ }, {
879
+ readonly name: "owner";
880
+ readonly type: "address";
881
+ }, {
882
+ readonly name: "signature";
883
+ readonly type: "bytes";
884
+ }];
885
+ readonly name: "permitTransferFrom";
886
+ readonly outputs: readonly [];
887
+ readonly stateMutability: "nonpayable";
888
+ readonly type: "function";
889
+ }, {
890
+ readonly inputs: readonly [{
891
+ readonly name: "permit";
892
+ readonly type: "tuple";
893
+ readonly components: readonly [{
894
+ readonly name: "permitted";
895
+ readonly type: "tuple[]";
896
+ readonly components: readonly [{
897
+ readonly name: "token";
898
+ readonly type: "address";
899
+ }, {
900
+ readonly name: "amount";
901
+ readonly type: "uint256";
902
+ }];
903
+ }, {
904
+ readonly name: "nonce";
905
+ readonly type: "uint256";
906
+ }, {
907
+ readonly name: "deadline";
908
+ readonly type: "uint256";
909
+ }];
910
+ }, {
911
+ readonly name: "transferDetails";
912
+ readonly type: "tuple[]";
913
+ readonly components: readonly [{
914
+ readonly name: "to";
915
+ readonly type: "address";
916
+ }, {
917
+ readonly name: "requestedAmount";
918
+ readonly type: "uint256";
919
+ }];
920
+ }, {
921
+ readonly name: "owner";
922
+ readonly type: "address";
923
+ }, {
924
+ readonly name: "signature";
925
+ readonly type: "bytes";
926
+ }];
927
+ readonly name: "permitTransferFrom";
928
+ readonly outputs: readonly [];
929
+ readonly stateMutability: "nonpayable";
930
+ readonly type: "function";
931
+ }, {
932
+ readonly inputs: readonly [{
933
+ readonly name: "permit";
934
+ readonly type: "tuple";
935
+ readonly components: readonly [{
936
+ readonly name: "permitted";
937
+ readonly type: "tuple";
938
+ readonly components: readonly [{
939
+ readonly name: "token";
940
+ readonly type: "address";
941
+ }, {
942
+ readonly name: "amount";
943
+ readonly type: "uint256";
944
+ }];
945
+ }, {
946
+ readonly name: "nonce";
947
+ readonly type: "uint256";
948
+ }, {
949
+ readonly name: "deadline";
950
+ readonly type: "uint256";
951
+ }];
952
+ }, {
953
+ readonly name: "transferDetails";
954
+ readonly type: "tuple";
955
+ readonly components: readonly [{
956
+ readonly name: "to";
957
+ readonly type: "address";
958
+ }, {
959
+ readonly name: "requestedAmount";
960
+ readonly type: "uint256";
961
+ }];
962
+ }, {
963
+ readonly name: "owner";
964
+ readonly type: "address";
965
+ }, {
966
+ readonly name: "witness";
967
+ readonly type: "bytes32";
968
+ }, {
969
+ readonly name: "witnessTypeString";
970
+ readonly type: "string";
971
+ }, {
972
+ readonly name: "signature";
973
+ readonly type: "bytes";
974
+ }];
975
+ readonly name: "permitWitnessTransferFrom";
976
+ readonly outputs: readonly [];
977
+ readonly stateMutability: "nonpayable";
978
+ readonly type: "function";
979
+ }, {
980
+ readonly inputs: readonly [{
981
+ readonly name: "owner";
982
+ readonly type: "address";
983
+ }, {
984
+ readonly name: "word";
985
+ readonly type: "uint256";
986
+ }];
987
+ readonly name: "nonceBitmap";
988
+ readonly outputs: readonly [{
989
+ readonly name: "bitmap";
990
+ readonly type: "uint256";
991
+ }];
992
+ readonly stateMutability: "view";
993
+ readonly type: "function";
469
994
  }];
470
995
  //# sourceMappingURL=uniswap-abis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-abis.d.ts","sourceRoot":"","sources":["../src/uniswap-abis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDf,CAAC;AAMX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDvB,CAAC;AAMX,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsKlC,CAAC;AAMX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Bb,CAAC"}
1
+ {"version":3,"file":"uniswap-abis.d.ts","sourceRoot":"","sources":["../src/uniswap-abis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDf,CAAC;AAMX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDvB,CAAC;AAMX,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsKlC,CAAC;AAMX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCnB,CAAC;AAMX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsGd,CAAC;AAOX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBvB,CAAC;AAiBX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6Rb,CAAC"}