@towns-protocol/generated 0.0.267 → 0.0.277
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/deployments.json +1 -0
- package/deployments/omega/base/addresses/appRegistry.json +3 -0
- package/dev/abis/Channels.abi.json +13 -280
- package/dev/abis/Channels.abi.ts +13 -280
- package/dev/abis/DropFacet.abi.json +25 -0
- package/dev/abis/DropFacet.abi.ts +25 -0
- package/dev/abis/EntitlementsManager.abi.json +0 -283
- package/dev/abis/EntitlementsManager.abi.ts +0 -283
- package/dev/abis/ICreateSpace.abi.json +29 -0
- package/dev/abis/ICreateSpace.abi.ts +29 -0
- package/dev/abis/ICreateSpaceBase.abi.json +7 -0
- package/dev/abis/ICreateSpaceBase.abi.ts +7 -0
- package/dev/abis/ISwapFacet.abi.json +10 -0
- package/dev/abis/ISwapFacet.abi.ts +10 -0
- package/dev/abis/ISwapFacetBase.abi.json +5 -0
- package/dev/abis/ISwapFacetBase.abi.ts +5 -0
- package/dev/abis/ISwapRouter.abi.json +5 -0
- package/dev/abis/ISwapRouter.abi.ts +5 -0
- package/dev/abis/ISwapRouterBase.abi.json +5 -0
- package/dev/abis/ISwapRouterBase.abi.ts +5 -0
- package/dev/abis/MembershipFacet.abi.json +0 -117
- package/dev/abis/MembershipFacet.abi.ts +0 -117
- package/dev/abis/PrepayFacet.abi.json +0 -288
- package/dev/abis/PrepayFacet.abi.ts +0 -288
- package/dev/abis/Roles.abi.json +13 -280
- package/dev/abis/Roles.abi.ts +13 -280
- package/dev/typings/Channels.ts +0 -169
- package/dev/typings/DropFacet.ts +25 -0
- package/dev/typings/EntitlementsManager.ts +0 -170
- package/dev/typings/ICreateSpace.ts +48 -8
- package/dev/typings/MembershipFacet.ts +0 -65
- package/dev/typings/PrepayFacet.ts +0 -169
- package/dev/typings/Roles.ts +0 -169
- package/dev/typings/factories/Channels__factory.ts +14 -281
- package/dev/typings/factories/DropFacet__factory.ts +26 -1
- package/dev/typings/factories/EntitlementsManager__factory.ts +1 -284
- package/dev/typings/factories/ICreateSpace__factory.ts +29 -0
- package/dev/typings/factories/ISwapFacet__factory.ts +10 -0
- package/dev/typings/factories/ISwapRouter__factory.ts +5 -0
- package/dev/typings/factories/MembershipFacet__factory.ts +1 -118
- package/dev/typings/factories/MockERC721A__factory.ts +1 -1
- package/dev/typings/factories/PrepayFacet__factory.ts +0 -288
- package/dev/typings/factories/Roles__factory.ts +14 -281
- package/dev/typings/factories/SpaceOwner__factory.ts +1 -1
- package/dev/typings/factories/WalletLink__factory.ts +1 -1
- package/package.json +2 -2
|
@@ -367,106 +367,6 @@ const _abi = [
|
|
|
367
367
|
outputs: [],
|
|
368
368
|
stateMutability: "nonpayable",
|
|
369
369
|
},
|
|
370
|
-
{
|
|
371
|
-
type: "event",
|
|
372
|
-
name: "Approval",
|
|
373
|
-
inputs: [
|
|
374
|
-
{
|
|
375
|
-
name: "owner",
|
|
376
|
-
type: "address",
|
|
377
|
-
indexed: true,
|
|
378
|
-
internalType: "address",
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
name: "approved",
|
|
382
|
-
type: "address",
|
|
383
|
-
indexed: true,
|
|
384
|
-
internalType: "address",
|
|
385
|
-
},
|
|
386
|
-
{
|
|
387
|
-
name: "tokenId",
|
|
388
|
-
type: "uint256",
|
|
389
|
-
indexed: true,
|
|
390
|
-
internalType: "uint256",
|
|
391
|
-
},
|
|
392
|
-
],
|
|
393
|
-
anonymous: false,
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
type: "event",
|
|
397
|
-
name: "ApprovalForAll",
|
|
398
|
-
inputs: [
|
|
399
|
-
{
|
|
400
|
-
name: "owner",
|
|
401
|
-
type: "address",
|
|
402
|
-
indexed: true,
|
|
403
|
-
internalType: "address",
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
name: "operator",
|
|
407
|
-
type: "address",
|
|
408
|
-
indexed: true,
|
|
409
|
-
internalType: "address",
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
name: "approved",
|
|
413
|
-
type: "bool",
|
|
414
|
-
indexed: false,
|
|
415
|
-
internalType: "bool",
|
|
416
|
-
},
|
|
417
|
-
],
|
|
418
|
-
anonymous: false,
|
|
419
|
-
},
|
|
420
|
-
{
|
|
421
|
-
type: "event",
|
|
422
|
-
name: "Banned",
|
|
423
|
-
inputs: [
|
|
424
|
-
{
|
|
425
|
-
name: "moderator",
|
|
426
|
-
type: "address",
|
|
427
|
-
indexed: true,
|
|
428
|
-
internalType: "address",
|
|
429
|
-
},
|
|
430
|
-
{
|
|
431
|
-
name: "tokenId",
|
|
432
|
-
type: "uint256",
|
|
433
|
-
indexed: true,
|
|
434
|
-
internalType: "uint256",
|
|
435
|
-
},
|
|
436
|
-
],
|
|
437
|
-
anonymous: false,
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
type: "event",
|
|
441
|
-
name: "ConsecutiveTransfer",
|
|
442
|
-
inputs: [
|
|
443
|
-
{
|
|
444
|
-
name: "fromTokenId",
|
|
445
|
-
type: "uint256",
|
|
446
|
-
indexed: true,
|
|
447
|
-
internalType: "uint256",
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
name: "toTokenId",
|
|
451
|
-
type: "uint256",
|
|
452
|
-
indexed: false,
|
|
453
|
-
internalType: "uint256",
|
|
454
|
-
},
|
|
455
|
-
{
|
|
456
|
-
name: "from",
|
|
457
|
-
type: "address",
|
|
458
|
-
indexed: true,
|
|
459
|
-
internalType: "address",
|
|
460
|
-
},
|
|
461
|
-
{
|
|
462
|
-
name: "to",
|
|
463
|
-
type: "address",
|
|
464
|
-
indexed: true,
|
|
465
|
-
internalType: "address",
|
|
466
|
-
},
|
|
467
|
-
],
|
|
468
|
-
anonymous: false,
|
|
469
|
-
},
|
|
470
370
|
{
|
|
471
371
|
type: "event",
|
|
472
372
|
name: "OwnershipTransferred",
|
|
@@ -486,19 +386,6 @@ const _abi = [
|
|
|
486
386
|
],
|
|
487
387
|
anonymous: false,
|
|
488
388
|
},
|
|
489
|
-
{
|
|
490
|
-
type: "event",
|
|
491
|
-
name: "Paused",
|
|
492
|
-
inputs: [
|
|
493
|
-
{
|
|
494
|
-
name: "account",
|
|
495
|
-
type: "address",
|
|
496
|
-
indexed: false,
|
|
497
|
-
internalType: "address",
|
|
498
|
-
},
|
|
499
|
-
],
|
|
500
|
-
anonymous: false,
|
|
501
|
-
},
|
|
502
389
|
{
|
|
503
390
|
type: "event",
|
|
504
391
|
name: "PermissionsAddedToChannelRole",
|
|
@@ -631,121 +518,6 @@ const _abi = [
|
|
|
631
518
|
],
|
|
632
519
|
anonymous: false,
|
|
633
520
|
},
|
|
634
|
-
{
|
|
635
|
-
type: "event",
|
|
636
|
-
name: "Transfer",
|
|
637
|
-
inputs: [
|
|
638
|
-
{
|
|
639
|
-
name: "from",
|
|
640
|
-
type: "address",
|
|
641
|
-
indexed: true,
|
|
642
|
-
internalType: "address",
|
|
643
|
-
},
|
|
644
|
-
{
|
|
645
|
-
name: "to",
|
|
646
|
-
type: "address",
|
|
647
|
-
indexed: true,
|
|
648
|
-
internalType: "address",
|
|
649
|
-
},
|
|
650
|
-
{
|
|
651
|
-
name: "tokenId",
|
|
652
|
-
type: "uint256",
|
|
653
|
-
indexed: true,
|
|
654
|
-
internalType: "uint256",
|
|
655
|
-
},
|
|
656
|
-
],
|
|
657
|
-
anonymous: false,
|
|
658
|
-
},
|
|
659
|
-
{
|
|
660
|
-
type: "event",
|
|
661
|
-
name: "Unbanned",
|
|
662
|
-
inputs: [
|
|
663
|
-
{
|
|
664
|
-
name: "moderator",
|
|
665
|
-
type: "address",
|
|
666
|
-
indexed: true,
|
|
667
|
-
internalType: "address",
|
|
668
|
-
},
|
|
669
|
-
{
|
|
670
|
-
name: "tokenId",
|
|
671
|
-
type: "uint256",
|
|
672
|
-
indexed: true,
|
|
673
|
-
internalType: "uint256",
|
|
674
|
-
},
|
|
675
|
-
],
|
|
676
|
-
anonymous: false,
|
|
677
|
-
},
|
|
678
|
-
{
|
|
679
|
-
type: "event",
|
|
680
|
-
name: "Unpaused",
|
|
681
|
-
inputs: [
|
|
682
|
-
{
|
|
683
|
-
name: "account",
|
|
684
|
-
type: "address",
|
|
685
|
-
indexed: false,
|
|
686
|
-
internalType: "address",
|
|
687
|
-
},
|
|
688
|
-
],
|
|
689
|
-
anonymous: false,
|
|
690
|
-
},
|
|
691
|
-
{
|
|
692
|
-
type: "error",
|
|
693
|
-
name: "ApprovalCallerNotOwnerNorApproved",
|
|
694
|
-
inputs: [],
|
|
695
|
-
},
|
|
696
|
-
{
|
|
697
|
-
type: "error",
|
|
698
|
-
name: "ApprovalQueryForNonexistentToken",
|
|
699
|
-
inputs: [],
|
|
700
|
-
},
|
|
701
|
-
{
|
|
702
|
-
type: "error",
|
|
703
|
-
name: "BalanceQueryForZeroAddress",
|
|
704
|
-
inputs: [],
|
|
705
|
-
},
|
|
706
|
-
{
|
|
707
|
-
type: "error",
|
|
708
|
-
name: "Banning__AlreadyBanned",
|
|
709
|
-
inputs: [
|
|
710
|
-
{
|
|
711
|
-
name: "tokenId",
|
|
712
|
-
type: "uint256",
|
|
713
|
-
internalType: "uint256",
|
|
714
|
-
},
|
|
715
|
-
],
|
|
716
|
-
},
|
|
717
|
-
{
|
|
718
|
-
type: "error",
|
|
719
|
-
name: "Banning__CannotBanOwner",
|
|
720
|
-
inputs: [],
|
|
721
|
-
},
|
|
722
|
-
{
|
|
723
|
-
type: "error",
|
|
724
|
-
name: "Banning__CannotBanSelf",
|
|
725
|
-
inputs: [],
|
|
726
|
-
},
|
|
727
|
-
{
|
|
728
|
-
type: "error",
|
|
729
|
-
name: "Banning__InvalidTokenId",
|
|
730
|
-
inputs: [
|
|
731
|
-
{
|
|
732
|
-
name: "tokenId",
|
|
733
|
-
type: "uint256",
|
|
734
|
-
internalType: "uint256",
|
|
735
|
-
},
|
|
736
|
-
],
|
|
737
|
-
},
|
|
738
|
-
{
|
|
739
|
-
type: "error",
|
|
740
|
-
name: "Banning__NotBanned",
|
|
741
|
-
inputs: [
|
|
742
|
-
{
|
|
743
|
-
name: "tokenId",
|
|
744
|
-
type: "uint256",
|
|
745
|
-
internalType: "uint256",
|
|
746
|
-
},
|
|
747
|
-
],
|
|
748
|
-
},
|
|
749
521
|
{
|
|
750
522
|
type: "error",
|
|
751
523
|
name: "Entitlement__InvalidValue",
|
|
@@ -781,21 +553,6 @@ const _abi = [
|
|
|
781
553
|
name: "EntitlementsService__InvalidEntitlementInterface",
|
|
782
554
|
inputs: [],
|
|
783
555
|
},
|
|
784
|
-
{
|
|
785
|
-
type: "error",
|
|
786
|
-
name: "MintERC2309QuantityExceedsLimit",
|
|
787
|
-
inputs: [],
|
|
788
|
-
},
|
|
789
|
-
{
|
|
790
|
-
type: "error",
|
|
791
|
-
name: "MintToZeroAddress",
|
|
792
|
-
inputs: [],
|
|
793
|
-
},
|
|
794
|
-
{
|
|
795
|
-
type: "error",
|
|
796
|
-
name: "MintZeroQuantity",
|
|
797
|
-
inputs: [],
|
|
798
|
-
},
|
|
799
556
|
{
|
|
800
557
|
type: "error",
|
|
801
558
|
name: "Ownable__NotOwner",
|
|
@@ -817,21 +574,6 @@ const _abi = [
|
|
|
817
574
|
name: "OwnerQueryForNonexistentToken",
|
|
818
575
|
inputs: [],
|
|
819
576
|
},
|
|
820
|
-
{
|
|
821
|
-
type: "error",
|
|
822
|
-
name: "OwnershipNotInitializedForExtraData",
|
|
823
|
-
inputs: [],
|
|
824
|
-
},
|
|
825
|
-
{
|
|
826
|
-
type: "error",
|
|
827
|
-
name: "Pausable__NotPaused",
|
|
828
|
-
inputs: [],
|
|
829
|
-
},
|
|
830
|
-
{
|
|
831
|
-
type: "error",
|
|
832
|
-
name: "Pausable__Paused",
|
|
833
|
-
inputs: [],
|
|
834
|
-
},
|
|
835
577
|
{
|
|
836
578
|
type: "error",
|
|
837
579
|
name: "Roles__EntitlementAlreadyExists",
|
|
@@ -874,33 +616,24 @@ const _abi = [
|
|
|
874
616
|
},
|
|
875
617
|
{
|
|
876
618
|
type: "error",
|
|
877
|
-
name: "
|
|
878
|
-
inputs: [
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
{
|
|
891
|
-
type: "error",
|
|
892
|
-
name: "TransferToZeroAddress",
|
|
893
|
-
inputs: [],
|
|
894
|
-
},
|
|
895
|
-
{
|
|
896
|
-
type: "error",
|
|
897
|
-
name: "URIQueryForNonexistentToken",
|
|
898
|
-
inputs: [],
|
|
619
|
+
name: "SafeCastOverflowedUintDowncast",
|
|
620
|
+
inputs: [
|
|
621
|
+
{
|
|
622
|
+
name: "bits",
|
|
623
|
+
type: "uint8",
|
|
624
|
+
internalType: "uint8",
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
name: "value",
|
|
628
|
+
type: "uint256",
|
|
629
|
+
internalType: "uint256",
|
|
630
|
+
},
|
|
631
|
+
],
|
|
899
632
|
},
|
|
900
633
|
] as const;
|
|
901
634
|
|
|
902
635
|
const _bytecode =
|
|
903
|
-
"0x6080604052348015600e575f5ffd5b5061393d8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c80639a8e4c3e11610088578063ba201ba811610063578063ba201ba8146101be578063bd9af74a146101d1578063d2dea2b9146101e4578063dba81864146101f7575f5ffd5b80639a8e4c3e14610185578063b426423314610198578063b7515761146101ab575f5ffd5b8063784c872b116100b8578063784c872b146101315780638fcd793d146101515780639269182114610172575f5ffd5b80634d8b50a2146100de57806365634a48146100f3578063710613981461011c575b5f5ffd5b6100f16100ec366004612ce5565b61020a565b005b610106610101366004612d8d565b610260565b6040516101139190612df9565b60405180910390f35b610124610275565b6040516101139190612f95565b61014461013f36600461300a565b610284565b6040516101139190613021565b61016461015f366004613033565b6102c8565b604051908152602001610113565b6100f161018036600461300a565b610320565b6100f16101933660046130d2565b61036a565b6101066101a636600461300a565b6103ed565b6100f16101b93660046130d2565b610428565b6100f16101cc36600461311a565b6104a6565b6100f16101df366004613164565b6104f2565b6100f16101f2366004612d8d565b610542565b6100f161020536600461311a565b61058a565b6102486040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61025787878787878787610660565b50505050505050565b606061026c8383610a16565b90505b92915050565b606061027f610a6a565b905090565b6102b66040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b6102bf82610ba5565b61026f82610bfc565b5f6103076040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b610315878787878787610c71565b979650505050505050565b61035e6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61036781610e29565b50565b6103a86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6103b183610ba5565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383610f54565b505050565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040902060609061026f906002016110a8565b6104666040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61046f83610ba5565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e890838361117f565b6104e46040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee8282611250565b5050565b6105306040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61053c848484846112d3565b50505050565b6105806040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee828261142f565b6105c86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee82826114f1565b336105db611567565b73ffffffffffffffffffffffffffffffffffffffff16148061062f57507fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615801561062f575061062f3382611627565b156106375750565b6103677f338e692c0000000000000000000000000000000000000000000000000000000061163b565b61066987610ba5565b5f8781527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260409020600181015460ff16156106cb576106cb7f497dbeb10000000000000000000000000000000000000000000000000000000061163b565b5f6106d582611643565b8051909150835f8167ffffffffffffffff8111156106f5576106f56131b3565b60405190808252806020026020018201604052801561071e578160200160208202803683370190505b5090505f5b828110156107b3575f88888381811061073e5761073e6131e0565b9050602002810190610750919061320d565b61075e90602081019061326a565b905061076981611659565b610772816117d7565b80838381518110610785576107856131e0565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015250600101610723565b5089156107c857846107c68b8d83613314565b505b87156107e5576107da85600201611858565b6107e5858a8a61117f565b815f036107f6575050505050610257565b5f5b838110156108345761082c858281518110610815576108156131e0565b60200260200101518761194090919063ffffffff16565b6001016107f8565b505f5b828110156108735761086b828281518110610854576108546131e0565b60200260200101518761198790919063ffffffff16565b600101610837565b505f5b83811015610968575f858281518110610891576108916131e0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16631eee07b28f6040518263ffffffff1660e01b81526004016108d391815260200190565b5f60405180830381865afa1580156108ed573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109329190810190613479565b80519091501561095f5761095f868381518110610951576109516131e0565b60200260200101518f6119cf565b50600101610876565b505f5b828110156109db5736888883818110610986576109866131e0565b9050602002810190610998919061320d565b90506109af6109aa602083018361352b565b611a57565b6109d26109bf602083018361326a565b8f6109cd602085018561352b565b611a88565b5060010161096b565b506040518c9033907f1aff41ff8e9139aae6bb355cc69107cda7e1d1dcd25511da436f3171bdbf77e6905f90a3505050505050505050505050565b6060610a2183610ba5565b610a2a82611b1a565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0560209081526040808320858452909152902061026c906110a8565b60605f610a75611b71565b80519091508067ffffffffffffffff811115610a9357610a936131b3565b604051908082528060200260200182016040528015610af657816020015b610ae36040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081610ab15790505b5092505f5b81811015610b9f575f5f5f5f610b29878681518110610b1c57610b1c6131e0565b6020026020010151611b9c565b93509350935093506040518060a00160405280888781518110610b4e57610b4e6131e0565b60200260200101518152602001858152602001841515815260200183815260200182815250888681518110610b8557610b856131e0565b602002602001018190525050505050806001019050610afb565b50505090565b610bcf7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611c88565b610367576103677fa3f70f7b0000000000000000000000000000000000000000000000000000000061163b565b610c2e6040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b5f5f5f5f610c3b86611b9c565b6040805160a0810182529a8b5260208b019490945291151592890192909252606088019190915260808701525093949350505050565b5f610c7e87876002611c9f565b815f8167ffffffffffffffff811115610c9957610c996131b3565b604051908082528060200260200182016040528015610cc2578160200160208202803683370190505b507f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0080549192509081905f90610cf7906135b9565b918290555093505f5b83811015610dbe5736878783818110610d1b57610d1b6131e0565b9050602002810190610d2d919061320d565b9050610d44610d3f602083018361326a565b611659565b610d51602082018261326a565b848381518110610d6357610d636131e0565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101820152610d97906109aa9083018361352b565b610db5610da7602083018361326a565b876109cd602085018561352b565b50600101610d00565b50610dcc6001820185611cd0565b505f848152600382016020526040812090610def9082908d908d908d8d89611cdb565b604051859033907f20a7a288530dd94b1eccaa691a582ecfd7550c9dfcee78ddf50a97f774a2b147905f90a3505050509695505050505050565b610e3281610ba5565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091610e8982611643565b9050610e9482611dd9565b610ea16001840185611e36565b505f610eac85611e41565b80519091505f5b81811015610ee657610ede838281518110610ed057610ed06131e0565b602002602001015188611f26565b600101610eb3565b5082515f5b81811015610f1e57610f16858281518110610f0857610f086131e0565b6020026020010151896119cf565b600101610eeb565b50604051879033907f268a6f1b90f6f5ddf50cc736d36513e80cdc5fd56326bff71f335e8b4b61d055905f90a350505050505050565b805f5b818110156110a157610f8b848483818110610f7457610f746131e0565b9050602002810190610f86919061352b565b611fc7565b611006848483818110610fa057610fa06131e0565b9050602002810190610fb2919061352b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050825160208185018101805160038d01825292820191909501209352505054151590565b611033576110337f3e2b02610000000000000000000000000000000000000000000000000000000061163b565b611098848483818110611048576110486131e0565b905060200281019061105a919061352b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506002890192915050611ff8565b50600101610f57565b5050505050565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015611174578382905f5260205f200180546110e990613285565b80601f016020809104026020016040519081016040528092919081815260200182805461111590613285565b80156111605780601f1061113757610100808354040283529160200191611160565b820191905f5260205f20905b81548152906001019060200180831161114357829003601f168201915b5050505050815260200190600101906110cc565b505050509050919050565b805f5b818110156110a15761119f848483818110610f7457610f746131e0565b6111b4848483818110610fa057610fa06131e0565b156111e2576111e27fb0ab68210000000000000000000000000000000000000000000000000000000061163b565b6112478484838181106111f7576111f76131e0565b9050602002810190611209919061352b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506002890192915050612148565b50600101611182565b61125982610ba5565b61126e611269602083018361326a565b6117d7565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906112b5906112ae9084018461326a565b8290611987565b6103e86112c5602084018461326a565b846109cd602086018661352b565b808015611429576112e385610ba5565b6112ec84611b1a565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd009061134e81611858565b5f5b838110156113d95761136d868683818110610f7457610f746131e0565b6113d0868683818110611382576113826131e0565b9050602002810190611394919061352b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525086939250506121489050565b50600101611350565b505f87815260048301602052604090206113f39087611cd0565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a450506110a1565b6110a185855b61143882610ba5565b61144181611b1a565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906114a381611858565b5f84815260048301602052604090206114bc9084611e36565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b6114fa82610ba5565b61150a611269602083018361326a565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906115519061154a9084018461326a565b8290611940565b6103e8611561602084018461326a565b846119cf565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156115fd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162191906135f0565b91505090565b5f61026c81846116368561360b565b61219e565b805f5260045ffd5b60605f6116528360040161246e565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166116a6576040517fe0dc2ae000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527ff785968a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa92505050801561176a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526117679181019061364d565b60015b6117a0576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806104ee576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931006118227fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931018361247a565b6104ee576040517fbd599b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805481905f5b81811015611938575f84815260208120820190505f61192486835f01805461188590613285565b80601f01602080910402602001604051908101604052809291908181526020018280546118b190613285565b80156118fc5780601f106118d3576101008083540402835291602001916118fc565b820191905f5260205f20905b8154815290600101906020018083116118df57829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b5561192f815f612c15565b5060010161185e565b50505f905550565b61194d600483018261247a565b61197a5761197a7f480a52fa0000000000000000000000000000000000000000000000000000000061163b565b6103e860048301826124a8565b611994600483018261247a565b156119c2576119c27ffb5584f10000000000000000000000000000000000000000000000000000000061163b565b6103e860048301826124c9565b6119d8826117d7565b6040517ff0c111f90000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff83169063f0c111f9906024015f604051808303815f87803b158015611a3d575f5ffd5b505af1158015611a4f573d5f5f3e3d5ffd5b505050505050565b5f8190036104ee576104ee7f947d5a840000000000000000000000000000000000000000000000000000000061163b565b611a91846117d7565b6040517fef8be57400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063ef8be57490611ae79086908690869060040161366c565b5f604051808303815f87803b158015611afe575f5ffd5b505af1158015611b10573d5f5f3e3d5ffd5b5050505050505050565b611b447f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430082611c88565b610367576103677fac1696820000000000000000000000000000000000000000000000000000000061163b565b606061027f7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0161246e565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190611bde90613285565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0a90613285565b8015611c555780601f10611c2c57610100808354040283529160200191611c55565b820191905f5260205f20905b815481529060010190602001808311611c3857829003601f168201915b5050505060018301549196505060ff169350611c73600282016110a8565b9250611c7e81611643565b9150509193509193565b5f818152600183016020526040812054151561026c565b808210156103e8576103e87f947d5a840000000000000000000000000000000000000000000000000000000061163b565b5f61026c83836124e6565b86611ce7868883613314565b506001870180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016851515179055611d2187848461117f565b5f5b8151811015611b10575f73ffffffffffffffffffffffffffffffffffffffff16828281518110611d5557611d556131e0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611da157611da17f7442429b0000000000000000000000000000000000000000000000000000000061163b565b611dd0828281518110611db657611db66131e0565b6020026020010151896004016124c990919063ffffffff16565b50600101611d23565b60408051602081019091525f81528190611df390826136bf565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611e2a60028201611858565b61036781600401612532565b5f61026c838361253b565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005f611e6e8261261e565b90505f8167ffffffffffffffff811115611e8a57611e8a6131b3565b604051908082528060200260200182016040528015611eb3578160200160208202803683370190505b5093505f5b82811015611f1b575f611ecb8583612627565b5f8181526003870160205260409020909150611ee79088611c88565b15611f125780868480600101955081518110611f0557611f056131e0565b6020026020010181815250505b50600101611eb8565b508352509092915050565b611f2f82611b1a565b611f3882612632565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090611f908184611c88565b611fbd57611fbd7f6796073e0000000000000000000000000000000000000000000000000000000061163b565b6110a18184611e36565b5f8190036104ee576104ee7f0ce76c100000000000000000000000000000000000000000000000000000000061163b565b8051602081830181018051600186018252928201918401919091209190528054801580159291906121405784545f868152602090208691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083019183010184831461212d575f815f01805461206e90613285565b80601f016020809104026020016040519081016040528092919081815260200182805461209a90613285565b80156120e55780601f106120bc576101008083540402835291602001916120e5565b820191905f5260205f20905b8154815290600101906020018083116120c857829003601f168201915b50505050509050806121028b600189035f91825260209091200190565b9061210d90826136bf565b50805160208183018101805160018e018252928201919093012091528590555b612137815f612c15565b50909155505f82555b505092915050565b805160208183018101805160018601825292820191840191909120919052805415908115612197578354600181018086555f8681526020902086929190820161219187826136bf565b50835550505b5092915050565b5f5f6121a8611567565b90505f6121b485612693565b80519091505f6121c26129d7565b80519091505f5b838110156122b1575f8582815181106121e4576121e46131e0565b602002602001015190508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612231576001975050505050505050611652565b5f5b838110156122a7578173ffffffffffffffffffffffffffffffffffffffff16612274868381518110612267576122676131e0565b6020026020010151612a02565b73ffffffffffffffffffffffffffffffffffffffff160361229f575f98505050505050505050611652565b600101612233565b50506001016121c9565b507fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6122fd7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c9310161261e565b90505f5b8181101561245d575f83816123196001830185612627565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182015f205482517f2e1b61e40000000000000000000000000000000000000000000000000000000081529251911693508392632e1b61e492600480820193918290030181865afa158015612395573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123b9919061364d565b15801561243d57508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5338e8a8e6040518463ffffffff1660e01b81526004016123fe939291906137d6565b602060405180830381865afa158015612419573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061243d919061364d565b156124545760019950505050505050505050611652565b50600101612301565b505f9b9a5050505050505050505050565b60605f61165283612a0c565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600183016020526040812054151561026c565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff841661253b565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff84165b5f81815260018301602052604081205461252b57508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561026f565b505f61026f565b61036781612a65565b5f8181526001830160205260408120548015612615575f61255d600183613841565b85549091505f9061257090600190613841565b90508082146125cf575f865f01828154811061258e5761258e6131e0565b905f5260205f200154905080875f0184815481106125ae576125ae6131e0565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806125e0576125e0613854565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061026f565b5f91505061026f565b5f61026f825490565b5f61026c8383612abe565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff1615610367576103677fd9c005120000000000000000000000000000000000000000000000000000000061163b565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa15801561272a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261276f9190810190613881565b905080515f036128e0576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa1580156127e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280a91906135f0565b905073ffffffffffffffffffffffffffffffffffffffff8116156128de576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015612896573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128db9190810190613881565b91505b505b80515f6128ee82600161392a565b67ffffffffffffffff811115612906576129066131b3565b60405190808252806020026020018201604052801561292f578160200160208202803683370190505b5090505f5b828110156129955783818151811061294e5761294e6131e0565b6020026020010151828281518110612968576129686131e0565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612934565b50858183815181106129a9576129a96131e0565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b606061027f7f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf0061246e565b5f61026f82612ae4565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612a5957602002820191905f5260205f20905b815481526020019060010190808311612a45575b50505050509050919050565b5f612a6e825490565b90505f5b81811015612ab757826001015f845f018381548110612a9357612a936131e0565b905f5260205f20015481526020019081526020015f205f9055806001019050612a72565b50505f9055565b5f825f018281548110612ad357612ad36131e0565b905f5260205f200154905092915050565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003612be257815f03612bdc5780548310612b9b576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115612b9c575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054612c2190613285565b5f825580601f10612c30575050565b601f0160209004905f5260205f209081019061036791905b80821115612c5b575f8155600101612c48565b5090565b5f5f83601f840112612c6f575f5ffd5b50813567ffffffffffffffff811115612c86575f5ffd5b602083019150836020828501011115612c9d575f5ffd5b9250929050565b5f5f83601f840112612cb4575f5ffd5b50813567ffffffffffffffff811115612ccb575f5ffd5b6020830191508360208260051b8501011115612c9d575f5ffd5b5f5f5f5f5f5f5f6080888a031215612cfb575f5ffd5b87359650602088013567ffffffffffffffff811115612d18575f5ffd5b612d248a828b01612c5f565b909750955050604088013567ffffffffffffffff811115612d43575f5ffd5b612d4f8a828b01612ca4565b909550935050606088013567ffffffffffffffff811115612d6e575f5ffd5b612d7a8a828b01612ca4565b989b979a50959850939692959293505050565b5f5f60408385031215612d9e575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612e59858351612dad565b94506020938401939190910190600101612e1f565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015612ec057815173ffffffffffffffffffffffffffffffffffffffff16865260209586019590910190600101612e8c565b5093949350505050565b805182525f602082015160a06020850152612ee860a0850182612dad565b90506040830151151560408501526060830151848203606086015281815180845260208401915060208160051b8501016020840193505f5b82811015612f6f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868303018452612f5a828651612dad565b60209586019594909401939150600101612f20565b50608087015194508781036080890152612f898186612e7a565b98975050505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612ff5858351612eca565b94506020938401939190910190600101612fbb565b5f6020828403121561301a575f5ffd5b5035919050565b602081525f61026c6020830184612eca565b5f5f5f5f5f5f60608789031215613048575f5ffd5b863567ffffffffffffffff81111561305e575f5ffd5b61306a89828a01612c5f565b909750955050602087013567ffffffffffffffff811115613089575f5ffd5b61309589828a01612ca4565b909550935050604087013567ffffffffffffffff8111156130b4575f5ffd5b6130c089828a01612ca4565b979a9699509497509295939492505050565b5f5f5f604084860312156130e4575f5ffd5b83359250602084013567ffffffffffffffff811115613101575f5ffd5b61310d86828701612ca4565b9497909650939450505050565b5f5f6040838503121561312b575f5ffd5b82359150602083013567ffffffffffffffff811115613148575f5ffd5b830160408186031215613159575f5ffd5b809150509250929050565b5f5f5f5f60608587031215613177575f5ffd5b8435935060208501359250604085013567ffffffffffffffff81111561319b575f5ffd5b6131a787828801612ca4565b95989497509550505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261323f575f5ffd5b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610367575f5ffd5b5f6020828403121561327a575f5ffd5b813561165281613249565b600181811c9082168061329957607f821691505b602082108103612bdc577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156103e857805f5260205f20601f840160051c810160208510156132f55750805b601f840160051c820191505b818110156110a1575f8155600101613301565b67ffffffffffffffff83111561332c5761332c6131b3565b6133408361333a8354613285565b836132d0565b5f601f841160018114613390575f851561335a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556110a1565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156133dd57868501358255602094850194600190920191016133bd565b5086821015613418577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613471576134716131b3565b604052919050565b5f60208284031215613489575f5ffd5b815167ffffffffffffffff81111561349f575f5ffd5b8201601f810184136134af575f5ffd5b805167ffffffffffffffff8111156134c9576134c96131b3565b6134fa60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161342a565b81815285602083850101111561350e575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261355e575f5ffd5b83018035915067ffffffffffffffff821115613578575f5ffd5b602001915036819003821315612c9d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135e9576135e961358c565b5060010190565b5f60208284031215613600575f5ffd5b815161165281613249565b80516020808301519190811015612bdc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f6020828403121561365d575f5ffd5b81518015158114611652575f5ffd5b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b815167ffffffffffffffff8111156136d9576136d96131b3565b6136ed816136e78454613285565b846132d0565b6020601f82116001811461373e575f83156137085750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556110a1565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561378b578785015182556020948501946001909201910161376b565b50848210156137c757868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561382d57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016137f9565b505060409390930193909352509392505050565b8181038181111561026f5761026f61358c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f60208284031215613891575f5ffd5b815167ffffffffffffffff8111156138a7575f5ffd5b8201601f810184136138b7575f5ffd5b805167ffffffffffffffff8111156138d1576138d16131b3565b8060051b6138e16020820161342a565b918252602081840181019290810190878411156138fc575f5ffd5b6020850194505b83851015610315578451925061391883613249565b82825260209485019490910190613903565b8082018082111561026f5761026f61358c56";
|
|
636
|
+
"0x6080604052348015600e575f5ffd5b506144168061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c80639a8e4c3e11610088578063ba201ba811610063578063ba201ba8146101be578063bd9af74a146101d1578063d2dea2b9146101e4578063dba81864146101f7575f5ffd5b80639a8e4c3e14610185578063b426423314610198578063b7515761146101ab575f5ffd5b8063784c872b116100b8578063784c872b146101315780638fcd793d146101515780639269182114610172575f5ffd5b80634d8b50a2146100de57806365634a48146100f3578063710613981461011c575b5f5ffd5b6100f16100ec366004613339565b61020a565b005b6101066101013660046133e1565b610260565b604051610113919061344d565b60405180910390f35b610124610275565b60405161011391906135e9565b61014461013f36600461365e565b610284565b6040516101139190613675565b61016461015f366004613687565b6102c8565b604051908152602001610113565b6100f161018036600461365e565b610320565b6100f1610193366004613726565b61036a565b6101066101a636600461365e565b6103ed565b6100f16101b9366004613726565b610428565b6100f16101cc36600461376e565b6104a6565b6100f16101df3660046137b8565b6104f2565b6100f16101f23660046133e1565b610542565b6100f161020536600461376e565b61058a565b6102486040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6102578787878787878761067f565b50505050505050565b606061026c8383610a35565b90505b92915050565b606061027f610a89565b905090565b6102b66040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b6102bf82610bc4565b61026f82610c1b565b5f6103076040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b610315878787878787610c90565b979650505050505050565b61035e6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61036781610e48565b50565b6103a86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6103b183610bc4565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383610f73565b505050565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040902060609061026f906002016110c7565b6104666040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61046f83610bc4565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e890838361119e565b6104e46040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee828261126f565b5050565b6105306040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61053c848484846112f2565b50505050565b6105806040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee828261144e565b6105c86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee8282611510565b336105db611586565b73ffffffffffffffffffffffffffffffffffffffff16036105f95750565b7fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff16610656575f61062c82613807565b90506106383383611646565b15610641575050565b61064b338261165a565b15610654575050565b505b6103677f338e692c0000000000000000000000000000000000000000000000000000000061174f565b61068887610bc4565b5f8781527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260409020600181015460ff16156106ea576106ea7f497dbeb10000000000000000000000000000000000000000000000000000000061174f565b5f6106f482611757565b8051909150835f8167ffffffffffffffff8111156107145761071461384c565b60405190808252806020026020018201604052801561073d578160200160208202803683370190505b5090505f5b828110156107d2575f88888381811061075d5761075d613879565b905060200281019061076f91906138a6565b61077d906020810190613903565b90506107888161176d565b610791816118eb565b808383815181106107a4576107a4613879565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015250600101610742565b5089156107e757846107e58b8d836139ad565b505b8715610804576107f98560020161196c565b610804858a8a61119e565b815f03610815575050505050610257565b5f5b838110156108535761084b85828151811061083457610834613879565b602002602001015187611a5490919063ffffffff16565b600101610817565b505f5b828110156108925761088a82828151811061087357610873613879565b602002602001015187611a9b90919063ffffffff16565b600101610856565b505f5b83811015610987575f8582815181106108b0576108b0613879565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16631eee07b28f6040518263ffffffff1660e01b81526004016108f291815260200190565b5f60405180830381865afa15801561090c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109519190810190613b81565b80519091501561097e5761097e86838151811061097057610970613879565b60200260200101518f611ae3565b50600101610895565b505f5b828110156109fa57368888838181106109a5576109a5613879565b90506020028101906109b791906138a6565b90506109ce6109c96020830183613c33565b611b6b565b6109f16109de6020830183613903565b8f6109ec6020850185613c33565b611b9c565b5060010161098a565b506040518c9033907f1aff41ff8e9139aae6bb355cc69107cda7e1d1dcd25511da436f3171bdbf77e6905f90a3505050505050505050505050565b6060610a4083610bc4565b610a4982611c2e565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0560209081526040808320858452909152902061026c906110c7565b60605f610a94611c85565b80519091508067ffffffffffffffff811115610ab257610ab261384c565b604051908082528060200260200182016040528015610b1557816020015b610b026040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081610ad05790505b5092505f5b81811015610bbe575f5f5f5f610b48878681518110610b3b57610b3b613879565b6020026020010151611cb0565b93509350935093506040518060a00160405280888781518110610b6d57610b6d613879565b60200260200101518152602001858152602001841515815260200183815260200182815250888681518110610ba457610ba4613879565b602002602001018190525050505050806001019050610b1a565b50505090565b610bee7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611d9c565b610367576103677fa3f70f7b0000000000000000000000000000000000000000000000000000000061174f565b610c4d6040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b5f5f5f5f610c5a86611cb0565b6040805160a0810182529a8b5260208b019490945291151592890192909252606088019190915260808701525093949350505050565b5f610c9d87876002611db3565b815f8167ffffffffffffffff811115610cb857610cb861384c565b604051908082528060200260200182016040528015610ce1578160200160208202803683370190505b507f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0080549192509081905f90610d1690613cc1565b918290555093505f5b83811015610ddd5736878783818110610d3a57610d3a613879565b9050602002810190610d4c91906138a6565b9050610d63610d5e6020830183613903565b61176d565b610d706020820182613903565b848381518110610d8257610d82613879565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101820152610db6906109c990830183613c33565b610dd4610dc66020830183613903565b876109ec6020850185613c33565b50600101610d1f565b50610deb6001820185611de4565b505f848152600382016020526040812090610e0e9082908d908d908d8d89611def565b604051859033907f20a7a288530dd94b1eccaa691a582ecfd7550c9dfcee78ddf50a97f774a2b147905f90a3505050509695505050505050565b610e5181610bc4565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091610ea882611757565b9050610eb382611eed565b610ec06001840185611f4a565b505f610ecb85611f55565b80519091505f5b81811015610f0557610efd838281518110610eef57610eef613879565b60200260200101518861203a565b600101610ed2565b5082515f5b81811015610f3d57610f35858281518110610f2757610f27613879565b602002602001015189611ae3565b600101610f0a565b50604051879033907f268a6f1b90f6f5ddf50cc736d36513e80cdc5fd56326bff71f335e8b4b61d055905f90a350505050505050565b805f5b818110156110c057610faa848483818110610f9357610f93613879565b9050602002810190610fa59190613c33565b6120db565b611025848483818110610fbf57610fbf613879565b9050602002810190610fd19190613c33565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050825160208185018101805160038d01825292820191909501209352505054151590565b611052576110527f3e2b02610000000000000000000000000000000000000000000000000000000061174f565b6110b784848381811061106757611067613879565b90506020028101906110799190613c33565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050600289019291505061210c565b50600101610f76565b5050505050565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015611193578382905f5260205f200180546111089061391e565b80601f01602080910402602001604051908101604052809291908181526020018280546111349061391e565b801561117f5780601f106111565761010080835404028352916020019161117f565b820191905f5260205f20905b81548152906001019060200180831161116257829003601f168201915b5050505050815260200190600101906110eb565b505050509050919050565b805f5b818110156110c0576111be848483818110610f9357610f93613879565b6111d3848483818110610fbf57610fbf613879565b15611201576112017fb0ab68210000000000000000000000000000000000000000000000000000000061174f565b61126684848381811061121657611216613879565b90506020028101906112289190613c33565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050600289019291505061225c565b506001016111a1565b61127882610bc4565b61128d6112886020830183613903565b6118eb565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906112d4906112cd90840184613903565b8290611a9b565b6103e86112e46020840184613903565b846109ec6020860186613c33565b8080156114485761130285610bc4565b61130b84611c2e565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd009061136d8161196c565b5f5b838110156113f85761138c868683818110610f9357610f93613879565b6113ef8686838181106113a1576113a1613879565b90506020028101906113b39190613c33565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250869392505061225c9050565b5060010161136f565b505f87815260048301602052604090206114129087611de4565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a450506110c0565b6110c085855b61145782610bc4565b61146081611c2e565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906114c28161196c565b5f84815260048301602052604090206114db9084611f4a565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b61151982610bc4565b6115296112886020830183613903565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906115709061156990840184613903565b8290611a54565b6103e86115806020840184613903565b84611ae3565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561161c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116409190613d08565b91505090565b5f61026c818461165585613807565b6122b2565b5f73ffffffffffffffffffffffffffffffffffffffff831661167d57505f61026f565b5f6116866125a4565b6040517f75dfa34200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291909116906375dfa34290602401602060405180830381865afa1580156116f2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117169190613d08565b905073ffffffffffffffffffffffffffffffffffffffff811661173c575f91505061026f565b6117478185856125ef565b949350505050565b805f5260045ffd5b60605f61176683600401612693565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166117ba576040517fe0dc2ae000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527ff785968a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa92505050801561187e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261187b91810190613d32565b60015b6118b4576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806104ee576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931006119367fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931018361269f565b6104ee576040517fbd599b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805481905f5b81811015611a4c575f84815260208120820190505f611a3886835f0180546119999061391e565b80601f01602080910402602001604051908101604052809291908181526020018280546119c59061391e565b8015611a105780601f106119e757610100808354040283529160200191611a10565b820191905f5260205f20905b8154815290600101906020018083116119f357829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55611a43815f6131cc565b50600101611972565b50505f905550565b611a61600483018261269f565b611a8e57611a8e7f480a52fa0000000000000000000000000000000000000000000000000000000061174f565b6103e860048301826126cd565b611aa8600483018261269f565b15611ad657611ad67ffb5584f10000000000000000000000000000000000000000000000000000000061174f565b6103e860048301826126ee565b611aec826118eb565b6040517ff0c111f90000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff83169063f0c111f9906024015f604051808303815f87803b158015611b51575f5ffd5b505af1158015611b63573d5f5f3e3d5ffd5b505050505050565b5f8190036104ee576104ee7f947d5a840000000000000000000000000000000000000000000000000000000061174f565b611ba5846118eb565b6040517fef8be57400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063ef8be57490611bfb90869086908690600401613d4b565b5f604051808303815f87803b158015611c12575f5ffd5b505af1158015611c24573d5f5f3e3d5ffd5b5050505050505050565b611c587f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430082611d9c565b610367576103677fac1696820000000000000000000000000000000000000000000000000000000061174f565b606061027f7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01612693565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190611cf29061391e565b80601f0160208091040260200160405190810160405280929190818152602001828054611d1e9061391e565b8015611d695780601f10611d4057610100808354040283529160200191611d69565b820191905f5260205f20905b815481529060010190602001808311611d4c57829003601f168201915b5050505060018301549196505060ff169350611d87600282016110c7565b9250611d9281611757565b9150509193509193565b5f818152600183016020526040812054151561026c565b808210156103e8576103e87f947d5a840000000000000000000000000000000000000000000000000000000061174f565b5f61026c838361270b565b86611dfb8688836139ad565b506001870180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016851515179055611e3587848461119e565b5f5b8151811015611c24575f73ffffffffffffffffffffffffffffffffffffffff16828281518110611e6957611e69613879565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611eb557611eb57f7442429b0000000000000000000000000000000000000000000000000000000061174f565b611ee4828281518110611eca57611eca613879565b6020026020010151896004016126ee90919063ffffffff16565b50600101611e37565b60408051602081019091525f81528190611f079082613d9e565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611f3e6002820161196c565b61036781600401612757565b5f61026c8383612760565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005f611f8282612843565b90505f8167ffffffffffffffff811115611f9e57611f9e61384c565b604051908082528060200260200182016040528015611fc7578160200160208202803683370190505b5093505f5b8281101561202f575f611fdf858361284c565b5f8181526003870160205260409020909150611ffb9088611d9c565b15612026578086848060010195508151811061201957612019613879565b6020026020010181815250505b50600101611fcc565b508352509092915050565b61204382611c2e565b61204c82612857565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504300906120a48184611d9c565b6120d1576120d17f6796073e0000000000000000000000000000000000000000000000000000000061174f565b6110c08184611f4a565b5f8190036104ee576104ee7f0ce76c100000000000000000000000000000000000000000000000000000000061174f565b8051602081830181018051600186018252928201918401919091209190528054801580159291906122545784545f868152602090208691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191830101848314612241575f815f0180546121829061391e565b80601f01602080910402602001604051908101604052809291908181526020018280546121ae9061391e565b80156121f95780601f106121d0576101008083540402835291602001916121f9565b820191905f5260205f20905b8154815290600101906020018083116121dc57829003601f168201915b50505050509050806122168b600189035f91825260209091200190565b906122219082613d9e565b50805160208183018101805160018e018252928201919093012091528590555b61224b815f6131cc565b50909155505f82555b505092915050565b8051602081830181018051600186018252928201918401919091209190528054159081156122ab578354600181018086555f868152602090208692919082016122a58782613d9e565b50835550505b5092915050565b5f5f6122bc611586565b90505f6122c8856128b8565b80519091505f6122f77f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf00612693565b80519091505f5b838110156123e7575f85828151811061231957612319613879565b602002602001015190508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612366576001975050505050505050611766565b5f5b838110156123dd578173ffffffffffffffffffffffffffffffffffffffff166123aa5f87848151811061239d5761239d613879565b6020026020010151612bfc565b73ffffffffffffffffffffffffffffffffffffffff16036123d5575f98505050505050505050611766565b600101612368565b50506001016122fe565b507fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6124337fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c93101612843565b90505f5b81811015612593575f838161244f600183018561284c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182015f205482517f2e1b61e40000000000000000000000000000000000000000000000000000000081529251911693508392632e1b61e492600480820193918290030181865afa1580156124cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ef9190613d32565b15801561257357508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5338e8a8e6040518463ffffffff1660e01b815260040161253493929190613eb5565b602060405180830381865afa15801561254f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125739190613d32565b1561258a5760019950505050505050505050611766565b50600101612437565b505f9b9a5050505050505050505050565b5f61027f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6007f4170705265676973747279000000000000000000000000000000000000000000612c07565b5f5f6125fa85612c9c565b805190915061260c575f915050611766565b5f5f61261b835f015187612d94565b925050915081158061262b575080155b1561263b575f9350505050611766565b6080830151515f5b8181101561268557868560800151828151811061266257612662613879565b60200260200101510361267d57600195505050505050611766565b600101612643565b505f98975050505050505050565b60605f61176683612e52565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600183016020526040812054151561026c565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff8416612760565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff84165b5f81815260018301602052604081205461275057508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561026f565b505f61026f565b61036781612eab565b5f818152600183016020526040812054801561283a575f612782600183613f20565b85549091505f9061279590600190613f20565b90508082146127f4575f865f0182815481106127b3576127b3613879565b905f5260205f200154905080875f0184815481106127d3576127d3613879565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061280557612805613f33565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061026f565b5f91505061026f565b5f61026f825490565b5f61026c8383612f04565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff1615610367576103677fd9c005120000000000000000000000000000000000000000000000000000000061174f565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa15801561294f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129949190810190613f83565b905080515f03612b05576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015612a0b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2f9190613d08565b905073ffffffffffffffffffffffffffffffffffffffff811615612b03576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015612abb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612b009190810190613f83565b91505b505b80515f612b13826001614022565b67ffffffffffffffff811115612b2b57612b2b61384c565b604051908082528060200260200182016040528015612b54578160200160208202803683370190505b5090505f5b82811015612bba57838181518110612b7357612b73613879565b6020026020010151828281518110612b8d57612b8d613879565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612b59565b5085818381518110612bce57612bce613879565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b5f61026c8383612f2a565b60068201546040517f44ab6680000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff169081906344ab668090602401602060405180830381865afa158015612c78573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117479190613d08565b612ca4613203565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527f5203018779d8301358307033923a3bd0a3a759f1f58591c01f878744c0f8c201602052604090205480612cf35750919050565b612cfb6125a4565b73ffffffffffffffffffffffffffffffffffffffff1663fb609045826040518263ffffffff1660e01b8152600401612d3591815260200190565b5f60405180830381865afa158015612d4f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117669190810190614331565b5f5f5f5f612dcb865f9081527fb7e2813a9de15ce5ee4c1718778708cd70fd7ee3d196d203c0f40369a8d4a6026020526040902090565b9050612dd78186613065565b600383015491955093506e010000000000000000000000000000900460ff168015612e48575060038101546f01000000000000000000000000000000900465ffffffffffff161580612e4857506003810154426f0100000000000000000000000000000090910465ffffffffffff16115b9150509250925092565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612e9f57602002820191905f5260205f20905b815481526020019060010190808311612e8b575b50505050509050919050565b5f612eb4825490565b90505f5b81811015612efd57826001015f845f018381548110612ed957612ed9613879565b905f5260205f20015481526020019081526020015f205f9055806001019050612eb8565b50505f9055565b5f825f018281548110612f1957612f19613879565b905f5260205f200154905092915050565b5f81831161303357505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361303157815f0361302b5780548310612fea576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115612feb575b5061026f565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001830160205260408120805482919065ffffffffffff8116906130bd90660100000000000090046dffffffffffffffffffffffffffff166130fb565b509093505065ffffffffffff8116158015906130f057506130dc61311c565b65ffffffffffff168165ffffffffffff1611155b935050509250929050565b5f5f5f61310f8461310a61311c565b613126565b9250925092509193909250565b5f61027f42613179565b69ffffffffffffffffffff602083901c166dffffffffffffffffffffffffffff831665ffffffffffff604085901c81169084168111156131685782828261316c565b815f5f5b9250925092509250925092565b5f65ffffffffffff8211156131c8576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152603060048201526024810183905260440160405180910390fd5b5090565b5080546131d89061391e565b5f825580601f106131e7575050565b601f0160209004905f5260205f2090810190610367919061329f565b6040518060e001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200161329360405180606001604052806060815260200160608152602001606081525090565b81525f60209091015290565b5b808211156131c8575f81556001016132a0565b5f5f83601f8401126132c3575f5ffd5b50813567ffffffffffffffff8111156132da575f5ffd5b6020830191508360208285010111156132f1575f5ffd5b9250929050565b5f5f83601f840112613308575f5ffd5b50813567ffffffffffffffff81111561331f575f5ffd5b6020830191508360208260051b85010111156132f1575f5ffd5b5f5f5f5f5f5f5f6080888a03121561334f575f5ffd5b87359650602088013567ffffffffffffffff81111561336c575f5ffd5b6133788a828b016132b3565b909750955050604088013567ffffffffffffffff811115613397575f5ffd5b6133a38a828b016132f8565b909550935050606088013567ffffffffffffffff8111156133c2575f5ffd5b6133ce8a828b016132f8565b989b979a50959850939692959293505050565b5f5f604083850312156133f2575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156134c2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526134ad858351613401565b94506020938401939190910190600101613473565b50929695505050505050565b5f8151808452602084019350602083015f5b8281101561351457815173ffffffffffffffffffffffffffffffffffffffff168652602095860195909101906001016134e0565b5093949350505050565b805182525f602082015160a0602085015261353c60a0850182613401565b90506040830151151560408501526060830151848203606086015281815180845260208401915060208160051b8501016020840193505f5b828110156135c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08683030184526135ae828651613401565b60209586019594909401939150600101613574565b506080870151945087810360808901526135dd81866134ce565b98975050505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156134c2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261364985835161351e565b9450602093840193919091019060010161360f565b5f6020828403121561366e575f5ffd5b5035919050565b602081525f61026c602083018461351e565b5f5f5f5f5f5f6060878903121561369c575f5ffd5b863567ffffffffffffffff8111156136b2575f5ffd5b6136be89828a016132b3565b909750955050602087013567ffffffffffffffff8111156136dd575f5ffd5b6136e989828a016132f8565b909550935050604087013567ffffffffffffffff811115613708575f5ffd5b61371489828a016132f8565b979a9699509497509295939492505050565b5f5f5f60408486031215613738575f5ffd5b83359250602084013567ffffffffffffffff811115613755575f5ffd5b613761868287016132f8565b9497909650939450505050565b5f5f6040838503121561377f575f5ffd5b82359150602083013567ffffffffffffffff81111561379c575f5ffd5b8301604081860312156137ad575f5ffd5b809150509250929050565b5f5f5f5f606085870312156137cb575f5ffd5b8435935060208501359250604085013567ffffffffffffffff8111156137ef575f5ffd5b6137fb878288016132f8565b95989497509550505050565b80516020808301519190811015613846577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126138d8575f5ffd5b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610367575f5ffd5b5f60208284031215613913575f5ffd5b8135611766816138e2565b600181811c9082168061393257607f821691505b602082108103613846577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156103e857805f5260205f20601f840160051c8101602085101561398e5750805b601f840160051c820191505b818110156110c0575f815560010161399a565b67ffffffffffffffff8311156139c5576139c561384c565b6139d9836139d3835461391e565b83613969565b5f601f841160018114613a29575f85156139f35750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556110c0565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b82811015613a765786850135825560209485019460019092019101613a56565b5086821015613ab1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b6040516080810167ffffffffffffffff81118282101715613ae657613ae661384c565b60405290565b6040516060810167ffffffffffffffff81118282101715613ae657613ae661384c565b60405160e0810167ffffffffffffffff81118282101715613ae657613ae661384c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b7957613b7961384c565b604052919050565b5f60208284031215613b91575f5ffd5b815167ffffffffffffffff811115613ba7575f5ffd5b8201601f81018413613bb7575f5ffd5b805167ffffffffffffffff811115613bd157613bd161384c565b613c0260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b32565b818152856020838501011115613c16575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c66575f5ffd5b83018035915067ffffffffffffffff821115613c80575f5ffd5b6020019150368190038213156132f1575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cf157613cf1613c94565b5060010190565b8051613d03816138e2565b919050565b5f60208284031215613d18575f5ffd5b8151611766816138e2565b80518015158114613d03575f5ffd5b5f60208284031215613d42575f5ffd5b61026c82613d23565b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b815167ffffffffffffffff811115613db857613db861384c565b613dcc81613dc6845461391e565b84613969565b6020601f821160018114613e1d575f8315613de75750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556110c0565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015613e6a5787850151825560209485019460019092019101613e4a565b5084821015613ea657868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015613f0c57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101613ed8565b505060409390930193909352509392505050565b8181038181111561026f5761026f613c94565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f67ffffffffffffffff821115613f7957613f7961384c565b5060051b60200190565b5f60208284031215613f93575f5ffd5b815167ffffffffffffffff811115613fa9575f5ffd5b8201601f81018413613fb9575f5ffd5b8051613fcc613fc782613f60565b613b32565b8082825260208201915060208360051b850101925086831115613fed575f5ffd5b6020840193505b82841015614018578351614007816138e2565b825260209384019390910190613ff4565b9695505050505050565b8082018082111561026f5761026f613c94565b5f82601f830112614044575f5ffd5b8151614052613fc782613f60565b8082825260208201915060208360051b860101925085831115614073575f5ffd5b602085015b83811015614090578051835260209283019201614078565b5095945050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114613d03575f5ffd5b5f82601f8301126140d8575f5ffd5b81516140e6613fc782613f60565b8082825260208201915060208360071b860101925085831115614107575f5ffd5b602085015b838110156140905760808188031215614123575f5ffd5b61412b613ac3565b6141348261409a565b8152602082015163ffffffff8116811461414c575f5ffd5b602082015261415d60408301613d23565b604082015261416e60608301613d23565b6060820152835260209092019160800161410c565b5f82601f830112614192575f5ffd5b81516141a0613fc782613f60565b8082825260208201915060208360051b8601019250858311156141c1575f5ffd5b602085015b83811015614090576141d78161409a565b8352602092830192016141c6565b5f606082840312156141f5575f5ffd5b6141fd613aec565b9050815167ffffffffffffffff811115614215575f5ffd5b8201601f81018413614225575f5ffd5b8051614233613fc782613f60565b80828252602082019150602060608402850101925086831115614254575f5ffd5b6020840193505b828410156142bb5760608488031215614272575f5ffd5b61427a613aec565b6142838561409a565b815261429160208601613d23565b60208201526142a260408601613d23565b604082015282526060939093019260209091019061425b565b8452505050602082015167ffffffffffffffff8111156142d9575f5ffd5b6142e5848285016140c9565b602083015250604082015167ffffffffffffffff811115614304575f5ffd5b61431084828501614183565b60408301525092915050565b805165ffffffffffff81168114613d03575f5ffd5b5f60208284031215614341575f5ffd5b815167ffffffffffffffff811115614357575f5ffd5b820160e08185031215614368575f5ffd5b614370613b0f565b8151815261438060208301613cf8565b602082015261439160408301613cf8565b60408201526143a260608301613cf8565b6060820152608082015167ffffffffffffffff8111156143c0575f5ffd5b6143cc86828501614035565b60808301525060a082015167ffffffffffffffff8111156143eb575f5ffd5b6143f7868285016141e5565b60a08301525061440960c0830161431c565b60c082015294935050505056";
|
|
904
637
|
|
|
905
638
|
type RolesConstructorParams =
|
|
906
639
|
| [signer?: Signer]
|
|
@@ -1144,7 +1144,7 @@ const _abi = [
|
|
|
1144
1144
|
] as const;
|
|
1145
1145
|
|
|
1146
1146
|
const _bytecode =
|
|
1147
|
-
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b614454806100ca5f395ff3fe6080604052600436106101db575f3560e01c806370a08231116100fd578063a22cb46511610092578063d2468ff711610062578063d2468ff714610535578063d2f01f1914610554578063d653654014610573578063e985e9c514610587575f5ffd5b8063a22cb465146104c5578063b88d4fde146104e4578063c3cda520146104f7578063c87b56dd14610516575f5ffd5b80638e539e8c116100cd5780638e539e8c1461044857806391ddadf41461046757806395d89b41146104925780639ab24eb0146104a6575f5ffd5b806370a08231146103e257806375794a3c14610401578063848806141461041557806388cc58e414610434575f5ffd5b8063466a18de116101735780635c19a95c116101435780635c19a95c146103595780636352211e14610378578063673f0dd5146103975780636a9a38e6146103b6575f5ffd5b8063466a18de146102e85780634bf5d7e914610307578063587cde1e1461031b5780635bb478081461033a575f5ffd5b806323b872dd116101ae57806323b872dd146102845780633a46b1a8146102975780633bf5b8f4146102b657806342842e0e146102d5575f5ffd5b806306fdde03146101df578063081812fc14610209578063095ea7b31461024d57806318160ddd14610262575b5f5ffd5b3480156101ea575f5ffd5b506101f36105b6565b6040516102009190613b05565b60405180910390f35b348015610214575f5ffd5b50610228610223366004613b17565b610668565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610200565b61026061025b366004613b56565b610678565b005b34801561026d575f5ffd5b506102766106e6565b604051908152602001610200565b610260610292366004613b7e565b610737565b3480156102a2575f5ffd5b506102766102b1366004613b56565b610a93565b3480156102c1575f5ffd5b506102766102d0366004613c98565b610aa5565b6102606102e3366004613b7e565b610b62565b3480156102f3575f5ffd5b50610260610302366004613d61565b610b81565b348015610312575f5ffd5b506101f3610c04565b348015610326575f5ffd5b50610228610335366004613d93565b610c0e565b348015610345575f5ffd5b50610260610354366004613d93565b610c5b565b348015610364575f5ffd5b50610260610373366004613d93565b610cd6565b348015610383575f5ffd5b50610228610392366004613b17565b610ce0565b3480156103a2575f5ffd5b506102286103b1366004613b17565b610cea565b3480156103c1575f5ffd5b506103d56103d0366004613d93565b610d32565b6040516102009190613dac565b3480156103ed575f5ffd5b506102766103fc366004613d93565b610d72565b34801561040c575f5ffd5b50610276610d7c565b348015610420575f5ffd5b5061026061042f366004613e97565b610da5565b34801561043f575f5ffd5b50610228610e9c565b348015610453575f5ffd5b50610276610462366004613b17565b610edb565b348015610472575f5ffd5b5061047b610ee5565b60405165ffffffffffff9091168152602001610200565b34801561049d575f5ffd5b506101f3610eee565b3480156104b1575f5ffd5b506102766104c0366004613d93565b610f1f565b3480156104d0575f5ffd5b506102606104df366004613f1f565b610f29565b6102606104f2366004613f58565b610f7b565b348015610502575f5ffd5b50610260610511366004613fcf565b610feb565b348015610521575f5ffd5b506101f3610530366004613b17565b610ff9565b348015610540575f5ffd5b5061026061054f36600461402a565b611043565b34801561055f575f5ffd5b5061026061056e36600461402a565b61119e565b34801561057e575f5ffd5b506101f361120b565b348015610592575f5ffd5b506105a66105a136600461408f565b611215565b6040519015158152602001610200565b60607f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0060020180546105e7906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610613906140c0565b801561065e5780601f106106355761010080835404028352916020019161065e565b820191905f5260205f20905b81548152906001019060200180831161064157829003601f168201915b5050505050905090565b5f61067282611270565b92915050565b73ffffffffffffffffffffffffffffffffffffffff8216158015906106a157506106a1336112f7565b156106d8576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e282826113d2565b5050565b5f6107327f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b905090565b5f610741826113de565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107a8576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610839576108038633611215565b610839576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610886576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610893868686600161150f565b801561089d575f82555b73ffffffffffffffffffffffffffffffffffffffff8681165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df05602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000175f8581527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610a2357600184015f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0460205260408120549003610a21577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548114610a21575f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df04602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a8b8686866001611574565b505050505050565b5f610a9e838361157f565b9392505050565b5f807f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747700805490915073ffffffffffffffffffffffffffffffffffffffff163314610b1b576040517f887cea1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00549150610b4d878784888888611672565b610b5833600161180a565b5095945050505050565b610b7c83838360405180602001604052805f815250610f7b565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610bf8576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b610c01816119d2565b50565b6060610732611a43565b73ffffffffffffffffffffffffffffffffffffffff8082165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f656020526040812054909116610672565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610ccd576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610bef565b610c0181611af5565b610c013382611b96565b5f610672826113de565b5f8181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747701602052604081205473ffffffffffffffffffffffffffffffffffffffff16610672565b610d696040518060c0016040528060608152602001606081526020015f81526020015f815260200160608152602001606081525090565b61067282611c4b565b5f61067282611f57565b5f6107327f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005490565b610dae85611ff6565b610dbb8585858585612094565b8473ffffffffffffffffffffffffffffffffffffffff1663410066056040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610e00575f5ffd5b505af1158015610e12573d5f5f3e3d5ffd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610e848673ffffffffffffffffffffffffffffffffffffffff165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090206002015490565b60405190815260200160405180910390a15050505050565b5f6107327f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477005473ffffffffffffffffffffffffffffffffffffffff1690565b5f610672826121b4565b5f610732612284565b60607f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0060030180546105e7906140c0565b5f6106728261228e565b808015610f3a5750610f3a336112f7565b15610f71576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e282826122da565b610f86848484610737565b73ffffffffffffffffffffffffffffffffffffffff83163b15610fe557610faf8484848461238f565b610fe5576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b610a8b868686868686612505565b606061100482612614565b61103a576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61067282612691565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16158061108057303b151561108f565b8154600163ffffffff90911610155b156110d15781546040517f5477bbf800000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610bef565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166001178255801561112e5781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff166401000000001782555b61113884846129ad565b8015610fe55781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16611201576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e282826129ad565b6060610732612a09565b73ffffffffffffffffffffffffffffffffffffffff8083165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832093851683529290529081205460ff16610a9e565b5f61127a82612614565b6112b0576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df06602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b5f807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a00905073ffffffffffffffffffffffffffffffffffffffff83167f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477005473ffffffffffffffffffffffffffffffffffffffff1614801590610a9e575073ffffffffffffffffffffffffffffffffffffffff83165f9081526001820160205260409020541580610a9e575073ffffffffffffffffffffffffffffffffffffffff83165f90815260018201602052604090205442109392505050565b6106e282826001612a3a565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c0100000000000000000000000000000000000000000000000000000000831690036114dc57815f036114d65780548310611495576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115611496575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416158015906115385750611538846112f7565b1561156f576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fe5565b61156f848483612b91565b5f611588612284565b65ffffffffffff1682106115f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b75700000000000000000000000006044820152606401610bef565b61164d61160483612c8f565b73ffffffffffffffffffffffffffffffffffffffff85165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f666020526040902090612ca8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b61167d866002612df3565b611687855f612df3565b61169083612e25565b5f8481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915581516080810183528a81528084018a90528083018990524260608201529084527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770290925290912081517f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770092919081906117799082614156565b506020820151600182019061178e9082614156565b50604082810151600283015560609092015160039182015581518083018352858152602080820186905273ffffffffffffffffffffffffffffffffffffffff88165f9081529285019052919020815181906117e99082614156565b50602082015160018201906117fe9082614156565b50505050505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f829003611866576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118725f84838561150f565b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146119695780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4600101611933565b50815f036119a3576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550610b7c5f848385611574565b6119dd816001612df3565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747704611a088282614156565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b81604051611a389190613b05565b60405180910390a150565b606043611a4e612284565b65ffffffffffff1614611abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610bef565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b611afe81612e25565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747700805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b73ffffffffffffffffffffffffffffffffffffffff8281165f8181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080548686167fffffffffffffffffffffffff0000000000000000000000000000000000000000821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610b7c8183611c4686612e69565b612e73565b611c826040518060c0016040528060608152602001606081526020015f81526020015f815260200160608152602001606081525090565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c0810190935281549192909181908490611d0c906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054611d38906140c0565b8015611d835780601f10611d5a57610100808354040283529160200191611d83565b820191905f5260205f20905b815481529060010190602001808311611d6657829003601f168201915b50505050508152602001836001018054611d9c906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054611dc8906140c0565b8015611e135780601f10611dea57610100808354040283529160200191611e13565b820191905f5260205f20905b815481529060010190602001808311611df657829003601f168201915b505050505081526020018360020154815260200183600301548152602001825f018054611e3f906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6b906140c0565b8015611eb65780601f10611e8d57610100808354040283529160200191611eb6565b820191905f5260205f20905b815481529060010190602001808311611e9957829003601f168201915b50505050508152602001826001018054611ecf906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054611efb906140c0565b8015611f465780601f10611f1d57610100808354040283529160200191611f46565b820191905f5260205f20905b815481529060010190602001808311611f2957829003601f168201915b505050505081525092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216611fa5576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df05602052604090205467ffffffffffffffff1690565b336120476103928373ffffffffffffffffffffffffffffffffffffffff165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090206002015490565b73ffffffffffffffffffffffffffffffffffffffff1614610c01576040517fdbfcf17d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61209f846002612df3565b6120a9835f612df3565b73ffffffffffffffffffffffffffffffffffffffff85165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770090806121198782614156565b50600181016121288682614156565b5073ffffffffffffffffffffffffffffffffffffffff87165f90815260038301602052604090208061215a8682614156565b50600181016121698582614156565b5060405173ffffffffffffffffffffffffffffffffffffffff8916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed8905f90a25050505050505050565b5f6121bd612284565b65ffffffffffff16821061222d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b75700000000000000000000000006044820152606401610bef565b61226061223983612c8f565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612ca8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b5f610732436130d1565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6660205260408120612260906130e8565b335f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906123e990339089908890889060040161426d565b6020604051808303815f875af1925050508015612441575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261243e918101906142c7565b60015b6124b6573d80801561246e576040519150601f19603f3d011682016040523d82523d5f602084013e612473565b606091505b5080515f036124ae576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b8342111561256f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610bef565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf602082015273ffffffffffffffffffffffffffffffffffffffff88169181019190915260608101869052608081018590525f906125f5906125ed9060a00160405160208183030381529060405280519060200120613135565b858585613160565b905061260181876131a5565b61260b8188611b96565b50505050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054821080156106725750505f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b5f8181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770160205260409020546060907f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477009073ffffffffffffffffffffffffffffffffffffffff1680612730576040517faf5f208f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081526002830160205260409020600181018054612765906140c0565b1590506128015780600101805461277b906140c0565b80601f01602080910402602001604051908101604052809291908181526020018280546127a7906140c0565b80156127f25780601f106127c9576101008083540402835291602001916127f2565b820191905f5260205f20905b8154815290600101906020018083116127d557829003601f168201915b50505050509350505050919050565b5f836004018054612811906140c0565b80601f016020809104026020016040519081016040528092919081815260200182805461283d906140c0565b80156128885780601f1061285f57610100808354040283529160200191612888565b820191905f5260205f20905b81548152906001019060200180831161286b57829003601f168201915b505050505090505f81519050805f036128cd576040517fcd251ac500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018203815181106128e2576128e2614306565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f2f000000000000000000000000000000000000000000000000000000000000001461297c57816129508573ffffffffffffffffffffffffffffffffffffffff16613249565b60405160200161296192919061434a565b60405160208183030381529060405295505050505050919050565b8161299c8573ffffffffffffffffffffffffffffffffffffffff16613249565b604051602001612961929190614385565b6129d67f80ac58cd00000000000000000000000000000000000000000000000000000000613329565b6129ff7f5b5e139f00000000000000000000000000000000000000000000000000000000613329565b6106e2828261347e565b60607f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770060040180546105e7906140c0565b5f612a4483610ce0565b90508115612af1573373ffffffffffffffffffffffffffffffffffffffff821614612af15773ffffffffffffffffffffffffffffffffffffffff81165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832033845290915290205460ff16612af1576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df06602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b73ffffffffffffffffffffffffffffffffffffffff8316612be457612be17f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f676134e1612bdc846134ec565b613519565b50505b73ffffffffffffffffffffffffffffffffffffffff8216612c3257612c2f7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67613561612bdc846134ec565b50505b73ffffffffffffffffffffffffffffffffffffffff8381165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f656020526040808220548584168352912054610b7c92918216911683612e73565b5f6401000000008210612ca457612ca461356c565b5090565b81545f9081816005811115612d89575f612d488470ffffffffffffffffffffffffffffffffff811160071b81811c68ffffffffffffffffff1060061b1781811c64ffffffffff1060051b1781811c62ffffff1060041b1781811c620100000160b5600192831c1b0260121c80830401811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b612d5290856143c6565b5f8881526020902090915081015463ffffffff9081169087161015612d7957809150612d87565b612d848160016143d9565b92505b505b5f612d9687878585613579565b90508015612de657612dba87612dad6001846143c6565b5f91825260209091200190565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612de8565b5f5b979650505050505050565b80825110156106e2576106e27f947d5a84000000000000000000000000000000000000000000000000000000006135cd565b73ffffffffffffffffffffffffffffffffffffffff8116610c0157610c017fe6c4247b000000000000000000000000000000000000000000000000000000006135cd565b5f61067282610d72565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612eae57505f81115b15610b7c5773ffffffffffffffffffffffffffffffffffffffff831615612fc05773ffffffffffffffffffffffffffffffffffffffff83165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f66602052604081208190612f2490613561612bdc866134ec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612fb5929190918252602082015260400190565b60405180910390a250505b73ffffffffffffffffffffffffffffffffffffffff821615610b7c5773ffffffffffffffffffffffffffffffffffffffff82165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f66602052604081208190613031906134e1612bdc866134ec565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516130c2929190918252602082015260400190565b60405180910390a25050505050565b5f66010000000000008210612ca457612ca461356c565b80545f90801561312d5761310183612dad6001846143c6565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610a9e565b5f9392505050565b5f6106727f219639d1c7dec7d049ffb8dc11e39f070f052764b142bd61682a7811a502a600836135d5565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d61319657638baa579f5f526004601cfd5b5f606052604052949350505050565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260409020805460018101909155818114610b7c576040517f752d88c000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604401610bef565b60606132548261361c565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f8888888888888888888888888888888888888888888888888888888888888880167e880000000000000000000000000000000000000000000000000000000000005f5b82811a82028180015260018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132c657505050818151165f511660011c8151188152602081019050818151166020511660011c81511881525050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166133fd577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561342f565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df007f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df026134ca8482614156565b50600381016134d98382614156565b505f90555050565b5f610a9e82846143ec565b5f7c01000000000000000000000000000000000000000000000000000000008210612ca457612ca461356c565b5f5f613554613536613529612284565b65ffffffffffff16612c8f565b61354c613542886130e8565b868863ffffffff16565b87919061365e565b915091505b935093915050565b5f610a9e8284614420565b6335278d125f526004601cfd5b5f5b818310156135c5575f8581526020902083831684841860011c019081015463ffffffff868116911611156135b1578092506135bf565b6135bc8160016143d9565b93505b5061357b565b509392505050565b805f5260045ffd5b5f610a9e6135e28461366b565b7f19010000000000000000000000000000000000000000000000000000000000005f90815260029190915260228481526042822091905290565b606061362782613675565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b5f80613554858585613700565b5f6106728261390d565b60606040519050608081016040526f30313233343536373839616263646566600f5260028101905060288152602081015f60288201528260601b92505f5b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016136b3575050919050565b82545f908190801561389f575f61371c87612dad6001856143c6565b60408051808201909152905463ffffffff8082168084526401000000009092047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16602084015291925090871610156137cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610bef565b805163ffffffff80881691160361382b57846137ee88612dad6001866143c6565b80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff90921691909117905561388f565b6040805180820190915263ffffffff80881682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101555b6020015192508391506135599050565b50506040805180820190915263ffffffff80851682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081613559565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61393883613984565b613941846139df565b60408051602081019490945283019190915260608201524660808201523060a082015260c001604051602081830303815290604052805190602001209050919050565b5f5f61398f83613a14565b8051909150156139a757805160209091012092915050565b825480156139b6579392505050565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709392505050565b5f5f6139ea83613aa8565b805190915015613a0257805160209091012092915050565b600183015480156139b6579392505050565b6060816002018054613a25906140c0565b80601f0160208091040260200160405190810160405280929190818152602001828054613a51906140c0565b8015613a9c5780601f10613a7357610100808354040283529160200191613a9c565b820191905f5260205f20905b815481529060010190602001808311613a7f57829003601f168201915b50505050509050919050565b6060816003018054613a25906140c0565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610a9e6020830184613ab9565b5f60208284031215613b27575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613b51575f5ffd5b919050565b5f5f60408385031215613b67575f5ffd5b613b7083613b2e565b946020939093013593505050565b5f5f5f60608486031215613b90575f5ffd5b613b9984613b2e565b9250613ba760208501613b2e565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff841115613bff57613bff613bb8565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715613c4c57613c4c613bb8565b604052838152905080828401851015613c63575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112613c89575f5ffd5b610a9e83833560208501613be5565b5f5f5f5f5f60a08688031215613cac575f5ffd5b853567ffffffffffffffff811115613cc2575f5ffd5b613cce88828901613c7a565b955050602086013567ffffffffffffffff811115613cea575f5ffd5b613cf688828901613c7a565b945050613d0560408701613b2e565b9250606086013567ffffffffffffffff811115613d20575f5ffd5b613d2c88828901613c7a565b925050608086013567ffffffffffffffff811115613d48575f5ffd5b613d5488828901613c7a565b9150509295509295909350565b5f60208284031215613d71575f5ffd5b813567ffffffffffffffff811115613d87575f5ffd5b6124fd84828501613c7a565b5f60208284031215613da3575f5ffd5b610a9e82613b2e565b602081525f825160c06020840152613dc760e0840182613ab9565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613e028282613ab9565b915050604084015160608401526060840151608084015260808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160a0850152613e528282613ab9565b91505060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c0850152613e8e8282613ab9565b95945050505050565b5f5f5f5f5f60a08688031215613eab575f5ffd5b613eb486613b2e565b9450602086013567ffffffffffffffff811115613ecf575f5ffd5b613edb88828901613c7a565b945050604086013567ffffffffffffffff811115613ef7575f5ffd5b613f0388828901613c7a565b935050606086013567ffffffffffffffff811115613d20575f5ffd5b5f5f60408385031215613f30575f5ffd5b613f3983613b2e565b915060208301358015158114613f4d575f5ffd5b809150509250929050565b5f5f5f5f60808587031215613f6b575f5ffd5b613f7485613b2e565b9350613f8260208601613b2e565b925060408501359150606085013567ffffffffffffffff811115613fa4575f5ffd5b8501601f81018713613fb4575f5ffd5b613fc387823560208401613be5565b91505092959194509250565b5f5f5f5f5f5f60c08789031215613fe4575f5ffd5b613fed87613b2e565b95506020870135945060408701359350606087013560ff81168114614010575f5ffd5b9598949750929560808101359460a0909101359350915050565b5f5f6040838503121561403b575f5ffd5b823567ffffffffffffffff811115614051575f5ffd5b61405d85828601613c7a565b925050602083013567ffffffffffffffff811115614079575f5ffd5b61408585828601613c7a565b9150509250929050565b5f5f604083850312156140a0575f5ffd5b6140a983613b2e565b91506140b760208401613b2e565b90509250929050565b600181811c908216806140d457607f821691505b6020821081036114d6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f821115610b7c57805f5260205f20601f840160051c810160208510156141305750805b601f840160051c820191505b8181101561414f575f815560010161413c565b5050505050565b815167ffffffffffffffff81111561417057614170613bb8565b6141848161417e84546140c0565b8461410b565b6020601f8211600181146141d5575f831561419f5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b17845561414f565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156142225787850151825560209485019460019092019101614202565b508482101561425e57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f6142bd6080830184613ab9565b9695505050505050565b5f602082840312156142d7575f5ffd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610a9e575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f6143558285614333565b7f2f000000000000000000000000000000000000000000000000000000000000008152613e8e6001820185614333565b5f6124fd6143938386614333565b84614333565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561067257610672614399565b8082018082111561067257610672614399565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff818116838216019081111561067257610672614399565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82811682821603908111156106725761067261439956";
|
|
1147
|
+
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b614415806100ca5f395ff3fe6080604052600436106101db575f3560e01c806370a08231116100fd578063a22cb46511610092578063d2468ff711610062578063d2468ff714610535578063d2f01f1914610554578063d653654014610573578063e985e9c514610587575f5ffd5b8063a22cb465146104c5578063b88d4fde146104e4578063c3cda520146104f7578063c87b56dd14610516575f5ffd5b80638e539e8c116100cd5780638e539e8c1461044857806391ddadf41461046757806395d89b41146104925780639ab24eb0146104a6575f5ffd5b806370a08231146103e257806375794a3c14610401578063848806141461041557806388cc58e414610434575f5ffd5b8063466a18de116101735780635c19a95c116101435780635c19a95c146103595780636352211e14610378578063673f0dd5146103975780636a9a38e6146103b6575f5ffd5b8063466a18de146102e85780634bf5d7e914610307578063587cde1e1461031b5780635bb478081461033a575f5ffd5b806323b872dd116101ae57806323b872dd146102845780633a46b1a8146102975780633bf5b8f4146102b657806342842e0e146102d5575f5ffd5b806306fdde03146101df578063081812fc14610209578063095ea7b31461024d57806318160ddd14610262575b5f5ffd5b3480156101ea575f5ffd5b506101f36105b6565b6040516102009190613ac0565b60405180910390f35b348015610214575f5ffd5b50610228610223366004613ad2565b610668565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610200565b61026061025b366004613b11565b610678565b005b34801561026d575f5ffd5b506102766106e6565b604051908152602001610200565b610260610292366004613b39565b610737565b3480156102a2575f5ffd5b506102766102b1366004613b11565b610a40565b3480156102c1575f5ffd5b506102766102d0366004613c53565b610a52565b6102606102e3366004613b39565b610b0f565b3480156102f3575f5ffd5b50610260610302366004613d1c565b610b2e565b348015610312575f5ffd5b506101f3610bb1565b348015610326575f5ffd5b50610228610335366004613d4e565b610bbb565b348015610345575f5ffd5b50610260610354366004613d4e565b610c08565b348015610364575f5ffd5b50610260610373366004613d4e565b610c83565b348015610383575f5ffd5b50610228610392366004613ad2565b610c8d565b3480156103a2575f5ffd5b506102286103b1366004613ad2565b610c97565b3480156103c1575f5ffd5b506103d56103d0366004613d4e565b610cdf565b6040516102009190613d67565b3480156103ed575f5ffd5b506102766103fc366004613d4e565b610d1f565b34801561040c575f5ffd5b50610276610d29565b348015610420575f5ffd5b5061026061042f366004613e52565b610d52565b34801561043f575f5ffd5b50610228610e49565b348015610453575f5ffd5b50610276610462366004613ad2565b610e88565b348015610472575f5ffd5b5061047b610e92565b60405165ffffffffffff9091168152602001610200565b34801561049d575f5ffd5b506101f3610e9b565b3480156104b1575f5ffd5b506102766104c0366004613d4e565b610ecc565b3480156104d0575f5ffd5b506102606104df366004613eda565b610ed6565b6102606104f2366004613f13565b610f28565b348015610502575f5ffd5b50610260610511366004613f8a565b610f98565b348015610521575f5ffd5b506101f3610530366004613ad2565b610fae565b348015610540575f5ffd5b5061026061054f366004613fe5565b610ff8565b34801561055f575f5ffd5b5061026061056e366004613fe5565b611153565b34801561057e575f5ffd5b506101f36111c0565b348015610592575f5ffd5b506105a66105a136600461404a565b6111ca565b6040519015158152602001610200565b60607f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0060020180546105e79061407b565b80601f01602080910402602001604051908101604052809291908181526020018280546106139061407b565b801561065e5780601f106106355761010080835404028352916020019161065e565b820191905f5260205f20905b81548152906001019060200180831161064157829003601f168201915b5050505050905090565b5f61067282611225565b92915050565b73ffffffffffffffffffffffffffffffffffffffff8216158015906106a157506106a1336112ac565b156106d8576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e28282611387565b5050565b5f6107327f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b905090565b5f6107428183611393565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107a9576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff88169091141761083a5761080486336111ca565b61083a576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610887576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61089486868660016114ce565b801561089e575f82555b73ffffffffffffffffffffffffffffffffffffffff8681165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df05602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190557f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00904260a01b177c0200000000000000000000000000000000000000000000000000000000175f8681526004830160205260408120919091557c0200000000000000000000000000000000000000000000000000000000851690036109cf57600185015f81815260048301602052604081205490036109cd57815481146109cd575f81815260048301602052604090208590555b505b848673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a378787876001611533565b50505050505050565b5f610a4b838361153e565b9392505050565b5f807f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747700805490915073ffffffffffffffffffffffffffffffffffffffff163314610ac8576040517f887cea1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00549150610afa878784888888611631565b610b053360016117c9565b5095945050505050565b610b2983838360405180602001604052805f815250610f28565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610ba5576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b610bae81611991565b50565b6060610732611a02565b73ffffffffffffffffffffffffffffffffffffffff8082165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f656020526040812054909116610672565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610c7a576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610b9c565b610bae81611ab4565b610bae3382611b55565b5f61067282611c0a565b5f8181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747701602052604081205473ffffffffffffffffffffffffffffffffffffffff16610672565b610d166040518060c0016040528060608152602001606081526020015f81526020015f815260200160608152602001606081525090565b61067282611c15565b5f61067282611f21565b5f6107327f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005490565b610d5b85611f2b565b610d688585858585611fce565b8473ffffffffffffffffffffffffffffffffffffffff1663410066056040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610dad575f5ffd5b505af1158015610dbf573d5f5f3e3d5ffd5b505050507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7610e318673ffffffffffffffffffffffffffffffffffffffff165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090206002015490565b60405190815260200160405180910390a15050505050565b5f6107327f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477005473ffffffffffffffffffffffffffffffffffffffff1690565b5f610672826120ee565b5f6107326121be565b60607f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0060030180546105e79061407b565b5f610672826121c8565b808015610ee75750610ee7336112ac565b15610f1e576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e28282612214565b610f33848484610737565b73ffffffffffffffffffffffffffffffffffffffff83163b15610f9257610f5c848484846122c9565b610f92576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b610fa686868686868661243f565b505050505050565b6060610fb982612545565b610fef576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610672826125c2565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16158061103557303b1515611044565b8154600163ffffffff90911610155b156110865781546040517f5477bbf800000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610b9c565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600117825580156110e35781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff166401000000001782555b6110ed84846128de565b8015610f925781547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a150505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166111b6576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e282826128de565b606061073261293a565b73ffffffffffffffffffffffffffffffffffffffff8083165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832093851683529290529081205460ff16610a4b565b5f61122f82612545565b611265576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df06602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b5f807f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a00905073ffffffffffffffffffffffffffffffffffffffff83167f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477005473ffffffffffffffffffffffffffffffffffffffff1614801590610a4b575073ffffffffffffffffffffffffffffffffffffffff83165f9081526001820160205260409020541580610a4b575073ffffffffffffffffffffffffffffffffffffffff83165f90815260018201602052604090205442109392505050565b6106e28282600161296b565b5f81831161149c57505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361149a57815f036114945780548310611453576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115611454575b50610672565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416158015906114f757506114f7846112ac565b1561152e576040517fed551c3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f92565b61152e848483612ac2565b5f6115476121be565b65ffffffffffff1682106115b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b75700000000000000000000000006044820152606401610b9c565b61160c6115c383612bc0565b73ffffffffffffffffffffffffffffffffffffffff85165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f666020526040902090612bd9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b61163c866002612d24565b611646855f612d24565b61164f83612d56565b5f8481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915581516080810183528a81528084018a90528083018990524260608201529084527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770290925290912081517f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770092919081906117389082614117565b506020820151600182019061174d9082614117565b50604082810151600283015560609092015160039182015581518083018352858152602080820186905273ffffffffffffffffffffffffffffffffffffffff88165f9081529285019052919020815181906117a89082614117565b50602082015160018201906117bd9082614117565b50505050505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f829003611825576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118315f8483856114ce565b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146119285780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa46001016118f2565b50815f03611962576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550610b295f848385611533565b61199c816001612d24565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477046119c78282614117565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b816040516119f79190613ac0565b60405180910390a150565b606043611a0d6121be565b65ffffffffffff1614611a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610b9c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b611abd81612d56565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747700805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b73ffffffffffffffffffffffffffffffffffffffff8281165f8181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080548686167fffffffffffffffffffffffff0000000000000000000000000000000000000000821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610b298183611c0586612d9a565b612da4565b5f6106728183613002565b611c4c6040518060c0016040528060608152602001606081526020015f81526020015f815260200160608152602001606081525090565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c0810190935281549192909181908490611cd69061407b565b80601f0160208091040260200160405190810160405280929190818152602001828054611d029061407b565b8015611d4d5780601f10611d2457610100808354040283529160200191611d4d565b820191905f5260205f20905b815481529060010190602001808311611d3057829003601f168201915b50505050508152602001836001018054611d669061407b565b80601f0160208091040260200160405190810160405280929190818152602001828054611d929061407b565b8015611ddd5780601f10611db457610100808354040283529160200191611ddd565b820191905f5260205f20905b815481529060010190602001808311611dc057829003601f168201915b505050505081526020018360020154815260200183600301548152602001825f018054611e099061407b565b80601f0160208091040260200160405190810160405280929190818152602001828054611e359061407b565b8015611e805780601f10611e5757610100808354040283529160200191611e80565b820191905f5260205f20905b815481529060010190602001808311611e6357829003601f168201915b50505050508152602001826001018054611e999061407b565b80601f0160208091040260200160405190810160405280929190818152602001828054611ec59061407b565b8015611f105780601f10611ee757610100808354040283529160200191611f10565b820191905f5260205f20905b815481529060010190602001808311611ef357829003601f168201915b505050505081525092505050919050565b5f6106728261300d565b33611f81611f7c8373ffffffffffffffffffffffffffffffffffffffff165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090206002015490565b611c0a565b73ffffffffffffffffffffffffffffffffffffffff1614610bae576040517fdbfcf17d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fd9846002612d24565b611fe3835f612d24565b73ffffffffffffffffffffffffffffffffffffffff85165f9081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602052604090207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770090806120538782614117565b50600181016120628682614117565b5073ffffffffffffffffffffffffffffffffffffffff87165f9081526003830160205260409020806120948682614117565b50600181016120a38582614117565b5060405173ffffffffffffffffffffffffffffffffffffffff8916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed8905f90a25050505050505050565b5f6120f76121be565b65ffffffffffff168210612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f566f7465733a20667574757265206c6f6f6b75700000000000000000000000006044820152606401610b9c565b61219a61217383612bc0565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6790612bd9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b5f610732436130ac565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f666020526040812061219a906130c3565b335f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061232390339089908890889060040161422e565b6020604051808303815f875af192505050801561237b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261237891810190614288565b60015b6123f0573d8080156123a8576040519150601f19603f3d011682016040523d82523d5f602084013e6123ad565b606091505b5080515f036123e8576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b834211156124a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610b9c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf602082015273ffffffffffffffffffffffffffffffffffffffff88169181019190915260608101869052608081018590525f9061252f906125279060a00160405160208183030381529060405280519060200120613110565b858585613156565b905061253b818761319b565b610a378188611b55565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054821080156106725750505f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b5f8181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770160205260409020546060907f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477009073ffffffffffffffffffffffffffffffffffffffff1680612661576040517faf5f208f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f90815260028301602052604090206001810180546126969061407b565b159050612732578060010180546126ac9061407b565b80601f01602080910402602001604051908101604052809291908181526020018280546126d89061407b565b80156127235780601f106126fa57610100808354040283529160200191612723565b820191905f5260205f20905b81548152906001019060200180831161270657829003601f168201915b50505050509350505050919050565b5f8360040180546127429061407b565b80601f016020809104026020016040519081016040528092919081815260200182805461276e9061407b565b80156127b95780601f10612790576101008083540402835291602001916127b9565b820191905f5260205f20905b81548152906001019060200180831161279c57829003601f168201915b505050505090505f81519050805f036127fe576040517fcd251ac500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816001820381518110612813576128136142c7565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f2f00000000000000000000000000000000000000000000000000000000000000146128ad57816128818573ffffffffffffffffffffffffffffffffffffffff1661323f565b60405160200161289292919061430b565b60405160208183030381529060405295505050505050919050565b816128cd8573ffffffffffffffffffffffffffffffffffffffff1661323f565b604051602001612892929190614346565b6129077f80ac58cd0000000000000000000000000000000000000000000000000000000061331f565b6129307f5b5e139f0000000000000000000000000000000000000000000000000000000061331f565b6106e28282613474565b60607f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770060040180546105e79061407b565b5f61297583611c0a565b90508115612a22573373ffffffffffffffffffffffffffffffffffffffff821614612a225773ffffffffffffffffffffffffffffffffffffffff81165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df076020908152604080832033845290915290205460ff16612a22576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df06602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b73ffffffffffffffffffffffffffffffffffffffff8316612b1557612b127f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f676134d7612b0d846134e2565b61350f565b50505b73ffffffffffffffffffffffffffffffffffffffff8216612b6357612b607f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67613557612b0d846134e2565b50505b73ffffffffffffffffffffffffffffffffffffffff8381165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f656020526040808220548584168352912054610b2992918216911683612da4565b5f6401000000008210612bd557612bd5613562565b5090565b81545f9081816005811115612cba575f612c798470ffffffffffffffffffffffffffffffffff811160071b81811c68ffffffffffffffffff1060061b1781811c64ffffffffff1060051b1781811c62ffffff1060041b1781811c620100000160b5600192831c1b0260121c80830401811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b612c839085614387565b5f8881526020902090915081015463ffffffff9081169087161015612caa57809150612cb8565b612cb581600161439a565b92505b505b5f612cc78787858561356f565b90508015612d1757612ceb87612cde600184614387565b5f91825260209091200190565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612d19565b5f5b979650505050505050565b80825110156106e2576106e27f947d5a84000000000000000000000000000000000000000000000000000000006135c3565b73ffffffffffffffffffffffffffffffffffffffff8116610bae57610bae7fe6c4247b000000000000000000000000000000000000000000000000000000006135c3565b5f61067282610d1f565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ddf57505f81115b15610b295773ffffffffffffffffffffffffffffffffffffffff831615612ef15773ffffffffffffffffffffffffffffffffffffffff83165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f66602052604081208190612e5590613557612b0d866134e2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ee6929190918252602082015260400190565b60405180910390a250505b73ffffffffffffffffffffffffffffffffffffffff821615610b295773ffffffffffffffffffffffffffffffffffffffff82165f9081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f66602052604081208190612f62906134d7612b0d866134e2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ff3929190918252602082015260400190565b60405180910390a25050505050565b5f610a4b8383611393565b5f73ffffffffffffffffffffffffffffffffffffffff821661305b576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff165f9081527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df05602052604090205467ffffffffffffffff1690565b5f66010000000000008210612bd557612bd5613562565b80545f908015613108576130dc83612cde600184614387565b5464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610a4b565b5f9392505050565b5f61067261311c6135cb565b7f19010000000000000000000000000000000000000000000000000000000000005f90815260029190915260228481526042822091905290565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d61318c57638baa579f5f526004601cfd5b5f606052604052949350505050565b73ffffffffffffffffffffffffffffffffffffffff82165f9081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260409020805460018101909155818114610b29576040517f752d88c000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604401610b9c565b606061324a8261363e565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f8888888888888888888888888888888888888888888888888888888888888880167e880000000000000000000000000000000000000000000000000000000000005f5b82811a82028180015260018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132bc57505050818151165f511660011c8151188152602081019050818151166020511660011c81511881525050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166133f3577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055613425565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df007f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df026134c08482614117565b50600381016134cf8382614117565b505f90555050565b5f610a4b82846143ad565b5f7c01000000000000000000000000000000000000000000000000000000008210612bd557612bd5613562565b5f5f61354a61352c61351f6121be565b65ffffffffffff16612bc0565b613542613538886130c3565b868863ffffffff16565b879190613680565b915091505b935093915050565b5f610a4b82846143e1565b6335278d125f526004601cfd5b5f5b818310156135bb575f8581526020902083831684841860011c019081015463ffffffff868116911611156135a7578092506135b5565b6135b281600161439a565b93505b50613571565b509392505050565b805f5260045ffd5b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6135f561368d565b6135fd6136d5565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6060613649826136df565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b5f8061354a85858561376a565b5f5f613697613977565b90505f8151116136c7577fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706136cf565b805160208201205b91505090565b5f5f613697613989565b60606040519050608081016040526f30313233343536373839616263646566600f5260028101905060288152602081015f60288201528260601b92505f5b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed0161371d575050919050565b82545f9081908015613909575f61378687612cde600185614387565b60408051808201909152905463ffffffff8082168084526401000000009092047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015613837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610b9c565b805163ffffffff808816911603613895578461385888612cde600186614387565b80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff9092169190911790556138f9565b6040805180820190915263ffffffff80881682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101555b60200151925083915061354f9050565b50506040805180820190915263ffffffff80851682527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a555f8a81529182209551925190931664010000000002919093161792019190915590508161354f565b60605f613982613990565b5092915050565b60605f610a4b5b6060807f219639d1c7dec7d049ffb8dc11e39f070f052764b142bd61682a7811a502a6006139bd816139cf565b92506139c881613a63565b9150509091565b60608160020180546139e09061407b565b80601f0160208091040260200160405190810160405280929190818152602001828054613a0c9061407b565b8015613a575780601f10613a2e57610100808354040283529160200191613a57565b820191905f5260205f20905b815481529060010190602001808311613a3a57829003601f168201915b50505050509050919050565b60608160030180546139e09061407b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610a4b6020830184613a74565b5f60208284031215613ae2575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613b0c575f5ffd5b919050565b5f5f60408385031215613b22575f5ffd5b613b2b83613ae9565b946020939093013593505050565b5f5f5f60608486031215613b4b575f5ffd5b613b5484613ae9565b9250613b6260208501613ae9565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff841115613bba57613bba613b73565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715613c0757613c07613b73565b604052838152905080828401851015613c1e575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112613c44575f5ffd5b610a4b83833560208501613ba0565b5f5f5f5f5f60a08688031215613c67575f5ffd5b853567ffffffffffffffff811115613c7d575f5ffd5b613c8988828901613c35565b955050602086013567ffffffffffffffff811115613ca5575f5ffd5b613cb188828901613c35565b945050613cc060408701613ae9565b9250606086013567ffffffffffffffff811115613cdb575f5ffd5b613ce788828901613c35565b925050608086013567ffffffffffffffff811115613d03575f5ffd5b613d0f88828901613c35565b9150509295509295909350565b5f60208284031215613d2c575f5ffd5b813567ffffffffffffffff811115613d42575f5ffd5b61243784828501613c35565b5f60208284031215613d5e575f5ffd5b610a4b82613ae9565b602081525f825160c06020840152613d8260e0840182613a74565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613dbd8282613a74565b915050604084015160608401526060840151608084015260808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160a0850152613e0d8282613a74565b91505060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c0850152613e498282613a74565b95945050505050565b5f5f5f5f5f60a08688031215613e66575f5ffd5b613e6f86613ae9565b9450602086013567ffffffffffffffff811115613e8a575f5ffd5b613e9688828901613c35565b945050604086013567ffffffffffffffff811115613eb2575f5ffd5b613ebe88828901613c35565b935050606086013567ffffffffffffffff811115613cdb575f5ffd5b5f5f60408385031215613eeb575f5ffd5b613ef483613ae9565b915060208301358015158114613f08575f5ffd5b809150509250929050565b5f5f5f5f60808587031215613f26575f5ffd5b613f2f85613ae9565b9350613f3d60208601613ae9565b925060408501359150606085013567ffffffffffffffff811115613f5f575f5ffd5b8501601f81018713613f6f575f5ffd5b613f7e87823560208401613ba0565b91505092959194509250565b5f5f5f5f5f5f60c08789031215613f9f575f5ffd5b613fa887613ae9565b95506020870135945060408701359350606087013560ff81168114613fcb575f5ffd5b9598949750929560808101359460a0909101359350915050565b5f5f60408385031215613ff6575f5ffd5b823567ffffffffffffffff81111561400c575f5ffd5b61401885828601613c35565b925050602083013567ffffffffffffffff811115614034575f5ffd5b61404085828601613c35565b9150509250929050565b5f5f6040838503121561405b575f5ffd5b61406483613ae9565b915061407260208401613ae9565b90509250929050565b600181811c9082168061408f57607f821691505b6020821081036140c6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2957805f5260205f20601f840160051c810160208510156140f15750805b601f840160051c820191505b81811015614110575f81556001016140fd565b5050505050565b815167ffffffffffffffff81111561413157614131613b73565b6141458161413f845461407b565b846140cc565b6020601f821160018114614196575f83156141605750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455614110565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156141e357878501518255602094850194600190920191016141c3565b508482101561421f57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f61427e6080830184613a74565b9695505050505050565b5f60208284031215614298575f5ffd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610a4b575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61431682856142f4565b7f2f000000000000000000000000000000000000000000000000000000000000008152613e4960018201856142f4565b5f61243761435483866142f4565b846142f4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156106725761067261435a565b808201808211156106725761067261435a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81811683821601908111156106725761067261435a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82811682821603908111156106725761067261435a56";
|
|
1148
1148
|
|
|
1149
1149
|
type SpaceOwnerConstructorParams =
|
|
1150
1150
|
| [signer?: Signer]
|