@keep-network/tbtc-v2 1.8.0-dev.0 → 1.8.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/BLS.json +6 -6
- package/artifacts/Bank.json +11 -11
- package/artifacts/BeaconAuthorization.json +11 -11
- package/artifacts/BeaconDkg.json +9 -9
- package/artifacts/BeaconDkgValidator.json +12 -12
- package/artifacts/BeaconInactivity.json +11 -11
- package/artifacts/BeaconSortitionPool.json +16 -16
- package/artifacts/Bridge.json +32 -32
- package/artifacts/BridgeGovernance.json +14 -14
- package/artifacts/BridgeGovernanceParameters.json +6 -6
- package/artifacts/Deposit.json +6 -6
- package/artifacts/DepositSweep.json +6 -6
- package/artifacts/DonationVault.json +7 -7
- package/artifacts/EcdsaDkgValidator.json +7 -7
- package/artifacts/EcdsaInactivity.json +6 -6
- package/artifacts/EcdsaSortitionPool.json +16 -16
- package/artifacts/Fraud.json +6 -6
- package/artifacts/LightRelay.json +11 -11
- package/artifacts/LightRelayMaintainerProxy.json +13 -13
- package/artifacts/MaintainerProxy.json +13 -13
- package/artifacts/MovingFunds.json +6 -6
- package/artifacts/NuCypherToken.json +11 -11
- package/artifacts/RandomBeacon.json +126 -126
- package/artifacts/RandomBeaconChaosnet.json +13 -13
- package/artifacts/RandomBeaconGovernance.json +66 -66
- package/artifacts/Redemption.json +6 -6
- package/artifacts/RedemptionWatchtower.json +26 -26
- package/artifacts/ReimbursementPool.json +19 -19
- package/artifacts/T.json +11 -11
- package/artifacts/TBTC.json +11 -11
- package/artifacts/TBTCToken.json +11 -11
- package/artifacts/TBTCVault.json +14 -14
- package/artifacts/Timelock.json +80 -80
- package/artifacts/TokenStaking.json +156 -308
- package/artifacts/TokenholderGovernor.json +47 -47
- package/artifacts/TokenholderTimelock.json +36 -36
- package/artifacts/VendingMachine.json +13 -13
- package/artifacts/VendingMachineNuCypher.json +9 -9
- package/artifacts/VendingMachineV2.json +13 -13
- package/artifacts/VendingMachineV3.json +13 -13
- package/artifacts/WalletProposalValidator.json +7 -7
- package/artifacts/WalletRegistry.json +31 -31
- package/artifacts/WalletRegistryGovernance.json +56 -56
- package/artifacts/Wallets.json +6 -6
- package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +4999 -4814
- package/export/typechain/factories/EcdsaAuthorization__factory.js +1 -1
- package/export/typechain/factories/IStaking__factory.js +24 -103
- package/export/typechain/factories/WalletRegistry__factory.js +1 -1
- package/package.json +4 -4
- package/artifacts/KeepRegistry.json +0 -99
- package/artifacts/KeepStake.json +0 -286
- package/artifacts/KeepToken.json +0 -711
- package/artifacts/KeepTokenStaking.json +0 -483
- package/artifacts/NuCypherStakingEscrow.json +0 -287
- package/artifacts/VendingMachineKeep.json +0 -400
|
@@ -216,7 +216,7 @@ var _abi = [
|
|
|
216
216
|
type: "event",
|
|
217
217
|
},
|
|
218
218
|
];
|
|
219
|
-
var _bytecode = "
|
|
219
|
+
var _bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206f647ea212e74a91596721d9a2189532dcdfb40671860387fb2c3cd1e4d4bdb464736f6c63430008110033";
|
|
220
220
|
var isSuperArgs = function (xs) { return xs.length > 1; };
|
|
221
221
|
var EcdsaAuthorization__factory = /** @class */ (function (_super) {
|
|
222
222
|
__extends(EcdsaAuthorization__factory, _super);
|
|
@@ -106,6 +106,25 @@ var _abi = [
|
|
|
106
106
|
stateMutability: "view",
|
|
107
107
|
type: "function",
|
|
108
108
|
},
|
|
109
|
+
{
|
|
110
|
+
inputs: [
|
|
111
|
+
{
|
|
112
|
+
internalType: "address",
|
|
113
|
+
name: "stakingProvider",
|
|
114
|
+
type: "address",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
name: "getAutoIncreaseFlag",
|
|
118
|
+
outputs: [
|
|
119
|
+
{
|
|
120
|
+
internalType: "bool",
|
|
121
|
+
name: "",
|
|
122
|
+
type: "bool",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
stateMutability: "view",
|
|
126
|
+
type: "function",
|
|
127
|
+
},
|
|
109
128
|
{
|
|
110
129
|
inputs: [
|
|
111
130
|
{
|
|
@@ -209,32 +228,6 @@ var _abi = [
|
|
|
209
228
|
stateMutability: "nonpayable",
|
|
210
229
|
type: "function",
|
|
211
230
|
},
|
|
212
|
-
{
|
|
213
|
-
inputs: [
|
|
214
|
-
{
|
|
215
|
-
internalType: "address",
|
|
216
|
-
name: "stakingProvider",
|
|
217
|
-
type: "address",
|
|
218
|
-
},
|
|
219
|
-
],
|
|
220
|
-
name: "notifyKeepStakeDiscrepancy",
|
|
221
|
-
outputs: [],
|
|
222
|
-
stateMutability: "nonpayable",
|
|
223
|
-
type: "function",
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
inputs: [
|
|
227
|
-
{
|
|
228
|
-
internalType: "address",
|
|
229
|
-
name: "stakingProvider",
|
|
230
|
-
type: "address",
|
|
231
|
-
},
|
|
232
|
-
],
|
|
233
|
-
name: "notifyNuStakeDiscrepancy",
|
|
234
|
-
outputs: [],
|
|
235
|
-
stateMutability: "nonpayable",
|
|
236
|
-
type: "function",
|
|
237
|
-
},
|
|
238
231
|
{
|
|
239
232
|
inputs: [
|
|
240
233
|
{
|
|
@@ -424,24 +417,6 @@ var _abi = [
|
|
|
424
417
|
stateMutability: "nonpayable",
|
|
425
418
|
type: "function",
|
|
426
419
|
},
|
|
427
|
-
{
|
|
428
|
-
inputs: [
|
|
429
|
-
{
|
|
430
|
-
internalType: "uint96",
|
|
431
|
-
name: "penalty",
|
|
432
|
-
type: "uint96",
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
internalType: "uint256",
|
|
436
|
-
name: "rewardMultiplier",
|
|
437
|
-
type: "uint256",
|
|
438
|
-
},
|
|
439
|
-
],
|
|
440
|
-
name: "setStakeDiscrepancyPenalty",
|
|
441
|
-
outputs: [],
|
|
442
|
-
stateMutability: "nonpayable",
|
|
443
|
-
type: "function",
|
|
444
|
-
},
|
|
445
420
|
{
|
|
446
421
|
inputs: [
|
|
447
422
|
{
|
|
@@ -488,42 +463,6 @@ var _abi = [
|
|
|
488
463
|
stateMutability: "nonpayable",
|
|
489
464
|
type: "function",
|
|
490
465
|
},
|
|
491
|
-
{
|
|
492
|
-
inputs: [
|
|
493
|
-
{
|
|
494
|
-
internalType: "address",
|
|
495
|
-
name: "stakingProvider",
|
|
496
|
-
type: "address",
|
|
497
|
-
},
|
|
498
|
-
],
|
|
499
|
-
name: "stakeKeep",
|
|
500
|
-
outputs: [],
|
|
501
|
-
stateMutability: "nonpayable",
|
|
502
|
-
type: "function",
|
|
503
|
-
},
|
|
504
|
-
{
|
|
505
|
-
inputs: [
|
|
506
|
-
{
|
|
507
|
-
internalType: "address",
|
|
508
|
-
name: "stakingProvider",
|
|
509
|
-
type: "address",
|
|
510
|
-
},
|
|
511
|
-
{
|
|
512
|
-
internalType: "address payable",
|
|
513
|
-
name: "beneficiary",
|
|
514
|
-
type: "address",
|
|
515
|
-
},
|
|
516
|
-
{
|
|
517
|
-
internalType: "address",
|
|
518
|
-
name: "authorizer",
|
|
519
|
-
type: "address",
|
|
520
|
-
},
|
|
521
|
-
],
|
|
522
|
-
name: "stakeNu",
|
|
523
|
-
outputs: [],
|
|
524
|
-
stateMutability: "nonpayable",
|
|
525
|
-
type: "function",
|
|
526
|
-
},
|
|
527
466
|
{
|
|
528
467
|
inputs: [
|
|
529
468
|
{
|
|
@@ -579,13 +518,8 @@ var _abi = [
|
|
|
579
518
|
name: "stakingProvider",
|
|
580
519
|
type: "address",
|
|
581
520
|
},
|
|
582
|
-
{
|
|
583
|
-
internalType: "uint96",
|
|
584
|
-
name: "amount",
|
|
585
|
-
type: "uint96",
|
|
586
|
-
},
|
|
587
521
|
],
|
|
588
|
-
name: "
|
|
522
|
+
name: "toggleAutoAuthorizationIncrease",
|
|
589
523
|
outputs: [],
|
|
590
524
|
stateMutability: "nonpayable",
|
|
591
525
|
type: "function",
|
|
@@ -597,21 +531,13 @@ var _abi = [
|
|
|
597
531
|
name: "stakingProvider",
|
|
598
532
|
type: "address",
|
|
599
533
|
},
|
|
600
|
-
],
|
|
601
|
-
name: "topUpKeep",
|
|
602
|
-
outputs: [],
|
|
603
|
-
stateMutability: "nonpayable",
|
|
604
|
-
type: "function",
|
|
605
|
-
},
|
|
606
|
-
{
|
|
607
|
-
inputs: [
|
|
608
534
|
{
|
|
609
|
-
internalType: "
|
|
610
|
-
name: "
|
|
611
|
-
type: "
|
|
535
|
+
internalType: "uint96",
|
|
536
|
+
name: "amount",
|
|
537
|
+
type: "uint96",
|
|
612
538
|
},
|
|
613
539
|
],
|
|
614
|
-
name: "
|
|
540
|
+
name: "topUp",
|
|
615
541
|
outputs: [],
|
|
616
542
|
stateMutability: "nonpayable",
|
|
617
543
|
type: "function",
|
|
@@ -649,11 +575,6 @@ var _abi = [
|
|
|
649
575
|
name: "stakingProvider",
|
|
650
576
|
type: "address",
|
|
651
577
|
},
|
|
652
|
-
{
|
|
653
|
-
internalType: "uint96",
|
|
654
|
-
name: "amount",
|
|
655
|
-
type: "uint96",
|
|
656
|
-
},
|
|
657
578
|
],
|
|
658
579
|
name: "unstakeNu",
|
|
659
580
|
outputs: [],
|
|
@@ -1928,7 +1928,7 @@ var _abi = [
|
|
|
1928
1928
|
type: "function",
|
|
1929
1929
|
},
|
|
1930
1930
|
];
|
|
1931
|
-
var _bytecode = "0x60c06040523480156200001157600080fd5b50604051620060ab380380620060ab833981016040819052620000349162000134565b6001600160a01b03808316608052811660a0526200005162000059565b505062000173565b606454610100900460ff1615620000c65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60645460ff908116101562000119576064805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013157600080fd5b50565b600080604083850312156200014857600080fd5b825162000155816200011b565b602084015190925062000168816200011b565b809150509250929050565b60805160a051615e4e6200025d600039600081816104ea01528181610a3a01528181610a8701528181610adb01528181610b2901528181610d1501528181610f0901528181611374015281816115af0152818161169501528181611f31015281816122cb01526125d80152600081816107e601528181610aa801528181610afc01528181610b4a01528181610c2a01528181610fa501528181611119015281816112ff015281816118780152818161198b01528181611dbe0152818161216c0152818161236701528181612558015281816125f90152818161265801526127310152615e4e6000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80637e0049fd116101e9578063c9bacaad1161010f578063df07ce59116100ad578063f0820c921161007c578063f0820c921461097e578063f7186ce01461098f578063f854a27f146109a2578063fd2a4788146109b557600080fd5b8063df07ce5914610922578063e03e453514610935578063e686440f1461094a578063e83ab3a51461095d57600080fd5b8063d38bfff4116100e9578063d38bfff4146108c8578063d855c631146108db578063d8dc404d146108e3578063ded56d45146108f657600080fd5b8063c9bacaad1461088d578063cc562388146108a0578063d0bcc0e3146108b557600080fd5b8063a04e298011610187578063c09975cd11610156578063c09975cd14610828578063c0c53b8b1461083b578063c7c49c981461084e578063c88e70f41461087a57600080fd5b8063a04e2980146107c6578063b13b55b2146107d9578063b54a2374146107e1578063b5e9ce8b1461080857600080fd5b806388a59590116101c357806388a595901461073a5780638dcbdf4a146107755780639879d19b146107885780639c9de0281461079b57600080fd5b80637e0049fd146106e55780637e33cba6146106f8578063830f9e021461070b57600080fd5b806352902301116102ce5780636c9ecd641161026c578063770124d31161023b578063770124d3146105f2578063789d392a146105fa5780637b14729e146106755780637b35b4e6146106d257600080fd5b80636c9ecd64146105b15780636febd464146105c457806372cc8c6d146105d757806375e0ae5a146105df57600080fd5b8063663032cd116102a8578063663032cd1461057057806368c34948146105835780636a7f7a901461058b5780636b5f2bff1461059e57600080fd5b8063529023011461052f5780635aa6e6751461054a5780635c5b38701461055d57600080fd5b8063227fd44f1161033b5780633682a450116103155780633682a450146104bf57806342d86693146104d25780634cf088d9146104e55780634d99f4731461050c57600080fd5b8063227fd44f146104865780633137676614610499578063343bb927146104ac57600080fd5b8063167f051711610377578063167f0517146104325780631ae879e81461043a5780631c5b07621461044e5780631d35fa631461046157600080fd5b806308aa090b1461039e57806314a85474146103f1578063153622b314610406575b600080fd5b6103a66109c8565b6040516103e89190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b60405180910390f35b6104046103ff366004614e63565b610a2f565b005b6101065461041a906001600160a01b031681565b6040516001600160a01b0390911681526020016103e8565b610404610ad4565b6101055461041a906001600160a01b031681565b61040461045c366004614eae565b610b22565b60fc546001600160601b03165b6040516001600160601b0390911681526020016103e8565b610404610494366004614ecb565b610b72565b6104046104a7366004614ee8565b610bf1565b6104046104ba366004614f22565b610e40565b6104046104cd366004614eae565b610ea4565b6104046104e0366004614eae565b610eaf565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61051f61051a366004614f22565b611064565b60405190151581526020016103e8565b60fd5460fe54604080519283526020830191909152016103e8565b60005461041a906001600160a01b031681565b61040461056b366004614ee8565b61107f565b61040461057e366004614eae565b6112b6565b61051f611358565b610404610599366004614e63565b611369565b6104046105ac366004614eae565b6113be565b6104046105bf366004614f3b565b611437565b6104046105d2366004614f3b565b6114a9565b610404611513565b6104046105ed366004614eae565b6115a8565b61051f6115d4565b610653610608366004614f22565b60408051606080820183526000808352602080840182905292840181905293845260ca8252928290208251938401835280548452600181015491840191909152600201549082015290565b60408051825181526020808401519082015291810151908201526060016103e8565b6106a36065546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103e8565b6104046106e0366004614eae565b6115e0565b6104046106f3366004614ee8565b611668565b61046e610706366004614eae565b61168c565b61072c610719366004614f22565b6101046020526000908152604090205481565b6040519081526020016103e8565b60ff5461010054610101546101025461010354604080519586526020860194909452928401919091526060830152608082015260a0016103e8565b610404610783366004614f5d565b6116ba565b610404610796366004614fdc565b611772565b6107ae6107a9366004614eae565b611b2b565b6040516001600160401b0390911681526020016103e8565b6104046107d436600461506a565b611b38565b610404611bea565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61081b610816366004614f22565b611c51565b6040516103e891906150ff565b60325461041a906001600160a01b031681565b610404610849366004615112565b611c5e565b61041a61085c366004614eae565b6001600160a01b039081166000908152606660205260409020541690565b610404610888366004614f5d565b611e93565b61040461089b366004614e63565b611f26565b6108a8611f7b565b6040516103e89190615168565b6104046108c3366004614eae565b611f87565b6104046108d6366004614eae565b612000565b610404612094565b6104046108f1366004615190565b6120d1565b61041a610904366004614eae565b6001600160a01b039081166000908152606760205260409020541690565b61051f61093036600461520b565b612343565b61093d612534565b6040516103e891906152b2565b61051f610958366004614eae565b6125cf565b61097061096b366004614ee8565b61261e565b6040516103e89291906152c5565b6065546001600160601b031661046e565b61051f61099d366004614eae565b612636565b61046e6109b0366004614eae565b6126c5565b61046e6109c3366004614eae565b6127a3565b6109fa6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a0810182526099548152609a546020820152609b5491810191909152609c546060820152609d54608082015290565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a805760405162461bcd60e51b8152600401610a77906152e0565b60405180910390fd5b610acf60657f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008686866127ca565b505050565b610b2060657f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612936565b565b610b6f60657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612b10565b50565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b8152600401610a7790615322565b60fc80546001600160601b0319166001600160601b0383169081179091556040519081527fe132b87eb6644ee4d4c3c32744f7e1c3906335a2d4f99330767bf573909c7d84906020015b60405180910390a150565b600080610bff609784612cef565b604051638871ca5d60e01b815263ffffffff8216600482015291935091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638871ca5d90602401602060405180830381865afa158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c959190615359565b6040805160018082528183019092529192506000919060208083019080368337019050506001600160a01b038084166000908152606760205260409020549192501681600081518110610cea57610cea61538c565b6001600160a01b03928316602091820292909201015260fc5460fd546040516383ddba8f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000909316926383ddba8f92610d5a926001600160601b0390911691339087906004016153a2565b600060405180830381600087803b158015610d7457600080fd5b505af1925050508015610d85575060015b610dde5760fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610e2f565b60fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610e396097613058565b5050505050565b610105546001600160a01b03163314610e6b5760405162461bcd60e51b8152600401610a7790615415565b610e7660ca826130ac565b60405181907fa6ae4af610b8ada39d3675190ead27a5552631a8e33f53e4e37dbb082f11a73e90600090a250565b610b6f6065826130f9565b6001600160a01b038181166000908152606660205260409020541680610ee75760405162461bcd60e51b8152600401610a779061544c565b604051632de9480760e01b81526001600160a01b0383811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690632de9480790602401606060405180830381865afa158015610f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f769190615476565b50604051637104c0e560e11b81526001600160a01b0385811660048301528281166024830152919350600092507f00000000000000000000000000000000000000000000000000000000000000009091169063e20981ca906044016020604051808303816000875af1158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101491906154b8565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd9060200160405180910390a250505050565b600081815260ca602052604081206001015415155b92915050565b60005a9050600061109160978461335c565b9050600080806110b660c08701356110ac60208901896154d5565b60ca929190613783565b925092509250856040516020016110cd919061575b565b60405160208183030381529060405280519060200120837fbe8f27cef1f3d94120c9c547c3614f5b992fdb0c0a497cc920fde06546291ab460405160405180910390a38351156111a5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928560fe54426111559190615784565b6040518363ffffffff1660e01b8152600401611172929190615797565b600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050505b6101055460405163547d07a160e11b81526004810185905260248101849052604481018390526001600160a01b039091169063a8fa0f4290606401600060405180830381600087803b1580156111fa57600080fd5b505af115801561120e573d6000803e3d6000fd5b5050505061121c60976137fe565b603254610100546001600160a01b0390911690637ad226dc905a61124090896157b9565b60ff5461124d9190615784565b6112579190615784565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561129657600080fd5b505af11580156112aa573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b031633146112e05760405162461bcd60e51b8152600401610a7790615322565b604051632a59250560e21b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a9649414906024015b600060405180830381600087803b15801561134457600080fd5b505af1158015610e39573d6000803e3d6000fd5b60006113646097613862565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113b15760405162461bcd60e51b8152600401610a77906152e0565b610acf60658484846138b3565b6000546001600160a01b031633146113e85760405162461bcd60e51b8152600401610a7790615322565b61010680546001600160a01b0319166001600160a01b0383169081179091556040519081527f2b34e21b6daa8fcf8cba1c3ed709cbed2b0231d5fb60e9ccd8c2e75a5674bcb390602001610be6565b6000546001600160a01b031633146114615760405162461bcd60e51b8152600401610a7790615322565b60fd82905560fe81905560408051838152602081018390527ff3a6ee10a78fb7d212e87d9be970fb16bd7324e9dc9c38d21cd7ecde781a1d2a91015b60405180910390a15050565b610106546001600160a01b031633146115045760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74207468652052616e646f6d20426561636f6e006044820152606401610a77565b61150f609783613aee565b5050565b610105546001600160a01b0316331461153e5760405162461bcd60e51b8152600401610a7790615415565b6115486097613b9b565b610106546040516310da3b0360e21b81523060048201526001600160a01b0390911690634368ec0c90602401600060405180830381600087803b15801561158e57600080fd5b505af11580156115a2573d6000803e3d6000fd5b50505050565b610b6f60657f000000000000000000000000000000000000000000000000000000000000000083613c66565b60006113646097613ea7565b6000546001600160a01b0316331461160a5760405162461bcd60e51b8152600401610a7790615322565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b61168161167860208301836154d5565b60ca9190613ee1565b610b6f60978261403a565b600061107960657f00000000000000000000000000000000000000000000000000000000000000008461434a565b6000546001600160a01b031633146116e45760405162461bcd60e51b8152600401610a7790615322565b6116ef609786614385565b6116fa6097856143e6565b611705609784614447565b611710609783614488565b61171b6097826144e9565b604080518681526020810186905290810184905260608101839052608081018290527f59ae8ed7b3a7e5f6dde4cff478f0ac0aa652c5edc4f4757b09a778a430b02c569060a0015b60405180910390a15050505050565b60005a8535600081815261010460205260409020549192509085146117c95760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610a77565b6000806117d760ca846145a3565b909250905060006117e960ca856145f3565b905086866040516020016117fe9291906157cc565b60405160208183030381529060405280519060200120811461185a5760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642067726f7570206d656d6265727360581b6044820152606401610a77565b600073__$c28dd63714b1a086d50ecbb702fff9dbb7$__63f4df04be7f00000000000000000000000000000000000000000000000000000000000000008c87876040516020016118b4929190918252602082015260400190565b6040516020818303038152906040528d8d8d6040518763ffffffff1660e01b81526004016118e7969594939291906157ee565b600060405180830381865af4158015611904573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261192c9190810190615925565b60008681526101046020526040812080549293509061194a836159c3565b9091555050604080518a815233602082015286917f326e1ff7c130ed708307116f79cf7dbca649503e7082e5e35a19ceeee1523b39910160405180910390a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928260fe54426119c79190615784565b6040518363ffffffff1660e01b81526004016119e4929190615797565b600060405180830381600087803b1580156119fe57600080fd5b505af1158015611a12573d6000803e3d6000fd5b50611a279250505060608b0160408c016159dc565b15611a9a5761010554604051631ee74c0960e11b81526004810187905260248101869052604481018590526001600160a01b0390911690633dce981290606401600060405180830381600087803b158015611a8157600080fd5b505af1158015611a95573d6000803e3d6000fd5b505050505b603254610101546001600160a01b0390911690637ad226dc905a611abe908a6157b9565b611ac89190615784565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b0757600080fd5b505af1158015611b1b573d6000803e3d6000fd5b5050505050505050505050505050565b6000611079606583614635565b6000546001600160a01b03163314611b625760405162461bcd60e51b8152600401610a7790615322565b606580546001600160601b0319166001600160601b038516179055611b886065836146cd565b611b936065826146f5565b604080516001600160601b03851681526001600160401b03848116602083015283168183015290517f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b519181900360600190a1505050565b60005a9050611bf9609761471d565b603254610102546001600160a01b0390911690637ad226dc905a611c1d90856157b9565b611c279190615784565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440161132a565b606061107960ca836147a4565b606454610100900460ff1615808015611c7e5750606454600160ff909116105b80611c985750303b158015611c98575060645460ff166001145b611cfb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610a77565b6064805460ff191660011790558015611d1e576064805461ff0019166101001790555b61010680546001600160a01b038086166001600160a01b0319928316179092556032805492851692909116919091179055611d58336147df565b606580546001600160601b031916690878678326eac9000000179055611d826065623b53806146cd565b611d906065623b53806146f5565b60fc80546001600160601b0319166815af1d78b58c400000179055606460fd556212750060fe55611de360977f000000000000000000000000000000000000000000000000000000000000000086614839565b611df06097612d00614385565b611dfd6097612d006143e6565b611e0a609761c350614447565b611e176097610a0f614488565b611e23609760146144e9565b62046cd060ff55620119406101005562016b4861010155611c52610102556108fc6101035580156115a2576064805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6000546001600160a01b03163314611ebd5760405162461bcd60e51b8152600401610a7790615322565b60ff859055610100849055610101839055610102829055610103819055604080518681526020810186905290810184905260608101839052608081018290527f8a3e64fa6013a36bccca7362e8826b11ba41e57fb60f55309c0ca48904dad0829060a001611763565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f6e5760405162461bcd60e51b8152600401610a77906152e0565b610acf606584848461492e565b600061136460976149fb565b6000546001600160a01b03163314611fb15760405162461bcd60e51b8152600401610a7790615322565b61010580546001600160a01b0319166001600160a01b0383169081179091556040519081527fa1993af5a189ba5ad4155263c920cfee33ce0593a8eb231a13bb3ce6f39459e390602001610be6565b6000546001600160a01b0316331461202a5760405162461bcd60e51b8152600401610a7790615322565b6001600160a01b03811661208b5760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a77565b610b6f816147df565b60005a90506120a36097614a92565b603254610103546001600160a01b0390911690637ad226dc905a6120c790856157b9565b611c2791906157b9565b610105546001600160a01b031633146120fc5760405162461bcd60e51b8152600401610a7790615415565b600061210960ca856145f3565b9050828260405160200161211e9291906157cc565b6040516020818303038152906040528051906020012081146121525760405162461bcd60e51b8152600401610a77906159f9565b604051637bfcd47d60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7f9a8fa906121a390879087906004016157cc565b600060405180830381865afa1580156121c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121e89190810190615a3b565b90506000836001600160401b0381111561220457612204615376565b60405190808252806020026020018201604052801561222d578160200160208202803683370190505b50905060005b82518110156122b3576122778382815181106122515761225161538c565b60200260200101516001600160a01b039081166000908152606760205260409020541690565b8282815181106122895761228961538c565b6001600160a01b0390921660209283029190910190910152806122ab816159c3565b915050612233565b506040516383ddba8f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906383ddba8f90612306908c908c908c9087906004016153a2565b600060405180830381600087803b15801561232057600080fd5b505af1158015612334573d6000803e3d6000fd5b50505050505050505050505050565b604051635a48b46b60e01b81526001600160a01b03838116600483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690635a48b46b90602401602060405180830381865afa1580156123ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d29190615ac9565b90508063ffffffff1660000361242a5760405162461bcd60e51b815260206004820152601d60248201527f4e6f74206120736f72746974696f6e20706f6f6c206f70657261746f720000006044820152606401610a77565b600061243760ca896145f3565b9050868660405160200161244c9291906157cc565b6040516020818303038152906040528051906020012081146124805760405162461bcd60e51b8152600401610a77906159f9565b836001111580156124915750858411155b6124e95760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206d656d62657220696e646578206973206f7574206f662072616044820152626e676560e81b6064820152608401610a77565b63ffffffff821687876124fd6001886157b9565b81811061250c5761250c61538c565b90506020020160208101906125219190615ae6565b63ffffffff161498975050505050505050565b60a054604051636c2530b960e01b81526064600482015260248101919091526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c2530b990604401600060405180830381865afa1580156125a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113649190810190615925565b600061107960657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085614b11565b6000606061262d609784614c85565b91509150915091565b6040516307b8c36760e51b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063f7186ce090602401602060405180830381865afa1580156126a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190615b03565b6000806126ea836001600160a01b039081166000908152606660205260409020541690565b90506001600160a01b0381166127125760405162461bcd60e51b8152600401610a779061544c565b60405163439f18fd60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063873e31fa90602401602060405180830381865afa158015612778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279c91906154b8565b9392505050565b6001600160a01b0381166000908152606860205260408120546001600160601b0316611079565b6001600160a01b03808416600090815260018801602052604090205416806127f2575061292e565b6040516307b8c36760e51b81526001600160a01b03828116600483015286169063f7186ce090602401602060405180830381865afa158015612838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285c9190615b03565b1561292c57846001600160a01b031663a4e2d6346040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c39190615b03565b1561292057604080516001600160601b038086168252841660208201526001600160a01b0380841692908716917f1b09380d63e78fd72c1d79a805a7e2dfadf02b22418e24bebff51376b7df33b0910160405180910390a361292c565b61292c87878784612b10565b505b505050505050565b3360008181526002850160205260409020546001600160a01b03168061296e5760405162461bcd60e51b8152600401610a779061544c565b6001600160a01b0381166000908152600386016020526040812080549091906129a5908890889086906001600160601b0316614d69565b9050806001600160601b0316600003612a005760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b836001600160a01b0316836001600160a01b03167f5075aaa89894a888eb2cac81a27320c60855febb0cf1706b66bdc754e640d43360405160405180910390a3604051630483483160e31b81526001600160a01b0386169063241a418890612a6e9087908590600401615b20565b600060405180830381600087803b158015612a8857600080fd5b505af1158015612a9c573d6000803e3d6000fd5b5050835467fffffffffffffffe19600160601b9091046001600160401b031601915061292c9050578654612ae090600160601b90046001600160401b031642615b42565b82546001600160401b0391909116600160601b0267ffffffffffffffff60601b1990911617825550505050505050565b6001600160a01b0380821660009081526002860160205260409020541680612b4a5760405162461bcd60e51b8152600401610a779061544c565b6001600160a01b03808216600081815260038801602052604080822090519093861692917f1231fe5ee649a593b524a494cd53146a196380a872115a0d0fe16c0735afdf2691a36040516307b8c36760e51b81526001600160a01b03848116600483015285169063f7186ce090602401602060405180830381865afa158015612bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfb9190615b03565b15612c82578054600090612c1d908890889086906001600160601b0316614d69565b60405163dc7520c560e01b81529091506001600160a01b0386169063dc7520c590612c4e9087908590600401615b20565b600060405180830381600087803b158015612c6857600080fd5b505af1158015612c7c573d6000803e3d6000fd5b50505050505b805467fffffffffffffffe19600160601b9091046001600160401b03160161292e578554612cc090600160601b90046001600160401b031642615b42565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155505050505050565b6000806003612cfd856149fb565b6003811115612d0e57612d0e615152565b14612d5b5760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003840154600c850154612d6f9190615784565b431115612dca5760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f642068617320616c7265616479207061736044820152621cd95960ea1b6064820152608401610a77565b83600b015483604051602001612de0919061575b565b6040516020818303038152906040528051906020012014612e695760405162461bcd60e51b815260206004820152603a60248201527f526573756c7420756e646572206368616c6c656e67652069732064696666657260448201527f656e74207468616e20746865207375626d6974746564206f6e650000000000006064820152608401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92612ea5928892600401615b69565b600060405180830381865afa925050508015612ee357506040513d6000823e601f3d908101601f19168201604052612ee09190810190615b8e565b60015b612f5857336001600160a01b031684600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436604051612f4b906020808252601390820152721d985b1a59185d1a5bdb881c995d995c9d1959606a1b604082015260600190565b60405180910390a3612fe7565b8115612f9e5760405162461bcd60e51b8152602060048201526015602482015274756e6a7573746966696564206368616c6c656e676560581b6044820152606401610a77565b336001600160a01b031686600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a028543683604051612fdc91906150ff565b60405180910390a350505b600b8401549150612ffb60a0840184615c37565b613007600186356157b9565b8181106130165761301661538c565b905060200201602081019061302b9190615ae6565b905083600801544361303d91906157b9565b600a8501556000600b8501819055600c8501555b9250929050565b60048101545a1015610b6f5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c656674000000000000006044820152606401610a77565b6000818152602083905260409020600101546130da5760405162461bcd60e51b8152600401610a7790615c80565b6000908152602091909152604081208181556001810182905560020155565b336001600160a01b0382166131505760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722063616e206e6f74206265207a65726f20616464726573736044820152606401610a77565b6001600160a01b03818116600090815260018501602052604090205416156131d05760405162461bcd60e51b815260206004820152602d60248201527f4f70657261746f7220616c72656164792073657420666f72207468652073746160448201526c35b4b73390383937bb34b232b960991b6064820152608401610a77565b6001600160a01b038281166000908152600285016020526040902054161561323a5760405162461bcd60e51b815260206004820152601f60248201527f4f70657261746f72206164647265737320616c726561647920696e20757365006044820152606401610a77565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316156132cd5760405162461bcd60e51b815260206004820152603160248201527f546865726520697320612070656e64696e6720617574686f72697a6174696f6e60448201527008191958dc99585cd9481c995c5d595cdd607a1b6064820152608401610a77565b826001600160a01b0316826001600160a01b03167fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c160405160405180910390a3506001600160a01b03908116600081815260018501602090815260408083208054959096166001600160a01b031995861681179096559482526002909501909452919092208054909216179055565b60606003613369846149fb565b600381111561337a5761337a615152565b146133c75760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003830154600c8401546000916133dd91615784565b905080431161343a5760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f6420686173206e6f7420706173736564206044820152621e595d60ea1b6064820152608401610a77565b83600b015483604051602001613450919061575b565b60405160208183030381529060405280519060200120146134d95760405162461bcd60e51b815260206004820152603960248201527f526573756c7420756e64657220617070726f76616c206973206469666665726560448201527f6e74207468616e20746865207375626d6974746564206f6e65000000000000006064820152608401610a77565b83546000906001600160a01b0316638871ca5d6134f960a0870187615c37565b613505600189356157b9565b8181106135145761351461538c565b90506020020160208101906135299190615ae6565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa15801561356b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358f9190615359565b9050336001600160a01b03821614806135b5575060068501546135b29083615784565b43115b6136335760405162461bcd60e51b815260206004820152604360248201527f4f6e6c792074686520444b4720726573756c74207375626d697474657220636160448201527f6e20617070726f76652074686520726573756c742061742074686973206d6f6d606482015262195b9d60ea1b608482015260a401610a77565b6136406040850185615c37565b90506001600160401b0381111561365957613659615376565b604051908082528060200260200182016040528015613682578160200160208202803683370190505b50925060005b6136956040860186615c37565b9050811015613749576136ab60a0860186615c37565b60016136ba6040890189615c37565b858181106136ca576136ca61538c565b90506020020160208101906136df9190615cd0565b6136e99190615ceb565b60ff168181106136fb576136fb61538c565b90506020020160208101906137109190615ae6565b8482815181106137225761372261538c565b63ffffffff9092166020928302919091019091015280613741816159c3565b915050613688565b50600b8501546040513391907fe6e9d5eba171e82025efb3f3d44fd35905e7283d104284cb9f3bbc5bf1e4276f90600090a3505092915050565b60008060008484604051613798929190615d04565b60405190819003902092506137b1602060008688615d14565b6137ba91615d3e565b91506137c98460208188615d14565b6137d291615d3e565b600084815260209890985260409097209586555060018501819055600290940185905594929392915050565b60006008820181905560098201819055600a8201819055600b8201819055600c820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b15801561134457600080fd5b6000600261386f836149fb565b600381111561388057613880615152565b14801561107957506005820154600a83015460088401546138a19190615784565b6138ab9190615784565b431192915050565b6001600160601b03811615806138d7575083546001600160601b0390811690821610155b6139415760405162461bcd60e51b815260206004820152603560248201527f417574686f72697a6174696f6e20616d6f756e742073686f756c642062652030604482015274206f722061626f766520746865206d696e696d756d60581b6064820152608401610a77565b6001600160a01b038084166000908152600186016020526040812054909116908161396d575042613977565b506001600160401b035b60006139838486615d5c565b6001600160a01b03871660009081526003890160205260409020805491925090600160601b90046001600160401b031680158015906139cb57506001600160401b0381811614155b15613a5e5788546139ec90600160a01b90046001600160401b031682615d7c565b6001600160401b0316421015613a5e5760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f7567682074696d65207061737365642073696e636520746865604482015270081bdc9a59da5b985b081c995c5d595cdd607a1b6064820152608401610a77565b81546001600160401b038516600160601b81026001600160a01b03199092166001600160601b0386811691909117929092178455604080518a8416815292891660208401528201526001600160a01b0386811691908a16907f545cbf267cef6fe43f11f6219417ab43a0e8e345adbaae5f626d9bc325e8535a9060600160405180910390a3505050505050505050565b6001613af9836149fb565b6003811115613b0a57613b0a615152565b14613b625760405162461bcd60e51b815260206004820152602260248201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604482015261115160f21b6064820152608401610a77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436008830155600990910155565b6000613ba6826149fb565b6003811115613bb757613bb7615152565b14613bd45760405162461bcd60e51b8152600401610a7790615d9c565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015613c4257600080fd5b505af1158015613c56573d6000803e3d6000fd5b5050505043816007018190555050565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316613cea5760405162461bcd60e51b8152602060048201526024808201527f417574686f72697a6174696f6e206465637265617365206e6f742072657175656044820152631cdd195960e21b6064820152608401610a77565b805467fffffffffffffffe19600160601b9091046001600160401b031601613d695760405162461bcd60e51b815260206004820152602c60248201527f417574686f72697a6174696f6e2064656372656173652072657175657374206e60448201526b1bdd081858dd1a5d985d195960a21b6064820152608401610a77565b8054600160601b90046001600160401b0316421015613dda5760405162461bcd60e51b815260206004820152602760248201527f417574686f72697a6174696f6e2064656372656173652064656c6179206e6f74604482015266081c185cdcd95960ca1b6064820152608401610a77565b6040516001600160a01b038316907f50270a522c2fef97b6b7385c2aa4a4518adda681530e0a1fe9f5e840f6f2cd9d90600090a2604051633af0572d60e11b81526001600160a01b0383811660048301528416906375e0ae5a906024016020604051808303816000875af1158015613e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7a91906154b8565b50506001600160a01b031660009081526003909201602052506040902080546001600160a01b0319169055565b60006001613eb4836149fb565b6003811115613ec557613ec5615152565b1480156110795750600282015460078301546138ab9190615784565b60408114613f315760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b65796044820152606401610a77565b60008282604051613f43929190615d04565b604080519182900390912060008181526020879052919091206001015490915015613fc85760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420776974682074686520676976656e207075626c6963206b657960448201526e20616c72656164792065786973747360881b6064820152608401610a77565b6000613fd76020828587615d14565b613fe091615d3e565b905080610e395760405162461bcd60e51b815260206004820152602260248201527f57616c6c6574207075626c6963206b6579206d757374206265206e6f6e2d7a65604482015261726f60f01b6064820152608401610a77565b6002614045836149fb565b600381111561405657614056615152565b146140af5760405162461bcd60e51b8152602060048201526024808201527f43757272656e74207374617465206973206e6f74204157414954494e475f524560448201526314d5531560e21b6064820152608401610a77565b6140b882613862565b156141055760405162461bcd60e51b815260206004820152601a60248201527f444b472074696d656f757420616c7265616479207061737365640000000000006044820152606401610a77565b81546040516307b8c36760e51b81523360048201526001600160a01b0390911690819063f7186ce090602401602060405180830381865afa15801561414e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141729190615b03565b6141ca5760405162461bcd60e51b815260206004820152602360248201527f5375626d6974746572206e6f7420696e2074686520736f72746974696f6e20706044820152621bdbdb60ea1b6064820152608401610a77565b336001600160a01b038216638871ca5d6141e760a0860186615c37565b6141f3600188356157b9565b8181106142025761420261538c565b90506020020160208101906142179190615ae6565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015614259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061427d9190615359565b6001600160a01b0316146142d35760405162461bcd60e51b815260206004820152601a60248201527f556e6578706563746564207375626d697474657220696e6465780000000000006044820152606401610a77565b816040516020016142e4919061575b565b60408051601f19818403018152908290528051602090910120600b850181905543600c8601556009850154917f8e7fd4293d7db11807147d8890c287fad3396fbb09a4e92273fc7856076c153a9061433d90869061575b565b60405180910390a3505050565b6001600160a01b038116600090815260038401602052604081205461437d908590859085906001600160601b0316614d69565b949350505050565b6000614390836149fb565b60038111156143a1576143a1615152565b146143be5760405162461bcd60e51b8152600401610a7790615d9c565b600081116143de5760405162461bcd60e51b8152600401610a7790615dd3565b600290910155565b60006143f1836149fb565b600381111561440257614402615152565b1461441f5760405162461bcd60e51b8152600401610a7790615d9c565b6000811161443f5760405162461bcd60e51b8152600401610a7790615dd3565b600390910155565b6000614452836149fb565b600381111561446357614463615152565b146144805760405162461bcd60e51b8152600401610a7790615d9c565b600490910155565b6000614493836149fb565b60038111156144a4576144a4615152565b146144c15760405162461bcd60e51b8152600401610a7790615d9c565b600081116144e15760405162461bcd60e51b8152600401610a7790615dd3565b600590910155565b60006144f4836149fb565b600381111561450557614505615152565b146145225760405162461bcd60e51b8152600401610a7790615d9c565b6005820154811061459b5760405162461bcd60e51b815260206004820152603d60248201527f4e65772076616c75652073686f756c64206265206c657373207468616e20726560448201527f73756c74207375626d697373696f6e20706572696f64206c656e6774680000006064820152608401610a77565b600690910155565b60008181526020839052604081206001015481906145d35760405162461bcd60e51b8152600401610a7790615c80565b505060009081526020919091526040902060018101546002909101549091565b6000818152602083905260408120600101546146215760405162461bcd60e51b8152600401610a7790615c80565b506000908152602091909152604090205490565b6001600160a01b03811660009081526003830160205260408120805467fffffffffffffffe19600160601b9091046001600160401b031601614681576001600160401b03915050611079565b805442906001600160401b03600160601b9091048116908216116146c15781546146bc908290600160601b90046001600160401b0316615d7c565b6146c4565b60005b95945050505050565b81546001600160401b03909116600160601b0267ffffffffffffffff60601b19909116179055565b81546001600160401b03909116600160a01b0267ffffffffffffffff60a01b19909116179055565b61472681613ea7565b6147725760405162461bcd60e51b815260206004820152601f60248201527f4177616974696e67207365656420686173206e6f742074696d6564206f7574006044820152606401610a77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1610b6f816137fe565b60606000806147b385856145a3565b604080516020810193909352828101919091528051808303820181526060909201905295945050505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910161149d565b82546001600160a01b03161561489c5760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b6064820152608401610a77565b60018301546001600160a01b0316156149015760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b6064820152608401610a77565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b83546001600160601b03908116908216101561498c5760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b6001600160a01b0383811660008181526001870160209081526040918290205482516001600160601b03888116825287169281019290925282519416938493927f87f9f9f59204f53d57a89a817c6083a17979cd0531791c91e18551a56e3cfdd7928290030190a35050505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015614a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a689190615b03565b15614a8d5750600881015460019015614a8d5750600c81015460029015614a8d575060035b919050565b614a9b81613862565b614adf5760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b6044820152606401610a77565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1610b6f816137fe565b6001600160a01b03808216600090815260028601602052604081205490911680614b4d5760405162461bcd60e51b8152600401610a779061544c565b6001600160a01b038116600090815260038701602052604081208054909190614b84908990899086906001600160601b0316614d69565b6040516307b8c36760e51b81526001600160a01b0387811660048301529192509087169063f7186ce090602401602060405180830381865afa158015614bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bf29190615b03565b614c0a576001600160601b031615925061437d915050565b6040516304de824f60e41b81526001600160a01b03871690634de824f090614c389088908590600401615b20565b602060405180830381865afa158015614c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c799190615b03565b98975050505050505050565b600060606000846008015411614cdd5760405162461bcd60e51b815260206004820152601860248201527f444b4720686173206e6f74206265656e207374617274656400000000000000006044820152606401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92614d19928892600401615b69565b600060405180830381865afa158015614d36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d5e9190810190615b8e565b915091509250929050565b604051637004922d60e11b81526001600160a01b038381166004830152306024830152600091829186169063e009245a90604401602060405180830381865afa158015614dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614dde91906154b8565b90506000836001600160601b0316826001600160601b031611614e02576000614e0c565b614e0c8483615d5c565b87549091506001600160601b039081169082161015614e305760009250505061437d565b915061437d9050565b6001600160a01b0381168114610b6f57600080fd5b6001600160601b0381168114610b6f57600080fd5b600080600060608486031215614e7857600080fd5b8335614e8381614e39565b92506020840135614e9381614e4e565b91506040840135614ea381614e4e565b809150509250925092565b600060208284031215614ec057600080fd5b813561279c81614e39565b600060208284031215614edd57600080fd5b813561279c81614e4e565b600060208284031215614efa57600080fd5b81356001600160401b03811115614f1057600080fd5b820160e0818503121561279c57600080fd5b600060208284031215614f3457600080fd5b5035919050565b60008060408385031215614f4e57600080fd5b50508035926020909101359150565b600080600080600060a08688031215614f7557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008083601f840112614faa57600080fd5b5081356001600160401b03811115614fc157600080fd5b6020830191508360208260051b850101111561305157600080fd5b60008060008060608587031215614ff257600080fd5b84356001600160401b038082111561500957600080fd5b9086019060a0828903121561501d57600080fd5b909450602086013593506040860135908082111561503a57600080fd5b5061504787828801614f98565b95989497509550505050565b80356001600160401b0381168114614a8d57600080fd5b60008060006060848603121561507f57600080fd5b833561508a81614e4e565b925061509860208501615053565b91506150a660408501615053565b90509250925092565b60005b838110156150ca5781810151838201526020016150b2565b50506000910152565b600081518084526150eb8160208601602086016150af565b601f01601f19169290920160200192915050565b60208152600061279c60208301846150d3565b60008060006060848603121561512757600080fd5b833561513281614e39565b9250602084013561514281614e39565b91506040840135614ea381614e39565b634e487b7160e01b600052602160045260246000fd5b602081016004831061518a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060008060008060a087890312156151a957600080fd5b86356151b481614e4e565b95506020870135945060408701356151cb81614e39565b93506060870135925060808701356001600160401b038111156151ed57600080fd5b6151f989828a01614f98565b979a9699509497509295939492505050565b60008060008060006080868803121561522357600080fd5b8535945060208601356001600160401b0381111561524057600080fd5b61524c88828901614f98565b909550935050604086013561526081614e39565b949793965091946060013592915050565b600081518084526020808501945080840160005b838110156152a757815163ffffffff1687529582019590820190600101615285565b509495945050505050565b60208152600061279c6020830184615271565b821515815260406020820152600061437d60408301846150d3565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b60006020828403121561536b57600080fd5b815161279c81614e39565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160601b038516815260208082018590526001600160a01b038481166040840152608060608401819052845190840181905260009285810192909160a0860190855b818110156154055785518416835294840194918401916001016153e7565b50909a9950505050505050505050565b6020808252601e908201527f43616c6c6572206973206e6f74207468652057616c6c6574204f776e65720000604082015260600190565b60208082526010908201526f2ab735b737bbb71037b832b930ba37b960811b604082015260600190565b60008060006060848603121561548b57600080fd5b835161549681614e39565b60208501519093506154a781614e39565b6040850151909250614ea381614e39565b6000602082840312156154ca57600080fd5b815161279c81614e4e565b6000808335601e198436030181126154ec57600080fd5b8301803591506001600160401b0382111561550657600080fd5b60200191503681900382131561305157600080fd5b6000808335601e1984360301811261553257600080fd5b83016020810192503590506001600160401b0381111561555157600080fd5b80360382131561305157600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126155a057600080fd5b83016020810192503590506001600160401b038111156155bf57600080fd5b8060051b360382131561305157600080fd5b803560ff81168114614a8d57600080fd5b81835260006001600160fb1b038311156155fb57600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114610b6f57600080fd5b8183526000602080850194508260005b858110156152a757813561564981615614565b63ffffffff1687529582019590820190600101615636565b80358252600060206156758184018461551b565b60e08387015261568960e087018284615560565b9150506156996040850185615589565b868303604088015280835290916000919084015b818310156156d55760ff6156c0856155d1565b168152928401926001929092019184016156ad565b6156e2606088018861551b565b9550935087810360608901526156f9818686615560565b94505050505061570c6080840184615589565b858303608087015261571f8382846155e2565b9250505061573060a0840184615589565b85830360a0870152615743838284615626565b9250505060c083013560c08501528091505092915050565b60208152600061279c6020830184615661565b634e487b7160e01b600052601160045260246000fd5b808201808211156110795761107961576e565b6040815260006157aa6040830185615271565b90508260208301529392505050565b818103818111156110795761107961576e565b60208152600061437d602083018486615626565b8015158114610b6f57600080fd5b60018060a01b038716815260a06020820152853560a082015260006158166020880188615589565b60a060c085015261582c610140850182846155e2565b915050604088013561583d816157e0565b151560e0840152615851606089018961551b565b609f19808685030161010087015261586a848385615560565b935061587960808c018c615589565b935091508086850301610120870152506158948383836155e2565b9250505082810360408401526158aa81886150d3565b905085606084015282810360808401526158c5818587615626565b9998505050505050505050565b604051601f8201601f191681016001600160401b03811182821017156158fa576158fa615376565b604052919050565b60006001600160401b0382111561591b5761591b615376565b5060051b60200190565b6000602080838503121561593857600080fd5b82516001600160401b0381111561594e57600080fd5b8301601f8101851361595f57600080fd5b805161597261596d82615902565b6158d2565b81815260059190911b8201830190838101908783111561599157600080fd5b928401925b828410156159b85783516159a981615614565b82529284019290840190615996565b979650505050505050565b6000600182016159d5576159d561576e565b5060010190565b6000602082840312156159ee57600080fd5b813561279c816157e0565b60208082526022908201527f496e76616c69642077616c6c6574206d656d62657273206964656e7469666965604082015261727360f01b606082015260800190565b60006020808385031215615a4e57600080fd5b82516001600160401b03811115615a6457600080fd5b8301601f81018513615a7557600080fd5b8051615a8361596d82615902565b81815260059190911b82018301908381019087831115615aa257600080fd5b928401925b828410156159b8578351615aba81614e39565b82529284019290840190615aa7565b600060208284031215615adb57600080fd5b815161279c81615614565b600060208284031215615af857600080fd5b813561279c81615614565b600060208284031215615b1557600080fd5b815161279c816157e0565b6001600160a01b039290921682526001600160601b0316602082015260400190565b6001600160401b03818116838216019080821115615b6257615b6261576e565b5092915050565b606081526000615b7c6060830186615661565b60208301949094525060400152919050565b60008060408385031215615ba157600080fd5b8251615bac816157e0565b60208401519092506001600160401b0380821115615bc957600080fd5b818501915085601f830112615bdd57600080fd5b815181811115615bef57615bef615376565b615c02601f8201601f19166020016158d2565b9150808252866020828501011115615c1957600080fd5b615c2a8160208401602086016150af565b5080925050509250929050565b6000808335601e19843603018112615c4e57600080fd5b8301803591506001600160401b03821115615c6857600080fd5b6020019150600581901b360382131561305157600080fd5b60208082526030908201527f57616c6c657420776974682074686520676976656e20494420686173206e6f7460408201526f081899595b881c9959da5cdd195c995960821b606082015260800190565b600060208284031215615ce257600080fd5b61279c826155d1565b60ff82811682821603908111156110795761107961576e565b8183823760009101908152919050565b60008085851115615d2457600080fd5b83861115615d3157600080fd5b5050820193919092039150565b8035602083101561107957600019602084900360031b1b1692915050565b6001600160601b03828116828216039080821115615b6257615b6261576e565b6001600160401b03828116828216039080821115615b6257615b6261576e565b60208082526019908201527f43757272656e74207374617465206973206e6f742049444c4500000000000000604082015260600190565b60208082526025908201527f4e65772076616c75652073686f756c642062652067726561746572207468616e604082015264207a65726f60d81b60608201526080019056fea2646970667358221220dd52292a16b552a8f59b2b23d682e4ced8af49e15cce16b8590816d8fcbe54c664736f6c63430008110033";
|
|
1931
|
+
var _bytecode = "0x60c06040523480156200001157600080fd5b50604051620060e4380380620060e4833981016040819052620000349162000134565b6001600160a01b03808316608052811660a0526200005162000059565b505062000173565b606454610100900460ff1615620000c65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60645460ff908116101562000119576064805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013157600080fd5b50565b600080604083850312156200014857600080fd5b825162000155816200011b565b602084015190925062000168816200011b565b809150509250929050565b60805160a051615e876200025d600039600081816104ea01528181610a3a01528181610a8701528181610adb01528181610b2901528181610d4e01528181610f42015281816113ad015281816115e8015281816116ce01528181611f6a0152818161230401526126110152600081816107e601528181610aa801528181610afc01528181610b4a01528181610c6301528181610fde0152818161115201528181611338015281816118b1015281816119c401528181611df7015281816121a5015281816123a0015281816125910152818161263201528181612691015261276a0152615e876000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80637e0049fd116101e9578063c9bacaad1161010f578063df07ce59116100ad578063f0820c921161007c578063f0820c921461097e578063f7186ce01461098f578063f854a27f146109a2578063fd2a4788146109b557600080fd5b8063df07ce5914610922578063e03e453514610935578063e686440f1461094a578063e83ab3a51461095d57600080fd5b8063d38bfff4116100e9578063d38bfff4146108c8578063d855c631146108db578063d8dc404d146108e3578063ded56d45146108f657600080fd5b8063c9bacaad1461088d578063cc562388146108a0578063d0bcc0e3146108b557600080fd5b8063a04e298011610187578063c09975cd11610156578063c09975cd14610828578063c0c53b8b1461083b578063c7c49c981461084e578063c88e70f41461087a57600080fd5b8063a04e2980146107c6578063b13b55b2146107d9578063b54a2374146107e1578063b5e9ce8b1461080857600080fd5b806388a59590116101c357806388a595901461073a5780638dcbdf4a146107755780639879d19b146107885780639c9de0281461079b57600080fd5b80637e0049fd146106e55780637e33cba6146106f8578063830f9e021461070b57600080fd5b806352902301116102ce5780636c9ecd641161026c578063770124d31161023b578063770124d3146105f2578063789d392a146105fa5780637b14729e146106755780637b35b4e6146106d257600080fd5b80636c9ecd64146105b15780636febd464146105c457806372cc8c6d146105d757806375e0ae5a146105df57600080fd5b8063663032cd116102a8578063663032cd1461057057806368c34948146105835780636a7f7a901461058b5780636b5f2bff1461059e57600080fd5b8063529023011461052f5780635aa6e6751461054a5780635c5b38701461055d57600080fd5b8063227fd44f1161033b5780633682a450116103155780633682a450146104bf57806342d86693146104d25780634cf088d9146104e55780634d99f4731461050c57600080fd5b8063227fd44f146104865780633137676614610499578063343bb927146104ac57600080fd5b8063167f051711610377578063167f0517146104325780631ae879e81461043a5780631c5b07621461044e5780631d35fa631461046157600080fd5b806308aa090b1461039e57806314a85474146103f1578063153622b314610406575b600080fd5b6103a66109c8565b6040516103e89190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b60405180910390f35b6104046103ff366004614e9c565b610a2f565b005b6101065461041a906001600160a01b031681565b6040516001600160a01b0390911681526020016103e8565b610404610ad4565b6101055461041a906001600160a01b031681565b61040461045c366004614ee7565b610b22565b60fc546001600160601b03165b6040516001600160601b0390911681526020016103e8565b610404610494366004614f04565b610b72565b6104046104a7366004614f21565b610bf1565b6104046104ba366004614f5b565b610e79565b6104046104cd366004614ee7565b610edd565b6104046104e0366004614ee7565b610ee8565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61051f61051a366004614f5b565b61109d565b60405190151581526020016103e8565b60fd5460fe54604080519283526020830191909152016103e8565b60005461041a906001600160a01b031681565b61040461056b366004614f21565b6110b8565b61040461057e366004614ee7565b6112ef565b61051f611391565b610404610599366004614e9c565b6113a2565b6104046105ac366004614ee7565b6113f7565b6104046105bf366004614f74565b611470565b6104046105d2366004614f74565b6114e2565b61040461154c565b6104046105ed366004614ee7565b6115e1565b61051f61160d565b610653610608366004614f5b565b60408051606080820183526000808352602080840182905292840181905293845260ca8252928290208251938401835280548452600181015491840191909152600201549082015290565b60408051825181526020808401519082015291810151908201526060016103e8565b6106a36065546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103e8565b6104046106e0366004614ee7565b611619565b6104046106f3366004614f21565b6116a1565b61046e610706366004614ee7565b6116c5565b61072c610719366004614f5b565b6101046020526000908152604090205481565b6040519081526020016103e8565b60ff5461010054610101546101025461010354604080519586526020860194909452928401919091526060830152608082015260a0016103e8565b610404610783366004614f96565b6116f3565b610404610796366004615015565b6117ab565b6107ae6107a9366004614ee7565b611b64565b6040516001600160401b0390911681526020016103e8565b6104046107d43660046150a3565b611b71565b610404611c23565b61041a7f000000000000000000000000000000000000000000000000000000000000000081565b61081b610816366004614f5b565b611c8a565b6040516103e89190615138565b60325461041a906001600160a01b031681565b61040461084936600461514b565b611c97565b61041a61085c366004614ee7565b6001600160a01b039081166000908152606660205260409020541690565b610404610888366004614f96565b611ecc565b61040461089b366004614e9c565b611f5f565b6108a8611fb4565b6040516103e891906151a1565b6104046108c3366004614ee7565b611fc0565b6104046108d6366004614ee7565b612039565b6104046120cd565b6104046108f13660046151c9565b61210a565b61041a610904366004614ee7565b6001600160a01b039081166000908152606760205260409020541690565b61051f610930366004615244565b61237c565b61093d61256d565b6040516103e891906152eb565b61051f610958366004614ee7565b612608565b61097061096b366004614f21565b612657565b6040516103e89291906152fe565b6065546001600160601b031661046e565b61051f61099d366004614ee7565b61266f565b61046e6109b0366004614ee7565b6126fe565b61046e6109c3366004614ee7565b6127dc565b6109fa6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a0810182526099548152609a546020820152609b5491810191909152609c546060820152609d54608082015290565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a805760405162461bcd60e51b8152600401610a7790615319565b60405180910390fd5b610acf60657f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686612803565b505050565b610b2060657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061296f565b565b610b6f60657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612b49565b50565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b8152600401610a779061535b565b60fc80546001600160601b0319166001600160601b0383169081179091556040519081527fe132b87eb6644ee4d4c3c32744f7e1c3906335a2d4f99330767bf573909c7d84906020015b60405180910390a150565b333214610c2a5760405162461bcd60e51b81526020600482015260076024820152664e6f7420454f4160c81b6044820152606401610a77565b600080610c38609784612d28565b604051638871ca5d60e01b815263ffffffff8216600482015291935091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638871ca5d90602401602060405180830381865afa158015610caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cce9190615392565b6040805160018082528183019092529192506000919060208083019080368337019050506001600160a01b038084166000908152606760205260409020549192501681600081518110610d2357610d236153c5565b6001600160a01b03928316602091820292909201015260fc5460fd546040516383ddba8f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000909316926383ddba8f92610d93926001600160601b0390911691339087906004016153db565b600060405180830381600087803b158015610dad57600080fd5b505af1925050508015610dbe575060015b610e175760fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610e68565b60fc54604080516001600160601b0390921682526001600160a01b038416602083015285917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610e726097613091565b5050505050565b610105546001600160a01b03163314610ea45760405162461bcd60e51b8152600401610a779061544e565b610eaf60ca826130e5565b60405181907fa6ae4af610b8ada39d3675190ead27a5552631a8e33f53e4e37dbb082f11a73e90600090a250565b610b6f606582613132565b6001600160a01b038181166000908152606660205260409020541680610f205760405162461bcd60e51b8152600401610a7790615485565b604051632de9480760e01b81526001600160a01b0383811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690632de9480790602401606060405180830381865afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf91906154af565b50604051637104c0e560e11b81526001600160a01b0385811660048301528281166024830152919350600092507f00000000000000000000000000000000000000000000000000000000000000009091169063e20981ca906044016020604051808303816000875af1158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d91906154f1565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd9060200160405180910390a250505050565b600081815260ca602052604081206001015415155b92915050565b60005a905060006110ca609784613395565b9050600080806110ef60c08701356110e5602089018961550e565b60ca9291906137bc565b925092509250856040516020016111069190615794565b60405160208183030381529060405280519060200120837fbe8f27cef1f3d94120c9c547c3614f5b992fdb0c0a497cc920fde06546291ab460405160405180910390a38351156111de577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928560fe544261118e91906157bd565b6040518363ffffffff1660e01b81526004016111ab9291906157d0565b600060405180830381600087803b1580156111c557600080fd5b505af11580156111d9573d6000803e3d6000fd5b505050505b6101055460405163547d07a160e11b81526004810185905260248101849052604481018390526001600160a01b039091169063a8fa0f4290606401600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050506112556097613837565b603254610100546001600160a01b0390911690637ad226dc905a61127990896157f2565b60ff5461128691906157bd565b61129091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b031633146113195760405162461bcd60e51b8152600401610a779061535b565b604051632a59250560e21b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a9649414906024015b600060405180830381600087803b15801561137d57600080fd5b505af1158015610e72573d6000803e3d6000fd5b600061139d609761389b565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ea5760405162461bcd60e51b8152600401610a7790615319565b610acf60658484846138ec565b6000546001600160a01b031633146114215760405162461bcd60e51b8152600401610a779061535b565b61010680546001600160a01b0319166001600160a01b0383169081179091556040519081527f2b34e21b6daa8fcf8cba1c3ed709cbed2b0231d5fb60e9ccd8c2e75a5674bcb390602001610be6565b6000546001600160a01b0316331461149a5760405162461bcd60e51b8152600401610a779061535b565b60fd82905560fe81905560408051838152602081018390527ff3a6ee10a78fb7d212e87d9be970fb16bd7324e9dc9c38d21cd7ecde781a1d2a91015b60405180910390a15050565b610106546001600160a01b0316331461153d5760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74207468652052616e646f6d20426561636f6e006044820152606401610a77565b611548609783613b27565b5050565b610105546001600160a01b031633146115775760405162461bcd60e51b8152600401610a779061544e565b6115816097613bd4565b610106546040516310da3b0360e21b81523060048201526001600160a01b0390911690634368ec0c90602401600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b50505050565b610b6f60657f000000000000000000000000000000000000000000000000000000000000000083613c9f565b600061139d6097613ee0565b6000546001600160a01b031633146116435760405162461bcd60e51b8152600401610a779061535b565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b6116ba6116b1602083018361550e565b60ca9190613f1a565b610b6f609782614073565b60006110b260657f000000000000000000000000000000000000000000000000000000000000000084614383565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610a779061535b565b6117286097866143be565b61173360978561441f565b61173e609784614480565b6117496097836144c1565b611754609782614522565b604080518681526020810186905290810184905260608101839052608081018290527f59ae8ed7b3a7e5f6dde4cff478f0ac0aa652c5edc4f4757b09a778a430b02c569060a0015b60405180910390a15050505050565b60005a8535600081815261010460205260409020549192509085146118025760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610a77565b60008061181060ca846145dc565b9092509050600061182260ca8561462c565b90508686604051602001611837929190615805565b6040516020818303038152906040528051906020012081146118935760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642067726f7570206d656d6265727360581b6044820152606401610a77565b600073__$c28dd63714b1a086d50ecbb702fff9dbb7$__63f4df04be7f00000000000000000000000000000000000000000000000000000000000000008c87876040516020016118ed929190918252602082015260400190565b6040516020818303038152906040528d8d8d6040518763ffffffff1660e01b815260040161192096959493929190615827565b600060405180830381865af415801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611965919081019061595e565b600086815261010460205260408120805492935090611983836159fc565b9091555050604080518a815233602082015286917f326e1ff7c130ed708307116f79cf7dbca649503e7082e5e35a19ceeee1523b39910160405180910390a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663942f68928260fe5442611a0091906157bd565b6040518363ffffffff1660e01b8152600401611a1d9291906157d0565b600060405180830381600087803b158015611a3757600080fd5b505af1158015611a4b573d6000803e3d6000fd5b50611a609250505060608b0160408c01615a15565b15611ad35761010554604051631ee74c0960e11b81526004810187905260248101869052604481018590526001600160a01b0390911690633dce981290606401600060405180830381600087803b158015611aba57600080fd5b505af1158015611ace573d6000803e3d6000fd5b505050505b603254610101546001600160a01b0390911690637ad226dc905a611af7908a6157f2565b611b0191906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b4057600080fd5b505af1158015611b54573d6000803e3d6000fd5b5050505050505050505050505050565b60006110b260658361466e565b6000546001600160a01b03163314611b9b5760405162461bcd60e51b8152600401610a779061535b565b606580546001600160601b0319166001600160601b038516179055611bc1606583614706565b611bcc60658261472e565b604080516001600160601b03851681526001600160401b03848116602083015283168183015290517f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b519181900360600190a1505050565b60005a9050611c326097614756565b603254610102546001600160a01b0390911690637ad226dc905a611c5690856157f2565b611c6091906157bd565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401611363565b60606110b260ca836147dd565b606454610100900460ff1615808015611cb75750606454600160ff909116105b80611cd15750303b158015611cd1575060645460ff166001145b611d345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610a77565b6064805460ff191660011790558015611d57576064805461ff0019166101001790555b61010680546001600160a01b038086166001600160a01b0319928316179092556032805492851692909116919091179055611d9133614818565b606580546001600160601b031916690878678326eac9000000179055611dbb6065623b5380614706565b611dc96065623b538061472e565b60fc80546001600160601b0319166815af1d78b58c400000179055606460fd556212750060fe55611e1c60977f000000000000000000000000000000000000000000000000000000000000000086614872565b611e296097612d006143be565b611e366097612d0061441f565b611e43609761c350614480565b611e5060976102186144c1565b611e5c60976014614522565b62046cd060ff55620119406101005562016b4861010155611c52610102556108fc6101035580156115db576064805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6000546001600160a01b03163314611ef65760405162461bcd60e51b8152600401610a779061535b565b60ff859055610100849055610101839055610102829055610103819055604080518681526020810186905290810184905260608101839052608081018290527f8a3e64fa6013a36bccca7362e8826b11ba41e57fb60f55309c0ca48904dad0829060a00161179c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611fa75760405162461bcd60e51b8152600401610a7790615319565b610acf6065848484614967565b600061139d6097614a34565b6000546001600160a01b03163314611fea5760405162461bcd60e51b8152600401610a779061535b565b61010580546001600160a01b0319166001600160a01b0383169081179091556040519081527fa1993af5a189ba5ad4155263c920cfee33ce0593a8eb231a13bb3ce6f39459e390602001610be6565b6000546001600160a01b031633146120635760405162461bcd60e51b8152600401610a779061535b565b6001600160a01b0381166120c45760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a77565b610b6f81614818565b60005a90506120dc6097614acb565b603254610103546001600160a01b0390911690637ad226dc905a61210090856157f2565b611c6091906157f2565b610105546001600160a01b031633146121355760405162461bcd60e51b8152600401610a779061544e565b600061214260ca8561462c565b90508282604051602001612157929190615805565b60405160208183030381529060405280519060200120811461218b5760405162461bcd60e51b8152600401610a7790615a32565b604051637bfcd47d60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7f9a8fa906121dc9087908790600401615805565b600060405180830381865afa1580156121f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122219190810190615a74565b90506000836001600160401b0381111561223d5761223d6153af565b604051908082528060200260200182016040528015612266578160200160208202803683370190505b50905060005b82518110156122ec576122b083828151811061228a5761228a6153c5565b60200260200101516001600160a01b039081166000908152606760205260409020541690565b8282815181106122c2576122c26153c5565b6001600160a01b0390921660209283029190910190910152806122e4816159fc565b91505061226c565b506040516383ddba8f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906383ddba8f9061233f908c908c908c9087906004016153db565b600060405180830381600087803b15801561235957600080fd5b505af115801561236d573d6000803e3d6000fd5b50505050505050505050505050565b604051635a48b46b60e01b81526001600160a01b03838116600483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690635a48b46b90602401602060405180830381865afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190615b02565b90508063ffffffff166000036124635760405162461bcd60e51b815260206004820152601d60248201527f4e6f74206120736f72746974696f6e20706f6f6c206f70657261746f720000006044820152606401610a77565b600061247060ca8961462c565b90508686604051602001612485929190615805565b6040516020818303038152906040528051906020012081146124b95760405162461bcd60e51b8152600401610a7790615a32565b836001111580156124ca5750858411155b6125225760405162461bcd60e51b815260206004820152602360248201527f57616c6c6574206d656d62657220696e646578206973206f7574206f662072616044820152626e676560e81b6064820152608401610a77565b63ffffffff821687876125366001886157f2565b818110612545576125456153c5565b905060200201602081019061255a9190615b1f565b63ffffffff161498975050505050505050565b60a054604051636c2530b960e01b81526064600482015260248101919091526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c2530b990604401600060405180830381865afa1580156125e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139d919081019061595e565b60006110b260657f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085614b4a565b60006060612666609784614cbe565b91509150915091565b6040516307b8c36760e51b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063f7186ce090602401602060405180830381865afa1580156126da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b29190615b3c565b600080612723836001600160a01b039081166000908152606660205260409020541690565b90506001600160a01b03811661274b5760405162461bcd60e51b8152600401610a7790615485565b60405163439f18fd60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063873e31fa90602401602060405180830381865afa1580156127b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d591906154f1565b9392505050565b6001600160a01b0381166000908152606860205260408120546001600160601b03166110b2565b6001600160a01b038084166000908152600188016020526040902054168061282b5750612967565b6040516307b8c36760e51b81526001600160a01b03828116600483015286169063f7186ce090602401602060405180830381865afa158015612871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128959190615b3c565b1561296557846001600160a01b031663a4e2d6346040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128fc9190615b3c565b1561295957604080516001600160601b038086168252841660208201526001600160a01b0380841692908716917f1b09380d63e78fd72c1d79a805a7e2dfadf02b22418e24bebff51376b7df33b0910160405180910390a3612965565b61296587878784612b49565b505b505050505050565b3360008181526002850160205260409020546001600160a01b0316806129a75760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b0381166000908152600386016020526040812080549091906129de908890889086906001600160601b0316614da2565b9050806001600160601b0316600003612a395760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b836001600160a01b0316836001600160a01b03167f5075aaa89894a888eb2cac81a27320c60855febb0cf1706b66bdc754e640d43360405160405180910390a3604051630483483160e31b81526001600160a01b0386169063241a418890612aa79087908590600401615b59565b600060405180830381600087803b158015612ac157600080fd5b505af1158015612ad5573d6000803e3d6000fd5b5050835467fffffffffffffffe19600160601b9091046001600160401b03160191506129659050578654612b1990600160601b90046001600160401b031642615b7b565b82546001600160401b0391909116600160601b0267ffffffffffffffff60601b1990911617825550505050505050565b6001600160a01b0380821660009081526002860160205260409020541680612b835760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b03808216600081815260038801602052604080822090519093861692917f1231fe5ee649a593b524a494cd53146a196380a872115a0d0fe16c0735afdf2691a36040516307b8c36760e51b81526001600160a01b03848116600483015285169063f7186ce090602401602060405180830381865afa158015612c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c349190615b3c565b15612cbb578054600090612c56908890889086906001600160601b0316614da2565b60405163dc7520c560e01b81529091506001600160a01b0386169063dc7520c590612c879087908590600401615b59565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b50505050505b805467fffffffffffffffe19600160601b9091046001600160401b031601612967578554612cf990600160601b90046001600160401b031642615b7b565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155505050505050565b6000806003612d3685614a34565b6003811115612d4757612d4761518b565b14612d945760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003840154600c850154612da891906157bd565b431115612e035760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f642068617320616c7265616479207061736044820152621cd95960ea1b6064820152608401610a77565b83600b015483604051602001612e199190615794565b6040516020818303038152906040528051906020012014612ea25760405162461bcd60e51b815260206004820152603a60248201527f526573756c7420756e646572206368616c6c656e67652069732064696666657260448201527f656e74207468616e20746865207375626d6974746564206f6e650000000000006064820152608401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92612ede928892600401615ba2565b600060405180830381865afa925050508015612f1c57506040513d6000823e601f3d908101601f19168201604052612f199190810190615bc7565b60015b612f9157336001600160a01b031684600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436604051612f84906020808252601390820152721d985b1a59185d1a5bdb881c995d995c9d1959606a1b604082015260600190565b60405180910390a3613020565b8115612fd75760405162461bcd60e51b8152602060048201526015602482015274756e6a7573746966696564206368616c6c656e676560581b6044820152606401610a77565b336001600160a01b031686600b01547f703feb01415a2995816e8d082fd7aad0eacada1a2f63fdb3226e47f8a0285436836040516130159190615138565b60405180910390a350505b600b840154915061303460a0840184615c70565b613040600186356157f2565b81811061304f5761304f6153c5565b90506020020160208101906130649190615b1f565b905083600801544361307691906157f2565b600a8501556000600b8501819055600c8501555b9250929050565b60048101545a1015610b6f5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c656674000000000000006044820152606401610a77565b6000818152602083905260409020600101546131135760405162461bcd60e51b8152600401610a7790615cb9565b6000908152602091909152604081208181556001810182905560020155565b336001600160a01b0382166131895760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722063616e206e6f74206265207a65726f20616464726573736044820152606401610a77565b6001600160a01b03818116600090815260018501602052604090205416156132095760405162461bcd60e51b815260206004820152602d60248201527f4f70657261746f7220616c72656164792073657420666f72207468652073746160448201526c35b4b73390383937bb34b232b960991b6064820152608401610a77565b6001600160a01b03828116600090815260028501602052604090205416156132735760405162461bcd60e51b815260206004820152601f60248201527f4f70657261746f72206164647265737320616c726561647920696e20757365006044820152606401610a77565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316156133065760405162461bcd60e51b815260206004820152603160248201527f546865726520697320612070656e64696e6720617574686f72697a6174696f6e60448201527008191958dc99585cd9481c995c5d595cdd607a1b6064820152608401610a77565b826001600160a01b0316826001600160a01b03167fa453db612af59e5521d6ab9284dc3e2d06af286eb1b1b7b771fce4716c19f2c160405160405180910390a3506001600160a01b03908116600081815260018501602090815260408083208054959096166001600160a01b031995861681179096559482526002909501909452919092208054909216179055565b606060036133a284614a34565b60038111156133b3576133b361518b565b146134005760405162461bcd60e51b815260206004820152601e60248201527f43757272656e74207374617465206973206e6f74204348414c4c454e474500006044820152606401610a77565b6003830154600c840154600091613416916157bd565b90508043116134735760405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e676520706572696f6420686173206e6f7420706173736564206044820152621e595d60ea1b6064820152608401610a77565b83600b0154836040516020016134899190615794565b60405160208183030381529060405280519060200120146135125760405162461bcd60e51b815260206004820152603960248201527f526573756c7420756e64657220617070726f76616c206973206469666665726560448201527f6e74207468616e20746865207375626d6974746564206f6e65000000000000006064820152608401610a77565b83546000906001600160a01b0316638871ca5d61353260a0870187615c70565b61353e600189356157f2565b81811061354d5761354d6153c5565b90506020020160208101906135629190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa1580156135a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c89190615392565b9050336001600160a01b03821614806135ee575060068501546135eb90836157bd565b43115b61366c5760405162461bcd60e51b815260206004820152604360248201527f4f6e6c792074686520444b4720726573756c74207375626d697474657220636160448201527f6e20617070726f76652074686520726573756c742061742074686973206d6f6d606482015262195b9d60ea1b608482015260a401610a77565b6136796040850185615c70565b90506001600160401b03811115613692576136926153af565b6040519080825280602002602001820160405280156136bb578160200160208202803683370190505b50925060005b6136ce6040860186615c70565b9050811015613782576136e460a0860186615c70565b60016136f36040890189615c70565b85818110613703576137036153c5565b90506020020160208101906137189190615d09565b6137229190615d24565b60ff16818110613734576137346153c5565b90506020020160208101906137499190615b1f565b84828151811061375b5761375b6153c5565b63ffffffff909216602092830291909101909101528061377a816159fc565b9150506136c1565b50600b8501546040513391907fe6e9d5eba171e82025efb3f3d44fd35905e7283d104284cb9f3bbc5bf1e4276f90600090a3505092915050565b600080600084846040516137d1929190615d3d565b60405190819003902092506137ea602060008688615d4d565b6137f391615d77565b91506138028460208188615d4d565b61380b91615d77565b600084815260209890985260409097209586555060018501819055600290940185905594929392915050565b60006008820181905560098201819055600a8201819055600b8201819055600c820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b15801561137d57600080fd5b600060026138a883614a34565b60038111156138b9576138b961518b565b1480156110b257506005820154600a83015460088401546138da91906157bd565b6138e491906157bd565b431192915050565b6001600160601b0381161580613910575083546001600160601b0390811690821610155b61397a5760405162461bcd60e51b815260206004820152603560248201527f417574686f72697a6174696f6e20616d6f756e742073686f756c642062652030604482015274206f722061626f766520746865206d696e696d756d60581b6064820152608401610a77565b6001600160a01b03808416600090815260018601602052604081205490911690816139a65750426139b0565b506001600160401b035b60006139bc8486615d95565b6001600160a01b03871660009081526003890160205260409020805491925090600160601b90046001600160401b03168015801590613a0457506001600160401b0381811614155b15613a97578854613a2590600160a01b90046001600160401b031682615db5565b6001600160401b0316421015613a975760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f7567682074696d65207061737365642073696e636520746865604482015270081bdc9a59da5b985b081c995c5d595cdd607a1b6064820152608401610a77565b81546001600160401b038516600160601b81026001600160a01b03199092166001600160601b0386811691909117929092178455604080518a8416815292891660208401528201526001600160a01b0386811691908a16907f545cbf267cef6fe43f11f6219417ab43a0e8e345adbaae5f626d9bc325e8535a9060600160405180910390a3505050505050505050565b6001613b3283614a34565b6003811115613b4357613b4361518b565b14613b9b5760405162461bcd60e51b815260206004820152602260248201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604482015261115160f21b6064820152608401610a77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436008830155600990910155565b6000613bdf82614a34565b6003811115613bf057613bf061518b565b14613c0d5760405162461bcd60e51b8152600401610a7790615dd5565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015613c7b57600080fd5b505af1158015613c8f573d6000803e3d6000fd5b5050505043816007018190555050565b6001600160a01b038116600090815260038401602052604090208054600160601b90046001600160401b0316613d235760405162461bcd60e51b8152602060048201526024808201527f417574686f72697a6174696f6e206465637265617365206e6f742072657175656044820152631cdd195960e21b6064820152608401610a77565b805467fffffffffffffffe19600160601b9091046001600160401b031601613da25760405162461bcd60e51b815260206004820152602c60248201527f417574686f72697a6174696f6e2064656372656173652072657175657374206e60448201526b1bdd081858dd1a5d985d195960a21b6064820152608401610a77565b8054600160601b90046001600160401b0316421015613e135760405162461bcd60e51b815260206004820152602760248201527f417574686f72697a6174696f6e2064656372656173652064656c6179206e6f74604482015266081c185cdcd95960ca1b6064820152608401610a77565b6040516001600160a01b038316907f50270a522c2fef97b6b7385c2aa4a4518adda681530e0a1fe9f5e840f6f2cd9d90600090a2604051633af0572d60e11b81526001600160a01b0383811660048301528416906375e0ae5a906024016020604051808303816000875af1158015613e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb391906154f1565b50506001600160a01b031660009081526003909201602052506040902080546001600160a01b0319169055565b60006001613eed83614a34565b6003811115613efe57613efe61518b565b1480156110b25750600282015460078301546138e491906157bd565b60408114613f6a5760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b65796044820152606401610a77565b60008282604051613f7c929190615d3d565b6040805191829003909120600081815260208790529190912060010154909150156140015760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420776974682074686520676976656e207075626c6963206b657960448201526e20616c72656164792065786973747360881b6064820152608401610a77565b60006140106020828587615d4d565b61401991615d77565b905080610e725760405162461bcd60e51b815260206004820152602260248201527f57616c6c6574207075626c6963206b6579206d757374206265206e6f6e2d7a65604482015261726f60f01b6064820152608401610a77565b600261407e83614a34565b600381111561408f5761408f61518b565b146140e85760405162461bcd60e51b8152602060048201526024808201527f43757272656e74207374617465206973206e6f74204157414954494e475f524560448201526314d5531560e21b6064820152608401610a77565b6140f18261389b565b1561413e5760405162461bcd60e51b815260206004820152601a60248201527f444b472074696d656f757420616c7265616479207061737365640000000000006044820152606401610a77565b81546040516307b8c36760e51b81523360048201526001600160a01b0390911690819063f7186ce090602401602060405180830381865afa158015614187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ab9190615b3c565b6142035760405162461bcd60e51b815260206004820152602360248201527f5375626d6974746572206e6f7420696e2074686520736f72746974696f6e20706044820152621bdbdb60ea1b6064820152608401610a77565b336001600160a01b038216638871ca5d61422060a0860186615c70565b61422c600188356157f2565b81811061423b5761423b6153c5565b90506020020160208101906142509190615b1f565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401602060405180830381865afa158015614292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142b69190615392565b6001600160a01b03161461430c5760405162461bcd60e51b815260206004820152601a60248201527f556e6578706563746564207375626d697474657220696e6465780000000000006044820152606401610a77565b8160405160200161431d9190615794565b60408051601f19818403018152908290528051602090910120600b850181905543600c8601556009850154917f8e7fd4293d7db11807147d8890c287fad3396fbb09a4e92273fc7856076c153a90614376908690615794565b60405180910390a3505050565b6001600160a01b03811660009081526003840160205260408120546143b6908590859085906001600160601b0316614da2565b949350505050565b60006143c983614a34565b60038111156143da576143da61518b565b146143f75760405162461bcd60e51b8152600401610a7790615dd5565b600081116144175760405162461bcd60e51b8152600401610a7790615e0c565b600290910155565b600061442a83614a34565b600381111561443b5761443b61518b565b146144585760405162461bcd60e51b8152600401610a7790615dd5565b600081116144785760405162461bcd60e51b8152600401610a7790615e0c565b600390910155565b600061448b83614a34565b600381111561449c5761449c61518b565b146144b95760405162461bcd60e51b8152600401610a7790615dd5565b600490910155565b60006144cc83614a34565b60038111156144dd576144dd61518b565b146144fa5760405162461bcd60e51b8152600401610a7790615dd5565b6000811161451a5760405162461bcd60e51b8152600401610a7790615e0c565b600590910155565b600061452d83614a34565b600381111561453e5761453e61518b565b1461455b5760405162461bcd60e51b8152600401610a7790615dd5565b600582015481106145d45760405162461bcd60e51b815260206004820152603d60248201527f4e65772076616c75652073686f756c64206265206c657373207468616e20726560448201527f73756c74207375626d697373696f6e20706572696f64206c656e6774680000006064820152608401610a77565b600690910155565b600081815260208390526040812060010154819061460c5760405162461bcd60e51b8152600401610a7790615cb9565b505060009081526020919091526040902060018101546002909101549091565b60008181526020839052604081206001015461465a5760405162461bcd60e51b8152600401610a7790615cb9565b506000908152602091909152604090205490565b6001600160a01b03811660009081526003830160205260408120805467fffffffffffffffe19600160601b9091046001600160401b0316016146ba576001600160401b039150506110b2565b805442906001600160401b03600160601b9091048116908216116146fa5781546146f5908290600160601b90046001600160401b0316615db5565b6146fd565b60005b95945050505050565b81546001600160401b03909116600160601b0267ffffffffffffffff60601b19909116179055565b81546001600160401b03909116600160a01b0267ffffffffffffffff60a01b19909116179055565b61475f81613ee0565b6147ab5760405162461bcd60e51b815260206004820152601f60248201527f4177616974696e67207365656420686173206e6f742074696d6564206f7574006044820152606401610a77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1610b6f81613837565b60606000806147ec85856145dc565b604080516020810193909352828101919091528051808303820181526060909201905295945050505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091016114d6565b82546001600160a01b0316156148d55760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b6064820152608401610a77565b60018301546001600160a01b03161561493a5760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b6064820152608401610a77565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b83546001600160601b0390811690821610156149c55760405162461bcd60e51b815260206004820152601f60248201527f417574686f72697a6174696f6e2062656c6f7720746865206d696e696d756d006044820152606401610a77565b6001600160a01b0383811660008181526001870160209081526040918290205482516001600160601b03888116825287169281019290925282519416938493927f87f9f9f59204f53d57a89a817c6083a17979cd0531791c91e18551a56e3cfdd7928290030190a35050505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015614a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614aa19190615b3c565b15614ac65750600881015460019015614ac65750600c81015460029015614ac6575060035b919050565b614ad48161389b565b614b185760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b6044820152606401610a77565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1610b6f81613837565b6001600160a01b03808216600090815260028601602052604081205490911680614b865760405162461bcd60e51b8152600401610a7790615485565b6001600160a01b038116600090815260038701602052604081208054909190614bbd908990899086906001600160601b0316614da2565b6040516307b8c36760e51b81526001600160a01b0387811660048301529192509087169063f7186ce090602401602060405180830381865afa158015614c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c2b9190615b3c565b614c43576001600160601b03161592506143b6915050565b6040516304de824f60e41b81526001600160a01b03871690634de824f090614c719088908590600401615b59565b602060405180830381865afa158015614c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cb29190615b3c565b98975050505050505050565b600060606000846008015411614d165760405162461bcd60e51b815260206004820152601860248201527f444b4720686173206e6f74206265656e207374617274656400000000000000006044820152606401610a77565b6001840154600985015460088601546040516373b33d5d60e11b81526001600160a01b039093169263e7667aba92614d52928892600401615ba2565b600060405180830381865afa158015614d6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d979190810190615bc7565b915091509250929050565b604051637004922d60e11b81526001600160a01b038381166004830152306024830152600091829186169063e009245a90604401602060405180830381865afa158015614df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e1791906154f1565b90506000836001600160601b0316826001600160601b031611614e3b576000614e45565b614e458483615d95565b87549091506001600160601b039081169082161015614e69576000925050506143b6565b91506143b69050565b6001600160a01b0381168114610b6f57600080fd5b6001600160601b0381168114610b6f57600080fd5b600080600060608486031215614eb157600080fd5b8335614ebc81614e72565b92506020840135614ecc81614e87565b91506040840135614edc81614e87565b809150509250925092565b600060208284031215614ef957600080fd5b81356127d581614e72565b600060208284031215614f1657600080fd5b81356127d581614e87565b600060208284031215614f3357600080fd5b81356001600160401b03811115614f4957600080fd5b820160e081850312156127d557600080fd5b600060208284031215614f6d57600080fd5b5035919050565b60008060408385031215614f8757600080fd5b50508035926020909101359150565b600080600080600060a08688031215614fae57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008083601f840112614fe357600080fd5b5081356001600160401b03811115614ffa57600080fd5b6020830191508360208260051b850101111561308a57600080fd5b6000806000806060858703121561502b57600080fd5b84356001600160401b038082111561504257600080fd5b9086019060a0828903121561505657600080fd5b909450602086013593506040860135908082111561507357600080fd5b5061508087828801614fd1565b95989497509550505050565b80356001600160401b0381168114614ac657600080fd5b6000806000606084860312156150b857600080fd5b83356150c381614e87565b92506150d16020850161508c565b91506150df6040850161508c565b90509250925092565b60005b838110156151035781810151838201526020016150eb565b50506000910152565b600081518084526151248160208601602086016150e8565b601f01601f19169290920160200192915050565b6020815260006127d5602083018461510c565b60008060006060848603121561516057600080fd5b833561516b81614e72565b9250602084013561517b81614e72565b91506040840135614edc81614e72565b634e487b7160e01b600052602160045260246000fd5b60208101600483106151c357634e487b7160e01b600052602160045260246000fd5b91905290565b60008060008060008060a087890312156151e257600080fd5b86356151ed81614e87565b955060208701359450604087013561520481614e72565b93506060870135925060808701356001600160401b0381111561522657600080fd5b61523289828a01614fd1565b979a9699509497509295939492505050565b60008060008060006080868803121561525c57600080fd5b8535945060208601356001600160401b0381111561527957600080fd5b61528588828901614fd1565b909550935050604086013561529981614e72565b949793965091946060013592915050565b600081518084526020808501945080840160005b838110156152e057815163ffffffff16875295820195908201906001016152be565b509495945050505050565b6020815260006127d560208301846152aa565b82151581526040602082015260006143b6604083018461510c565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b6000602082840312156153a457600080fd5b81516127d581614e72565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160601b038516815260208082018590526001600160a01b038481166040840152608060608401819052845190840181905260009285810192909160a0860190855b8181101561543e578551841683529484019491840191600101615420565b50909a9950505050505050505050565b6020808252601e908201527f43616c6c6572206973206e6f74207468652057616c6c6574204f776e65720000604082015260600190565b60208082526010908201526f2ab735b737bbb71037b832b930ba37b960811b604082015260600190565b6000806000606084860312156154c457600080fd5b83516154cf81614e72565b60208501519093506154e081614e72565b6040850151909250614edc81614e72565b60006020828403121561550357600080fd5b81516127d581614e87565b6000808335601e1984360301811261552557600080fd5b8301803591506001600160401b0382111561553f57600080fd5b60200191503681900382131561308a57600080fd5b6000808335601e1984360301811261556b57600080fd5b83016020810192503590506001600160401b0381111561558a57600080fd5b80360382131561308a57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126155d957600080fd5b83016020810192503590506001600160401b038111156155f857600080fd5b8060051b360382131561308a57600080fd5b803560ff81168114614ac657600080fd5b81835260006001600160fb1b0383111561563457600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114610b6f57600080fd5b8183526000602080850194508260005b858110156152e05781356156828161564d565b63ffffffff168752958201959082019060010161566f565b80358252600060206156ae81840184615554565b60e0838701526156c260e087018284615599565b9150506156d260408501856155c2565b868303604088015280835290916000919084015b8183101561570e5760ff6156f98561560a565b168152928401926001929092019184016156e6565b61571b6060880188615554565b955093508781036060890152615732818686615599565b94505050505061574560808401846155c2565b858303608087015261575883828461561b565b9250505061576960a08401846155c2565b85830360a087015261577c83828461565f565b9250505060c083013560c08501528091505092915050565b6020815260006127d5602083018461569a565b634e487b7160e01b600052601160045260246000fd5b808201808211156110b2576110b26157a7565b6040815260006157e360408301856152aa565b90508260208301529392505050565b818103818111156110b2576110b26157a7565b6020815260006143b660208301848661565f565b8015158114610b6f57600080fd5b60018060a01b038716815260a06020820152853560a0820152600061584f60208801886155c2565b60a060c08501526158656101408501828461561b565b915050604088013561587681615819565b151560e084015261588a6060890189615554565b609f1980868503016101008701526158a3848385615599565b93506158b260808c018c6155c2565b935091508086850301610120870152506158cd83838361561b565b9250505082810360408401526158e3818861510c565b905085606084015282810360808401526158fe81858761565f565b9998505050505050505050565b604051601f8201601f191681016001600160401b0381118282101715615933576159336153af565b604052919050565b60006001600160401b03821115615954576159546153af565b5060051b60200190565b6000602080838503121561597157600080fd5b82516001600160401b0381111561598757600080fd5b8301601f8101851361599857600080fd5b80516159ab6159a68261593b565b61590b565b81815260059190911b820183019083810190878311156159ca57600080fd5b928401925b828410156159f15783516159e28161564d565b825292840192908401906159cf565b979650505050505050565b600060018201615a0e57615a0e6157a7565b5060010190565b600060208284031215615a2757600080fd5b81356127d581615819565b60208082526022908201527f496e76616c69642077616c6c6574206d656d62657273206964656e7469666965604082015261727360f01b606082015260800190565b60006020808385031215615a8757600080fd5b82516001600160401b03811115615a9d57600080fd5b8301601f81018513615aae57600080fd5b8051615abc6159a68261593b565b81815260059190911b82018301908381019087831115615adb57600080fd5b928401925b828410156159f1578351615af381614e72565b82529284019290840190615ae0565b600060208284031215615b1457600080fd5b81516127d58161564d565b600060208284031215615b3157600080fd5b81356127d58161564d565b600060208284031215615b4e57600080fd5b81516127d581615819565b6001600160a01b039290921682526001600160601b0316602082015260400190565b6001600160401b03818116838216019080821115615b9b57615b9b6157a7565b5092915050565b606081526000615bb5606083018661569a565b60208301949094525060400152919050565b60008060408385031215615bda57600080fd5b8251615be581615819565b60208401519092506001600160401b0380821115615c0257600080fd5b818501915085601f830112615c1657600080fd5b815181811115615c2857615c286153af565b615c3b601f8201601f191660200161590b565b9150808252866020828501011115615c5257600080fd5b615c638160208401602086016150e8565b5080925050509250929050565b6000808335601e19843603018112615c8757600080fd5b8301803591506001600160401b03821115615ca157600080fd5b6020019150600581901b360382131561308a57600080fd5b60208082526030908201527f57616c6c657420776974682074686520676976656e20494420686173206e6f7460408201526f081899595b881c9959da5cdd195c995960821b606082015260800190565b600060208284031215615d1b57600080fd5b6127d58261560a565b60ff82811682821603908111156110b2576110b26157a7565b8183823760009101908152919050565b60008085851115615d5d57600080fd5b83861115615d6a57600080fd5b5050820193919092039150565b803560208310156110b257600019602084900360031b1b1692915050565b6001600160601b03828116828216039080821115615b9b57615b9b6157a7565b6001600160401b03828116828216039080821115615b9b57615b9b6157a7565b60208082526019908201527f43757272656e74207374617465206973206e6f742049444c4500000000000000604082015260600190565b60208082526025908201527f4e65772076616c75652073686f756c642062652067726561746572207468616e604082015264207a65726f60d81b60608201526080019056fea26469706673582212200acc8d3a35eb7f0c278ea02b100d1e16170230c6f24d81b24748e6e288278b6b64736f6c63430008110033";
|
|
1932
1932
|
var isSuperArgs = function (xs) {
|
|
1933
1933
|
return (typeof xs[0] === "string" ||
|
|
1934
1934
|
Array.isArray(xs[0]) ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keep-network/tbtc-v2",
|
|
3
|
-
"version": "1.8.0-dev.
|
|
3
|
+
"version": "1.8.0-dev.1",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"files": [
|
|
6
6
|
"artifacts/",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@keep-network/bitcoin-spv-sol": "3.4.0-solc-0.8",
|
|
34
|
-
"@keep-network/ecdsa": "
|
|
35
|
-
"@keep-network/random-beacon": "
|
|
36
|
-
"@keep-network/tbtc": "
|
|
34
|
+
"@keep-network/ecdsa": "2.1.0-dev.19",
|
|
35
|
+
"@keep-network/random-beacon": "2.1.0-dev.18",
|
|
36
|
+
"@keep-network/tbtc": "1.1.2-dev.1",
|
|
37
37
|
"@openzeppelin/contracts": "^4.8.1",
|
|
38
38
|
"@openzeppelin/contracts-upgradeable": "^4.8.1",
|
|
39
39
|
"@thesis/solidity-contracts": "github:thesis/solidity-contracts#4985bcf"
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"address": "0x8464135c8F25Da09e49BC8782676a84730C318bC",
|
|
3
|
-
"abi": [
|
|
4
|
-
{
|
|
5
|
-
"inputs": [],
|
|
6
|
-
"stateMutability": "nonpayable",
|
|
7
|
-
"type": "constructor"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"anonymous": false,
|
|
11
|
-
"inputs": [
|
|
12
|
-
{
|
|
13
|
-
"indexed": false,
|
|
14
|
-
"internalType": "address",
|
|
15
|
-
"name": "operatorContract",
|
|
16
|
-
"type": "address"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
"name": "OperatorContractApproved",
|
|
20
|
-
"type": "event"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"inputs": [
|
|
24
|
-
{
|
|
25
|
-
"internalType": "address",
|
|
26
|
-
"name": "operatorContract",
|
|
27
|
-
"type": "address"
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"name": "approveOperatorContract",
|
|
31
|
-
"outputs": [],
|
|
32
|
-
"stateMutability": "nonpayable",
|
|
33
|
-
"type": "function"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"inputs": [],
|
|
37
|
-
"name": "registryKeeper",
|
|
38
|
-
"outputs": [
|
|
39
|
-
{
|
|
40
|
-
"internalType": "address",
|
|
41
|
-
"name": "",
|
|
42
|
-
"type": "address"
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"stateMutability": "view",
|
|
46
|
-
"type": "function"
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"transactionHash": "0xbd81a534c8665937baaa271ea505248871394e63eb1be00055d9d515bbb4776a",
|
|
50
|
-
"receipt": {
|
|
51
|
-
"to": null,
|
|
52
|
-
"from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
|
|
53
|
-
"contractAddress": "0x8464135c8F25Da09e49BC8782676a84730C318bC",
|
|
54
|
-
"transactionIndex": 0,
|
|
55
|
-
"gasUsed": "137624",
|
|
56
|
-
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
57
|
-
"blockHash": "0xf814ff08d88842e7faa287c7c14190acd5138825f5bfe7b4391aa7e452b01479",
|
|
58
|
-
"transactionHash": "0xbd81a534c8665937baaa271ea505248871394e63eb1be00055d9d515bbb4776a",
|
|
59
|
-
"logs": [],
|
|
60
|
-
"blockNumber": 1,
|
|
61
|
-
"cumulativeGasUsed": "137624",
|
|
62
|
-
"status": 1,
|
|
63
|
-
"byzantium": true
|
|
64
|
-
},
|
|
65
|
-
"args": [],
|
|
66
|
-
"numDeployments": 1,
|
|
67
|
-
"metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"OperatorContractApproved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"approveOperatorContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryKeeper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/KeepRegistryStub.sol\":\"KeepRegistryStub\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":10},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\n */\\ninterface IERC20 {\\n /**\\n * @dev Returns the amount of tokens in existence.\\n */\\n function totalSupply() external view returns (uint256);\\n\\n /**\\n * @dev Returns the amount of tokens owned by `account`.\\n */\\n function balanceOf(address account) external view returns (uint256);\\n\\n /**\\n * @dev Moves `amount` tokens from the caller's account to `to`.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transfer(address to, uint256 amount) external returns (bool);\\n\\n /**\\n * @dev Returns the remaining number of tokens that `spender` will be\\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\\n * zero by default.\\n *\\n * This value changes when {approve} or {transferFrom} are called.\\n */\\n function allowance(address owner, address spender) external view returns (uint256);\\n\\n /**\\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\\n * that someone may use both the old and the new allowance by unfortunate\\n * transaction ordering. One possible solution to mitigate this race\\n * condition is to first reduce the spender's allowance to 0 and set the\\n * desired value afterwards:\\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\\n *\\n * Emits an {Approval} event.\\n */\\n function approve(address spender, uint256 amount) external returns (bool);\\n\\n /**\\n * @dev Moves `amount` tokens from `from` to `to` using the\\n * allowance mechanism. `amount` is then deducted from the caller's\\n * allowance.\\n *\\n * Returns a boolean value indicating whether the operation succeeded.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transferFrom(\\n address from,\\n address to,\\n uint256 amount\\n ) external returns (bool);\\n\\n /**\\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\\n * another (`to`).\\n *\\n * Note that `value` may be zero.\\n */\\n event Transfer(address indexed from, address indexed to, uint256 value);\\n\\n /**\\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\\n * a call to {approve}. `value` is the new allowance.\\n */\\n event Approval(address indexed owner, address indexed spender, uint256 value);\\n}\\n\",\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\"},\"contracts/test/IKeepRegistry.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-3.0-or-later\\n\\npragma solidity 0.8.9;\\n\\nimport \\\"@openzeppelin/contracts/token/ERC20/IERC20.sol\\\";\\n\\ninterface IKeepRegistry {\\n function approveOperatorContract(address operatorContract) external;\\n\\n function registryKeeper() external view returns (address);\\n}\\n\",\"keccak256\":\"0x9e4f76f7cca77209bf4020d80ba1b0f8ad836ff8b96386b9c05fe8661d249e7d\",\"license\":\"GPL-3.0-or-later\"},\"contracts/test/KeepRegistryStub.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-3.0-or-later\\n\\npragma solidity 0.8.9;\\n\\nimport \\\"./IKeepRegistry.sol\\\";\\n\\ncontract KeepRegistryStub is IKeepRegistry {\\n address public registryKeeper;\\n\\n event OperatorContractApproved(address operatorContract);\\n\\n constructor() {\\n registryKeeper = msg.sender;\\n }\\n\\n function approveOperatorContract(address operatorContract) external {\\n emit OperatorContractApproved(operatorContract);\\n }\\n}\\n\",\"keccak256\":\"0x94d07c42d995af1bcc73fa858f669ed462f462c1b353d01a773e1e22e0ffacda\",\"license\":\"GPL-3.0-or-later\"}},\"version\":1}",
|
|
68
|
-
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561011e806100326000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806302db580b14603757806384c07bd2146048575b600080fd5b6046604236600460a6565b606e565b005b600054605a906001600160a01b031681565b6040516065919060d4565b60405180910390f35b7fb5d7fbd1d67a09be2dd3ba169be0ebfb43f1d3fd31b12e9dc9e5bd98517bfafb81604051609b919060d4565b60405180910390a150565b60006020828403121560b757600080fd5b81356001600160a01b038116811460cd57600080fd5b9392505050565b6001600160a01b039190911681526020019056fea26469706673582212205025ad4fd36a48b48a85ed551a01dca55f96c2d167396cb805cde45fef5338c964736f6c63430008090033",
|
|
69
|
-
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806302db580b14603757806384c07bd2146048575b600080fd5b6046604236600460a6565b606e565b005b600054605a906001600160a01b031681565b6040516065919060d4565b60405180910390f35b7fb5d7fbd1d67a09be2dd3ba169be0ebfb43f1d3fd31b12e9dc9e5bd98517bfafb81604051609b919060d4565b60405180910390a150565b60006020828403121560b757600080fd5b81356001600160a01b038116811460cd57600080fd5b9392505050565b6001600160a01b039190911681526020019056fea26469706673582212205025ad4fd36a48b48a85ed551a01dca55f96c2d167396cb805cde45fef5338c964736f6c63430008090033",
|
|
70
|
-
"devdoc": {
|
|
71
|
-
"kind": "dev",
|
|
72
|
-
"methods": {},
|
|
73
|
-
"version": 1
|
|
74
|
-
},
|
|
75
|
-
"userdoc": {
|
|
76
|
-
"kind": "user",
|
|
77
|
-
"methods": {},
|
|
78
|
-
"version": 1
|
|
79
|
-
},
|
|
80
|
-
"storageLayout": {
|
|
81
|
-
"storage": [
|
|
82
|
-
{
|
|
83
|
-
"astId": 16737,
|
|
84
|
-
"contract": "contracts/test/KeepRegistryStub.sol:KeepRegistryStub",
|
|
85
|
-
"label": "registryKeeper",
|
|
86
|
-
"offset": 0,
|
|
87
|
-
"slot": "0",
|
|
88
|
-
"type": "t_address"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"types": {
|
|
92
|
-
"t_address": {
|
|
93
|
-
"encoding": "inplace",
|
|
94
|
-
"label": "address",
|
|
95
|
-
"numberOfBytes": "20"
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|