@ensuro/core 2.0.0-beta3 → 2.0.0-beta6
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/build/contracts/AccessManager.sol/AccessManager.json +487 -0
- package/build/contracts/EToken.sol/EToken.json +4 -4
- package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +4 -4
- package/build/contracts/PolicyNFT.sol/PolicyNFT.json +2 -2
- package/build/contracts/PolicyPool.sol/PolicyPool.json +148 -15
- package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +2 -2
- package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +4 -4
- package/build/contracts/Reserve.sol/Reserve.json +2 -2
- package/build/contracts/RiskModule.sol/RiskModule.json +2 -2
- package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +4 -4
- package/build/contracts/interfaces/{IPolicyPoolConfig.sol/IPolicyPoolConfig.json → IAccessManager.sol/IAccessManager.json} +2 -67
- package/build/contracts/interfaces/IPolicyPool.sol/IPolicyPool.json +15 -2
- package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +2 -2
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +19 -6
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +6 -6
- package/contracts/AccessManager.sol +72 -0
- package/contracts/EToken.sol +6 -13
- package/contracts/PolicyNFT.sol +3 -3
- package/contracts/PolicyPool.sol +108 -43
- package/contracts/PolicyPoolComponent.sol +11 -11
- package/contracts/PremiumsAccount.sol +1 -1
- package/contracts/RiskModule.sol +4 -8
- package/contracts/interfaces/{IPolicyPoolConfig.sol → IAccessManager.sol} +2 -21
- package/contracts/interfaces/IPolicyPool.sol +10 -5
- package/contracts/mocks/PolicyPoolMock.sol +15 -13
- package/js/test-utils.js +178 -122
- package/package.json +1 -1
- package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +0 -890
- package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +0 -665
- package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +0 -63
- package/build/contracts/mocks/LinkTokenMock.sol/LinkTokenMock.json +0 -370
- package/build/contracts/upgraded/IPolicyNFTv1.sol/IPolicyNFTv1.json +0 -322
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +0 -584
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +0 -615
- package/contracts/FlightDelayRiskModule.sol +0 -217
- package/contracts/PolicyPoolConfig.sol +0 -185
- package/contracts/dependencies/ChainlinkClientUpgradeable.sol +0 -371
- package/contracts/mocks/LinkTokenMock.sol +0 -30
- package/contracts/upgraded/IPolicyNFTv1.sol +0 -15
- package/contracts/upgraded/PolicyNFTv1.sol +0 -126
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
{
|
|
7
7
|
"inputs": [
|
|
8
8
|
{
|
|
9
|
-
"internalType": "contract
|
|
10
|
-
"name": "
|
|
9
|
+
"internalType": "contract IAccessManager",
|
|
10
|
+
"name": "access_",
|
|
11
11
|
"type": "address"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
@@ -56,6 +56,25 @@
|
|
|
56
56
|
"name": "BeaconUpgraded",
|
|
57
57
|
"type": "event"
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
"anonymous": false,
|
|
61
|
+
"inputs": [
|
|
62
|
+
{
|
|
63
|
+
"indexed": true,
|
|
64
|
+
"internalType": "enum IAccessManager.GovernanceActions",
|
|
65
|
+
"name": "action",
|
|
66
|
+
"type": "uint8"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"indexed": false,
|
|
70
|
+
"internalType": "address",
|
|
71
|
+
"name": "value",
|
|
72
|
+
"type": "address"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"name": "ComponentChanged",
|
|
76
|
+
"type": "event"
|
|
77
|
+
},
|
|
59
78
|
{
|
|
60
79
|
"anonymous": false,
|
|
61
80
|
"inputs": [
|
|
@@ -67,7 +86,7 @@
|
|
|
67
86
|
},
|
|
68
87
|
{
|
|
69
88
|
"indexed": false,
|
|
70
|
-
"internalType": "enum PolicyPool.
|
|
89
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
71
90
|
"name": "newStatus",
|
|
72
91
|
"type": "uint8"
|
|
73
92
|
}
|
|
@@ -228,7 +247,7 @@
|
|
|
228
247
|
},
|
|
229
248
|
{
|
|
230
249
|
"indexed": false,
|
|
231
|
-
"internalType": "enum PolicyPool.
|
|
250
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
232
251
|
"name": "newStatus",
|
|
233
252
|
"type": "uint8"
|
|
234
253
|
}
|
|
@@ -236,6 +255,25 @@
|
|
|
236
255
|
"name": "PremiumsAccountStatusChanged",
|
|
237
256
|
"type": "event"
|
|
238
257
|
},
|
|
258
|
+
{
|
|
259
|
+
"anonymous": false,
|
|
260
|
+
"inputs": [
|
|
261
|
+
{
|
|
262
|
+
"indexed": true,
|
|
263
|
+
"internalType": "contract IRiskModule",
|
|
264
|
+
"name": "riskModule",
|
|
265
|
+
"type": "address"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"indexed": false,
|
|
269
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
270
|
+
"name": "newStatus",
|
|
271
|
+
"type": "uint8"
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"name": "RiskModuleStatusChanged",
|
|
275
|
+
"type": "event"
|
|
276
|
+
},
|
|
239
277
|
{
|
|
240
278
|
"anonymous": false,
|
|
241
279
|
"inputs": [
|
|
@@ -314,6 +352,19 @@
|
|
|
314
352
|
"stateMutability": "view",
|
|
315
353
|
"type": "function"
|
|
316
354
|
},
|
|
355
|
+
{
|
|
356
|
+
"inputs": [],
|
|
357
|
+
"name": "access",
|
|
358
|
+
"outputs": [
|
|
359
|
+
{
|
|
360
|
+
"internalType": "contract IAccessManager",
|
|
361
|
+
"name": "",
|
|
362
|
+
"type": "address"
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
"stateMutability": "view",
|
|
366
|
+
"type": "function"
|
|
367
|
+
},
|
|
317
368
|
{
|
|
318
369
|
"inputs": [
|
|
319
370
|
{
|
|
@@ -340,6 +391,19 @@
|
|
|
340
391
|
"stateMutability": "nonpayable",
|
|
341
392
|
"type": "function"
|
|
342
393
|
},
|
|
394
|
+
{
|
|
395
|
+
"inputs": [
|
|
396
|
+
{
|
|
397
|
+
"internalType": "contract IRiskModule",
|
|
398
|
+
"name": "riskModule",
|
|
399
|
+
"type": "address"
|
|
400
|
+
}
|
|
401
|
+
],
|
|
402
|
+
"name": "addRiskModule",
|
|
403
|
+
"outputs": [],
|
|
404
|
+
"stateMutability": "nonpayable",
|
|
405
|
+
"type": "function"
|
|
406
|
+
},
|
|
343
407
|
{
|
|
344
408
|
"inputs": [
|
|
345
409
|
{
|
|
@@ -348,7 +412,7 @@
|
|
|
348
412
|
"type": "address"
|
|
349
413
|
},
|
|
350
414
|
{
|
|
351
|
-
"internalType": "enum PolicyPool.
|
|
415
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
352
416
|
"name": "newStatus",
|
|
353
417
|
"type": "uint8"
|
|
354
418
|
}
|
|
@@ -359,16 +423,21 @@
|
|
|
359
423
|
"type": "function"
|
|
360
424
|
},
|
|
361
425
|
{
|
|
362
|
-
"inputs": [
|
|
363
|
-
"name": "config",
|
|
364
|
-
"outputs": [
|
|
426
|
+
"inputs": [
|
|
365
427
|
{
|
|
366
|
-
"internalType": "contract
|
|
367
|
-
"name": "",
|
|
428
|
+
"internalType": "contract IRiskModule",
|
|
429
|
+
"name": "riskModule",
|
|
368
430
|
"type": "address"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
434
|
+
"name": "newStatus",
|
|
435
|
+
"type": "uint8"
|
|
369
436
|
}
|
|
370
437
|
],
|
|
371
|
-
"
|
|
438
|
+
"name": "changeRiskModuleStatus",
|
|
439
|
+
"outputs": [],
|
|
440
|
+
"stateMutability": "nonpayable",
|
|
372
441
|
"type": "function"
|
|
373
442
|
},
|
|
374
443
|
{
|
|
@@ -498,7 +567,7 @@
|
|
|
498
567
|
"name": "getETokenStatus",
|
|
499
568
|
"outputs": [
|
|
500
569
|
{
|
|
501
|
-
"internalType": "enum PolicyPool.
|
|
570
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
502
571
|
"name": "",
|
|
503
572
|
"type": "uint8"
|
|
504
573
|
}
|
|
@@ -507,7 +576,32 @@
|
|
|
507
576
|
"type": "function"
|
|
508
577
|
},
|
|
509
578
|
{
|
|
510
|
-
"inputs": [
|
|
579
|
+
"inputs": [
|
|
580
|
+
{
|
|
581
|
+
"internalType": "contract IRiskModule",
|
|
582
|
+
"name": "riskModule",
|
|
583
|
+
"type": "address"
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
"name": "getRiskModuleStatus",
|
|
587
|
+
"outputs": [
|
|
588
|
+
{
|
|
589
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
590
|
+
"name": "",
|
|
591
|
+
"type": "uint8"
|
|
592
|
+
}
|
|
593
|
+
],
|
|
594
|
+
"stateMutability": "view",
|
|
595
|
+
"type": "function"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"inputs": [
|
|
599
|
+
{
|
|
600
|
+
"internalType": "address",
|
|
601
|
+
"name": "treasury_",
|
|
602
|
+
"type": "address"
|
|
603
|
+
}
|
|
604
|
+
],
|
|
511
605
|
"name": "initialize",
|
|
512
606
|
"outputs": [],
|
|
513
607
|
"stateMutability": "nonpayable",
|
|
@@ -673,6 +767,19 @@
|
|
|
673
767
|
"stateMutability": "nonpayable",
|
|
674
768
|
"type": "function"
|
|
675
769
|
},
|
|
770
|
+
{
|
|
771
|
+
"inputs": [
|
|
772
|
+
{
|
|
773
|
+
"internalType": "contract IRiskModule",
|
|
774
|
+
"name": "riskModule",
|
|
775
|
+
"type": "address"
|
|
776
|
+
}
|
|
777
|
+
],
|
|
778
|
+
"name": "removeRiskModule",
|
|
779
|
+
"outputs": [],
|
|
780
|
+
"stateMutability": "nonpayable",
|
|
781
|
+
"type": "function"
|
|
782
|
+
},
|
|
676
783
|
{
|
|
677
784
|
"inputs": [
|
|
678
785
|
{
|
|
@@ -853,6 +960,32 @@
|
|
|
853
960
|
"stateMutability": "nonpayable",
|
|
854
961
|
"type": "function"
|
|
855
962
|
},
|
|
963
|
+
{
|
|
964
|
+
"inputs": [
|
|
965
|
+
{
|
|
966
|
+
"internalType": "address",
|
|
967
|
+
"name": "treasury_",
|
|
968
|
+
"type": "address"
|
|
969
|
+
}
|
|
970
|
+
],
|
|
971
|
+
"name": "setTreasury",
|
|
972
|
+
"outputs": [],
|
|
973
|
+
"stateMutability": "nonpayable",
|
|
974
|
+
"type": "function"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"inputs": [],
|
|
978
|
+
"name": "treasury",
|
|
979
|
+
"outputs": [
|
|
980
|
+
{
|
|
981
|
+
"internalType": "address",
|
|
982
|
+
"name": "",
|
|
983
|
+
"type": "address"
|
|
984
|
+
}
|
|
985
|
+
],
|
|
986
|
+
"stateMutability": "view",
|
|
987
|
+
"type": "function"
|
|
988
|
+
},
|
|
856
989
|
{
|
|
857
990
|
"inputs": [],
|
|
858
991
|
"name": "unpause",
|
|
@@ -916,8 +1049,8 @@
|
|
|
916
1049
|
"type": "function"
|
|
917
1050
|
}
|
|
918
1051
|
],
|
|
919
|
-
"bytecode": "0x6101006040523060601b6080523480156200001957600080fd5b5060405162003b5938038062003b598339810160408190526200003c9162000064565b6001600160601b0319606093841b811660a05291831b821660e05290911b1660c052620000d1565b6000806000606084860312156200007a57600080fd5b83516200008781620000b8565b60208501519093506200009a81620000b8565b6040850151909250620000ad81620000b8565b809150509250925092565b6001600160a01b0381168114620000ce57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c613985620001d4600039600081816103ca0152818161139e01528181612391015281816127ec01528181612b670152612d650152600081816104630152818161072c01528181611411015281816114cb015281816115830152818161164f01526117980152600081816103190152818161063d015281816108d301528181610d62015281816110ff015281816111fc015281816115b10152818161183b01528181611c1a01528181611d2901528181611f01015281816122c501526127790152600081816105140152818161055d015281816107e5015281816108250152610c7e01526139856000f3fe6080604052600436106101665760003560e01c806379502c55116100d1578063b63d382e1161008a578063f3fef3a311610064578063f3fef3a314610487578063f67b2bad146104a7578063fcbb17fe146104c9578063ffa600e3146104e957600080fd5b8063b63d382e146103ee578063ca143d181461040e578063e5a6b10f1461045457600080fd5b806379502c551461030a5780637a702b3c146103515780638129fc1c146103715780638456cb5914610386578063917876601461039b578063af02808a146103bb57600080fd5b806352bab1941161012357806352bab1941461023e57806352d1902d1461025e5780635b494dd5146102735780635c975abb146102a757806365b71008146102ca5780636af6f1ef146102ea57600080fd5b806324ea54f41461016b5780633659cfe6146101a05780633f4ba83a146101c257806347e7ef24146101d75780634a47a3e0146101f75780634f1ef2861461022b575b600080fd5b34801561017757600080fd5b5061018d60008051602061393083398151915281565b6040519081526020015b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004613276565b610509565b005b3480156101ce57600080fd5b506101c06105f2565b3480156101e357600080fd5b506101c06101f23660046133f5565b6106a3565b34801561020357600080fd5b5061018d7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6101c06102393660046132b0565b6107da565b34801561024a57600080fd5b506101c0610259366004613276565b6108a7565b34801561026a57600080fd5b5061018d610c71565b34801561027f57600080fd5b5061018d7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102b357600080fd5b5060335460ff166040519015158152602001610197565b3480156102d657600080fd5b506101c06102e5366004613276565b610d24565b3480156102f657600080fd5b506101c0610305366004613421565b610f53565b34801561031657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610197565b34801561035d57600080fd5b506101c061036c36600461346d565b610fd7565b34801561037d57600080fd5b506101c0610ff9565b34801561039257600080fd5b506101c06110d3565b3480156103a757600080fd5b5061018d6103b63660046134b7565b611169565b3480156103c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610339565b3480156103fa57600080fd5b506101c0610409366004613276565b61180f565b34801561041a57600080fd5b50610447610429366004613276565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040516101979190613631565b34801561046057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610339565b34801561049357600080fd5b5061018d6104a23660046133f5565b611a8c565b3480156104b357600080fd5b5061018d6000805160206138e983398151915281565b3480156104d557600080fd5b506101c06104e43660046133b8565b611bcf565b3480156104f557600080fd5b506101c061050436600461343e565b611e83565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561055b5760405162461bcd60e51b81526004016105529061368c565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105a46000805160206138c9833981519152546001600160a01b031690565b6001600160a01b0316146105ca5760405162461bcd60e51b8152600401610552906136d8565b6105d381611eb6565b604080516000808252602082019092526105ef91839190611f60565b50565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561067f57600080fd5b505afa158015610693573d6000803e3d6000fd5b5050505061069f6120df565b5050565b6106ab612131565b6001600160a01b038216600090815260c9602052604090205460ff1660018160038111156106db576106db613879565b1461071f5760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610552565b6107546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338585612179565b6040516311f9fbc960e21b8152336004820152602481018390526001600160a01b038416906347e7ef2490604401602060405180830381600087803b15801561079c57600080fd5b505af11580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190613375565b50505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108235760405162461bcd60e51b81526004016105529061368c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661086c6000805160206138c9833981519152546001600160a01b031690565b6001600160a01b0316146108925760405162461bcd60e51b8152600401610552906136d8565b61089b82611eb6565b61069f82826001611f60565b6040516312d9a6ad60e01b81526000805160206138e983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561091d57600080fd5b505afa158015610931573d6000803e3d6000fd5b505050506001600160a01b03821661098b5760405162461bcd60e51b815260206004820152601d60248201527f5072656d69756d734163636f756e742063616e2774206265207a65726f0000006044820152606401610552565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190613293565b6001600160a01b031614610a6c5760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f74206c696e6b656420746f2074686044820152661a5cc81c1bdbdb60ca1b6064820152608401610552565b6000826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613293565b90506001600160a01b03811615610b4c576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610b3357600080fd5b505af1158015610b47573d6000803e3d6000fd5b505050505b826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8557600080fd5b505afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190613293565b90506001600160a01b03811615610c2a576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610c1157600080fd5b505af1158015610c25573d6000803e3d6000fd5b505050505b826001600160a01b03167f834362a634fb37104727a80cf5e936b5b1798edffcf4a89935f19d04eb0e88ec6001604051610c649190613631565b60405180910390a2505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d115760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610552565b506000805160206138c983398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610dac57600080fd5b505afa158015610dc0573d6000803e3d6000fd5b505050506001600160a01b038216600090815260c9602052604090205460ff166002816003811115610df457610df4613879565b14610e395760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b6044820152606401610552565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7257600080fd5b505afa158015610e86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaa9190613375565b15610f065760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b6064820152608401610552565b6001600160a01b038316600081815260c96020526040808220805460ff19169055517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610c6491613631565b610f5b612131565b42610f6e6101c083016101a08401613515565b64ffffffffff161115610fbc5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b6044820152606401610552565b6105ef610fce3683900383018361349a565b600060016121d3565b610fdf612131565b61069f610ff13684900384018461349a565b8260006121d3565b600054610100900460ff16158080156110195750600054600160ff909116105b806110335750303b158015611033575060005460ff166001145b61104f5760405162461bcd60e51b815260040161055290613724565b6000805460ff191660011790558015611072576000805461ff0019166101001790555b61107a6126a8565b6110826126cf565b61108a6126fe565b80156105ef576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6040516312d9a6ad60e01b815260008051602061393083398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561114957600080fd5b505afa15801561115d573d6000803e3d6000fd5b505050506105ef61289f565b6000611173612131565b6101608401516001600160a01b03811633146111dd5760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b6064820152608401610552565b604051635dfdc5d760e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063bbfb8bae9060240160006040518083038186803b15801561123e57600080fd5b505afa158015611252573d6000803e3d6000fd5b50505050826bffffffffffffffffffffffff166060826001600160a01b0316901b61127d9190613827565b8552611288856128dc565b60ca600087600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190613293565b60405163e3638ea360e01b81529091506001600160a01b0382169063e3638ea3906113459089906004016137bd565b600060405180830381600087803b15801561135f57600080fd5b505af1158015611373573d6000803e3d6000fd5b50508751604051632851206560e21b81526001600160a01b03898116600483015260248201929092527f0000000000000000000000000000000000000000000000000000000000000000909116925063a14481949150604401600060405180830381600087803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b50505060c087015161143b91506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169087908490612179565b610140860151156114f3576114f385826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561148357600080fd5b505afa158015611497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190613293565b6101408901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b610120860151156115ab576115ab85826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b15801561153b57600080fd5b505afa15801561154f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115739190613293565b6101208901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b611677857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561160857600080fd5b505afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116409190613293565b60e08901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b600086610100015111801561170e5750816001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f89190613293565b6001600160a01b0316856001600160a01b031614155b156117c0576117c085836001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117889190613293565b6101008901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b876040516117f991906137bd565b60405180910390a25050835190505b9392505050565b6040516312d9a6ad60e01b81526000805160206138e983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561188557600080fd5b505afa158015611899573d6000803e3d6000fd5b5050506001600160a01b038316600090815260c9602052604081205460ff1691508160038111156118cc576118cc613879565b146119195760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c0000000000006044820152606401610552565b6001600160a01b0383166119665760405162461bcd60e51b815260206004820152601460248201527365546f6b656e2063616e2774206265207a65726f60601b6044820152606401610552565b306001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a957600080fd5b505afa1580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e19190613293565b6001600160a01b031614611a375760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c00006044820152606401610552565b6001600160a01b038316600081815260c9602052604090819020805460ff1916600190811790915590517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610c6491613631565b6000611a96612131565b6001600160a01b038316600090815260c9602052604090205460ff166001816003811115611ac657611ac6613879565b1480611ae357506002816003811115611ae157611ae1613879565b145b611b415760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608401610552565b60405163f3fef3a360e01b8152336004820181905260248201859052906001600160a01b0386169063f3fef3a390604401602060405180830381600087803b158015611b8c57600080fd5b505af1158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc49190613375565b925050505b92915050565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015611c5c57600080fd5b505afa158015611c70573d6000803e3d6000fd5b5050506001600160a01b038516600090815260c9602052604081205460ff169150816003811115611ca357611ca3613879565b1415611ce45760405162461bcd60e51b815260206004820152601060248201526f11551bdad95b881b9bdd08199bdd5b9960821b6044820152606401610552565b6003846003811115611cf857611cf8613879565b141580611dab5750604051632474521560e21b815260008051602061393083398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b158015611d7357600080fd5b505afa158015611d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dab9190613358565b611e015760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920475541524449414e2063616e2073757370656e642065546f6b656e6044820152607360f81b6064820152608401610552565b6001600160a01b038516600090815260c960205260409020805485919060ff19166001836003811115611e3657611e36613879565b0217905550846001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c85604051611e749190613631565b60405180910390a25050505050565b611e8b612131565b61069f611e9d3684900384018461349a565b82611ea9576000611eaf565b83602001355b60006121d3565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015611f4357600080fd5b505afa158015611f57573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f9857611f938361290c565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd157600080fd5b505afa925050508015612001575060408051601f3d908101601f19168201909252611ffe91810190613375565b60015b6120645760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610552565b6000805160206138c983398151915281146120d35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610552565b50611f938383836129a8565b6120e76129cd565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff16156121775760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610552565b565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d4908590612a16565b6121dc83612ae8565b61016083015181806121f657506001600160a01b03811633145b6122425760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c69636965736044820152606401610552565b82158061225a575042846101a0015164ffffffffff16115b6122a65760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c69637900000000000000006044820152606401610552565b6040516310f199ef60e31b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063878ccf789060240160006040518083038186803b15801561230757600080fd5b505afa15801561231b573d6000803e3d6000fd5b50505050836020015183111561236c5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b6044820152606401610552565b82158015906124f25784516040516331a9108f60e11b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e916123c89160040190815260200190565b60206040518083038186803b1580156123e057600080fd5b505afa1580156123f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124189190613293565b9050826001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561245357600080fd5b505afa158015612467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248b9190613293565b6001600160a01b0316639d8c5ee78288886040518463ffffffff1660e01b81526004016124ba93929190613604565b600060405180830381600087803b1580156124d457600080fd5b505af11580156124e8573d6000803e3d6000fd5b50505050506125c1565b816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561252b57600080fd5b505afa15801561253f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125639190613293565b6001600160a01b031663c7a9c70d866040518263ffffffff1660e01b815260040161258e91906137bd565b600060405180830381600087803b1580156125a857600080fd5b505af11580156125bc573d6000803e3d6000fd5b505050505b6020850151604051636a448ef160e01b815260048101919091526001600160a01b03831690636a448ef190602401600060405180830381600087803b15801561260957600080fd5b505af115801561261d573d6000803e3d6000fd5b5050505084600001518561016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e8660405161266691815260200190565b60405180910390a38451600090815260ca602052604081205583156126965784516126919085612b4e565b6126a1565b84516126a190612d4c565b5050505050565b600054610100900460ff166121775760405162461bcd60e51b815260040161055290613772565b600054610100900460ff166126f65760405162461bcd60e51b815260040161055290613772565b612177612e92565b600054610100900460ff161580801561271e5750600054600160ff909116105b806127385750303b158015612738575060005460ff166001145b6127545760405162461bcd60e51b815260040161055290613724565b6000805460ff191660011790558015612777576000805461ff0019166101001790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561284557600080fd5b505af1158015612859573d6000803e3d6000fd5b5050505080156105ef576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016110c8565b6128a7612131565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586121143390565b6000816040516020016128ef91906137bd565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0381163b6129795760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610552565b6000805160206138c983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6129b183612ec5565b6000825111806129be5750805b15611f93576107d48383612f05565b60335460ff166121775760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610552565b6000612a6b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ff09092919063ffffffff16565b805190915015611f935780806020019051810190612a899190613358565b611f935760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610552565b805115801590612b0f57508051600090815260ca6020526040902054612b0d826128dc565b145b6105ef5760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b6044820152606401610552565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b158015612bb157600080fd5b505afa158015612bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be99190613293565b90506001600160a01b0381163b612bff57505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b158015612c6457600080fd5b505af1925050508015612c94575060408051601f3d908101601f19168201909252612c919181019061338e565b60015b612cdc573d808015612cc2576040519150601f19603f3d011682016040523d82523d6000602084013e612cc7565b606091505b508051612cd45750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b146107d45760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b6064820152608401610552565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b158015612daf57600080fd5b505afa158015612dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de79190613293565b90506001600160a01b0381163b612dfc575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b158015612e5a57600080fd5b505af1925050508015612e8a575060408051601f3d908101601f19168201909252612e879181019061338e565b60015b611f93575050565b600054610100900460ff16612eb95760405162461bcd60e51b815260040161055290613772565b6033805460ff19169055565b612ece8161290c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612f6d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610552565b600080846001600160a01b031684604051612f8891906135e8565b600060405180830381855af49150503d8060008114612fc3576040519150601f19603f3d011682016040523d82523d6000602084013e612fc8565b606091505b5091509150611bc4828260405180606001604052806027815260200161390960279139613007565b6060612fff8484600085613040565b949350505050565b60608315613016575081611808565b8251156130265782518084602001fd5b8160405162461bcd60e51b81526004016105529190613659565b6060824710156130a15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610552565b6001600160a01b0385163b6130f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610552565b600080866001600160a01b0316858760405161311491906135e8565b60006040518083038185875af1925050503d8060008114613151576040519150601f19603f3d011682016040523d82523d6000602084013e613156565b606091505b5091509150613166828286613007565b979650505050505050565b803561317c816138a5565b919050565b60006101c0828403121561319457600080fd5b50919050565b60006101c082840312156131ad57600080fd5b6131b56137cc565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160613233818401613171565b90820152610180613245838201613261565b908201526101a0613257838201613261565b9082015292915050565b803564ffffffffff8116811461317c57600080fd5b60006020828403121561328857600080fd5b8135611808816138a5565b6000602082840312156132a557600080fd5b8151611808816138a5565b600080604083850312156132c357600080fd5b82356132ce816138a5565b915060208381013567ffffffffffffffff808211156132ec57600080fd5b818601915086601f83011261330057600080fd5b8135818111156133125761331261388f565b613324601f8201601f191685016137f6565b9150808252878482850101111561333a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561336a57600080fd5b8151611808816138ba565b60006020828403121561338757600080fd5b5051919050565b6000602082840312156133a057600080fd5b81516001600160e01b03198116811461180857600080fd5b600080604083850312156133cb57600080fd5b82356133d6816138a5565b91506020830135600481106133ea57600080fd5b809150509250929050565b6000806040838503121561340857600080fd5b8235613413816138a5565b946020939093013593505050565b60006101c0828403121561343457600080fd5b6118088383613181565b6000806101e0838503121561345257600080fd5b61345c8484613181565b91506101c08301356133ea816138ba565b6000806101e0838503121561348157600080fd5b61348b8484613181565b946101c0939093013593505050565b60006101c082840312156134ad57600080fd5b611808838361319a565b600080600061020084860312156134cd57600080fd5b6134d7858561319a565b92506101c08401356134e8816138a5565b91506101e08401356bffffffffffffffffffffffff8116811461350a57600080fd5b809150509250925092565b60006020828403121561352757600080fd5b61180882613261565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516135b9828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff8116848301526107d4565b600082516135fa81846020870161384d565b9190910192915050565b6001600160a01b038416815261020081016136226020830185613530565b826101e0830152949350505050565b602081016004831061365357634e487b7160e01b600052602160045260246000fd5b91905290565b602081526000825180602084015261367881604085016020870161384d565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6101c08101611bc98284613530565b6040516101c0810167ffffffffffffffff811182821017156137f0576137f061388f565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561381f5761381f61388f565b604052919050565b6000821982111561384857634e487b7160e01b600052601160045260246000fd5b500190565b60005b83811015613868578181015183820152602001613850565b838111156107d45750506000910152565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105ef57600080fd5b80151581146105ef57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212206631f526a03ad5079b1cf0c89f3823c1ad323096ad33f3ff1e58b78f5f36594464736f6c63430008060033",
|
|
920
|
-
"deployedBytecode": "0x6080604052600436106101665760003560e01c806379502c55116100d1578063b63d382e1161008a578063f3fef3a311610064578063f3fef3a314610487578063f67b2bad146104a7578063fcbb17fe146104c9578063ffa600e3146104e957600080fd5b8063b63d382e146103ee578063ca143d181461040e578063e5a6b10f1461045457600080fd5b806379502c551461030a5780637a702b3c146103515780638129fc1c146103715780638456cb5914610386578063917876601461039b578063af02808a146103bb57600080fd5b806352bab1941161012357806352bab1941461023e57806352d1902d1461025e5780635b494dd5146102735780635c975abb146102a757806365b71008146102ca5780636af6f1ef146102ea57600080fd5b806324ea54f41461016b5780633659cfe6146101a05780633f4ba83a146101c257806347e7ef24146101d75780634a47a3e0146101f75780634f1ef2861461022b575b600080fd5b34801561017757600080fd5b5061018d60008051602061393083398151915281565b6040519081526020015b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004613276565b610509565b005b3480156101ce57600080fd5b506101c06105f2565b3480156101e357600080fd5b506101c06101f23660046133f5565b6106a3565b34801561020357600080fd5b5061018d7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6101c06102393660046132b0565b6107da565b34801561024a57600080fd5b506101c0610259366004613276565b6108a7565b34801561026a57600080fd5b5061018d610c71565b34801561027f57600080fd5b5061018d7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102b357600080fd5b5060335460ff166040519015158152602001610197565b3480156102d657600080fd5b506101c06102e5366004613276565b610d24565b3480156102f657600080fd5b506101c0610305366004613421565b610f53565b34801561031657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610197565b34801561035d57600080fd5b506101c061036c36600461346d565b610fd7565b34801561037d57600080fd5b506101c0610ff9565b34801561039257600080fd5b506101c06110d3565b3480156103a757600080fd5b5061018d6103b63660046134b7565b611169565b3480156103c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610339565b3480156103fa57600080fd5b506101c0610409366004613276565b61180f565b34801561041a57600080fd5b50610447610429366004613276565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040516101979190613631565b34801561046057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610339565b34801561049357600080fd5b5061018d6104a23660046133f5565b611a8c565b3480156104b357600080fd5b5061018d6000805160206138e983398151915281565b3480156104d557600080fd5b506101c06104e43660046133b8565b611bcf565b3480156104f557600080fd5b506101c061050436600461343e565b611e83565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561055b5760405162461bcd60e51b81526004016105529061368c565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105a46000805160206138c9833981519152546001600160a01b031690565b6001600160a01b0316146105ca5760405162461bcd60e51b8152600401610552906136d8565b6105d381611eb6565b604080516000808252602082019092526105ef91839190611f60565b50565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561067f57600080fd5b505afa158015610693573d6000803e3d6000fd5b5050505061069f6120df565b5050565b6106ab612131565b6001600160a01b038216600090815260c9602052604090205460ff1660018160038111156106db576106db613879565b1461071f5760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610552565b6107546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338585612179565b6040516311f9fbc960e21b8152336004820152602481018390526001600160a01b038416906347e7ef2490604401602060405180830381600087803b15801561079c57600080fd5b505af11580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190613375565b50505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108235760405162461bcd60e51b81526004016105529061368c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661086c6000805160206138c9833981519152546001600160a01b031690565b6001600160a01b0316146108925760405162461bcd60e51b8152600401610552906136d8565b61089b82611eb6565b61069f82826001611f60565b6040516312d9a6ad60e01b81526000805160206138e983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561091d57600080fd5b505afa158015610931573d6000803e3d6000fd5b505050506001600160a01b03821661098b5760405162461bcd60e51b815260206004820152601d60248201527f5072656d69756d734163636f756e742063616e2774206265207a65726f0000006044820152606401610552565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190613293565b6001600160a01b031614610a6c5760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f74206c696e6b656420746f2074686044820152661a5cc81c1bdbdb60ca1b6064820152608401610552565b6000826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613293565b90506001600160a01b03811615610b4c576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610b3357600080fd5b505af1158015610b47573d6000803e3d6000fd5b505050505b826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8557600080fd5b505afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190613293565b90506001600160a01b03811615610c2a576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610c1157600080fd5b505af1158015610c25573d6000803e3d6000fd5b505050505b826001600160a01b03167f834362a634fb37104727a80cf5e936b5b1798edffcf4a89935f19d04eb0e88ec6001604051610c649190613631565b60405180910390a2505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d115760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610552565b506000805160206138c983398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610dac57600080fd5b505afa158015610dc0573d6000803e3d6000fd5b505050506001600160a01b038216600090815260c9602052604090205460ff166002816003811115610df457610df4613879565b14610e395760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b6044820152606401610552565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7257600080fd5b505afa158015610e86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaa9190613375565b15610f065760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b6064820152608401610552565b6001600160a01b038316600081815260c96020526040808220805460ff19169055517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610c6491613631565b610f5b612131565b42610f6e6101c083016101a08401613515565b64ffffffffff161115610fbc5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b6044820152606401610552565b6105ef610fce3683900383018361349a565b600060016121d3565b610fdf612131565b61069f610ff13684900384018461349a565b8260006121d3565b600054610100900460ff16158080156110195750600054600160ff909116105b806110335750303b158015611033575060005460ff166001145b61104f5760405162461bcd60e51b815260040161055290613724565b6000805460ff191660011790558015611072576000805461ff0019166101001790555b61107a6126a8565b6110826126cf565b61108a6126fe565b80156105ef576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6040516312d9a6ad60e01b815260008051602061393083398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561114957600080fd5b505afa15801561115d573d6000803e3d6000fd5b505050506105ef61289f565b6000611173612131565b6101608401516001600160a01b03811633146111dd5760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b6064820152608401610552565b604051635dfdc5d760e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063bbfb8bae9060240160006040518083038186803b15801561123e57600080fd5b505afa158015611252573d6000803e3d6000fd5b50505050826bffffffffffffffffffffffff166060826001600160a01b0316901b61127d9190613827565b8552611288856128dc565b60ca600087600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190613293565b60405163e3638ea360e01b81529091506001600160a01b0382169063e3638ea3906113459089906004016137bd565b600060405180830381600087803b15801561135f57600080fd5b505af1158015611373573d6000803e3d6000fd5b50508751604051632851206560e21b81526001600160a01b03898116600483015260248201929092527f0000000000000000000000000000000000000000000000000000000000000000909116925063a14481949150604401600060405180830381600087803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b50505060c087015161143b91506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169087908490612179565b610140860151156114f3576114f385826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561148357600080fd5b505afa158015611497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190613293565b6101408901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b610120860151156115ab576115ab85826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b15801561153b57600080fd5b505afa15801561154f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115739190613293565b6101208901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b611677857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561160857600080fd5b505afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116409190613293565b60e08901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b600086610100015111801561170e5750816001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f89190613293565b6001600160a01b0316856001600160a01b031614155b156117c0576117c085836001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117889190613293565b6101008901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612179565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b876040516117f991906137bd565b60405180910390a25050835190505b9392505050565b6040516312d9a6ad60e01b81526000805160206138e983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561188557600080fd5b505afa158015611899573d6000803e3d6000fd5b5050506001600160a01b038316600090815260c9602052604081205460ff1691508160038111156118cc576118cc613879565b146119195760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c0000000000006044820152606401610552565b6001600160a01b0383166119665760405162461bcd60e51b815260206004820152601460248201527365546f6b656e2063616e2774206265207a65726f60601b6044820152606401610552565b306001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a957600080fd5b505afa1580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e19190613293565b6001600160a01b031614611a375760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c00006044820152606401610552565b6001600160a01b038316600081815260c9602052604090819020805460ff1916600190811790915590517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610c6491613631565b6000611a96612131565b6001600160a01b038316600090815260c9602052604090205460ff166001816003811115611ac657611ac6613879565b1480611ae357506002816003811115611ae157611ae1613879565b145b611b415760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608401610552565b60405163f3fef3a360e01b8152336004820181905260248201859052906001600160a01b0386169063f3fef3a390604401602060405180830381600087803b158015611b8c57600080fd5b505af1158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc49190613375565b925050505b92915050565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015611c5c57600080fd5b505afa158015611c70573d6000803e3d6000fd5b5050506001600160a01b038516600090815260c9602052604081205460ff169150816003811115611ca357611ca3613879565b1415611ce45760405162461bcd60e51b815260206004820152601060248201526f11551bdad95b881b9bdd08199bdd5b9960821b6044820152606401610552565b6003846003811115611cf857611cf8613879565b141580611dab5750604051632474521560e21b815260008051602061393083398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b158015611d7357600080fd5b505afa158015611d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dab9190613358565b611e015760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920475541524449414e2063616e2073757370656e642065546f6b656e6044820152607360f81b6064820152608401610552565b6001600160a01b038516600090815260c960205260409020805485919060ff19166001836003811115611e3657611e36613879565b0217905550846001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c85604051611e749190613631565b60405180910390a25050505050565b611e8b612131565b61069f611e9d3684900384018461349a565b82611ea9576000611eaf565b83602001355b60006121d3565b60405163c5b8f5cf60e01b8152600080516020613930833981519152600482018190526000805160206138e98339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015611f4357600080fd5b505afa158015611f57573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f9857611f938361290c565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd157600080fd5b505afa925050508015612001575060408051601f3d908101601f19168201909252611ffe91810190613375565b60015b6120645760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610552565b6000805160206138c983398151915281146120d35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610552565b50611f938383836129a8565b6120e76129cd565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff16156121775760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610552565b565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d4908590612a16565b6121dc83612ae8565b61016083015181806121f657506001600160a01b03811633145b6122425760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c69636965736044820152606401610552565b82158061225a575042846101a0015164ffffffffff16115b6122a65760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c69637900000000000000006044820152606401610552565b6040516310f199ef60e31b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063878ccf789060240160006040518083038186803b15801561230757600080fd5b505afa15801561231b573d6000803e3d6000fd5b50505050836020015183111561236c5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b6044820152606401610552565b82158015906124f25784516040516331a9108f60e11b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e916123c89160040190815260200190565b60206040518083038186803b1580156123e057600080fd5b505afa1580156123f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124189190613293565b9050826001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561245357600080fd5b505afa158015612467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248b9190613293565b6001600160a01b0316639d8c5ee78288886040518463ffffffff1660e01b81526004016124ba93929190613604565b600060405180830381600087803b1580156124d457600080fd5b505af11580156124e8573d6000803e3d6000fd5b50505050506125c1565b816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561252b57600080fd5b505afa15801561253f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125639190613293565b6001600160a01b031663c7a9c70d866040518263ffffffff1660e01b815260040161258e91906137bd565b600060405180830381600087803b1580156125a857600080fd5b505af11580156125bc573d6000803e3d6000fd5b505050505b6020850151604051636a448ef160e01b815260048101919091526001600160a01b03831690636a448ef190602401600060405180830381600087803b15801561260957600080fd5b505af115801561261d573d6000803e3d6000fd5b5050505084600001518561016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e8660405161266691815260200190565b60405180910390a38451600090815260ca602052604081205583156126965784516126919085612b4e565b6126a1565b84516126a190612d4c565b5050505050565b600054610100900460ff166121775760405162461bcd60e51b815260040161055290613772565b600054610100900460ff166126f65760405162461bcd60e51b815260040161055290613772565b612177612e92565b600054610100900460ff161580801561271e5750600054600160ff909116105b806127385750303b158015612738575060005460ff166001145b6127545760405162461bcd60e51b815260040161055290613724565b6000805460ff191660011790558015612777576000805461ff0019166101001790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561284557600080fd5b505af1158015612859573d6000803e3d6000fd5b5050505080156105ef576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016110c8565b6128a7612131565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586121143390565b6000816040516020016128ef91906137bd565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0381163b6129795760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610552565b6000805160206138c983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6129b183612ec5565b6000825111806129be5750805b15611f93576107d48383612f05565b60335460ff166121775760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610552565b6000612a6b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ff09092919063ffffffff16565b805190915015611f935780806020019051810190612a899190613358565b611f935760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610552565b805115801590612b0f57508051600090815260ca6020526040902054612b0d826128dc565b145b6105ef5760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b6044820152606401610552565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b158015612bb157600080fd5b505afa158015612bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be99190613293565b90506001600160a01b0381163b612bff57505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b158015612c6457600080fd5b505af1925050508015612c94575060408051601f3d908101601f19168201909252612c919181019061338e565b60015b612cdc573d808015612cc2576040519150601f19603f3d011682016040523d82523d6000602084013e612cc7565b606091505b508051612cd45750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b146107d45760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b6064820152608401610552565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b158015612daf57600080fd5b505afa158015612dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de79190613293565b90506001600160a01b0381163b612dfc575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b158015612e5a57600080fd5b505af1925050508015612e8a575060408051601f3d908101601f19168201909252612e879181019061338e565b60015b611f93575050565b600054610100900460ff16612eb95760405162461bcd60e51b815260040161055290613772565b6033805460ff19169055565b612ece8161290c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612f6d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610552565b600080846001600160a01b031684604051612f8891906135e8565b600060405180830381855af49150503d8060008114612fc3576040519150601f19603f3d011682016040523d82523d6000602084013e612fc8565b606091505b5091509150611bc4828260405180606001604052806027815260200161390960279139613007565b6060612fff8484600085613040565b949350505050565b60608315613016575081611808565b8251156130265782518084602001fd5b8160405162461bcd60e51b81526004016105529190613659565b6060824710156130a15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610552565b6001600160a01b0385163b6130f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610552565b600080866001600160a01b0316858760405161311491906135e8565b60006040518083038185875af1925050503d8060008114613151576040519150601f19603f3d011682016040523d82523d6000602084013e613156565b606091505b5091509150613166828286613007565b979650505050505050565b803561317c816138a5565b919050565b60006101c0828403121561319457600080fd5b50919050565b60006101c082840312156131ad57600080fd5b6131b56137cc565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160613233818401613171565b90820152610180613245838201613261565b908201526101a0613257838201613261565b9082015292915050565b803564ffffffffff8116811461317c57600080fd5b60006020828403121561328857600080fd5b8135611808816138a5565b6000602082840312156132a557600080fd5b8151611808816138a5565b600080604083850312156132c357600080fd5b82356132ce816138a5565b915060208381013567ffffffffffffffff808211156132ec57600080fd5b818601915086601f83011261330057600080fd5b8135818111156133125761331261388f565b613324601f8201601f191685016137f6565b9150808252878482850101111561333a57600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561336a57600080fd5b8151611808816138ba565b60006020828403121561338757600080fd5b5051919050565b6000602082840312156133a057600080fd5b81516001600160e01b03198116811461180857600080fd5b600080604083850312156133cb57600080fd5b82356133d6816138a5565b91506020830135600481106133ea57600080fd5b809150509250929050565b6000806040838503121561340857600080fd5b8235613413816138a5565b946020939093013593505050565b60006101c0828403121561343457600080fd5b6118088383613181565b6000806101e0838503121561345257600080fd5b61345c8484613181565b91506101c08301356133ea816138ba565b6000806101e0838503121561348157600080fd5b61348b8484613181565b946101c0939093013593505050565b60006101c082840312156134ad57600080fd5b611808838361319a565b600080600061020084860312156134cd57600080fd5b6134d7858561319a565b92506101c08401356134e8816138a5565b91506101e08401356bffffffffffffffffffffffff8116811461350a57600080fd5b809150509250925092565b60006020828403121561352757600080fd5b61180882613261565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516135b9828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff8116848301526107d4565b600082516135fa81846020870161384d565b9190910192915050565b6001600160a01b038416815261020081016136226020830185613530565b826101e0830152949350505050565b602081016004831061365357634e487b7160e01b600052602160045260246000fd5b91905290565b602081526000825180602084015261367881604085016020870161384d565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6101c08101611bc98284613530565b6040516101c0810167ffffffffffffffff811182821017156137f0576137f061388f565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561381f5761381f61388f565b604052919050565b6000821982111561384857634e487b7160e01b600052601160045260246000fd5b500190565b60005b83811015613868578181015183820152602001613850565b838111156107d45750506000910152565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105ef57600080fd5b80151581146105ef57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212206631f526a03ad5079b1cf0c89f3823c1ad323096ad33f3ff1e58b78f5f36594464736f6c63430008060033",
|
|
1052
|
+
"bytecode": "0x6101006040523060601b6080523480156200001957600080fd5b5060405162004715380380620047158339810160408190526200003c9162000064565b6001600160601b0319606093841b811660a05291831b821660e05290911b1660c052620000d1565b6000806000606084860312156200007a57600080fd5b83516200008781620000b8565b60208501519093506200009a81620000b8565b6040850151909250620000ad81620000b8565b809150509250925092565b6001600160a01b0381168114620000ce57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c61451e620001f7600039600081816104ab0152818161162101528181612f130152818161336801528181613691015261388f01526000818161057701528181610880015281816116940152818161174e015281816118060152818161184401526119930152600081816103bd0152818161079101528181610a2701528181610e6001528181611123015281816111b901528181611a3601528181611d5401528181611f7c015281816121bd015281816122d8015281816123a501528181612472015281816125dc015281816126eb015281816127b8015281816128850152612a23015260008181610668015281816106b101528181610939015281816109790152610d7c015261451e6000f3fe6080604052600436106101d85760003560e01c80637f04870a11610102578063ccdcd9cf11610095578063f67b2bad11610064578063f67b2bad146105db578063f7d72a25146105fd578063fcbb17fe1461061d578063ffa600e31461063d57600080fd5b8063ccdcd9cf14610548578063e5a6b10f14610568578063f0f442601461059b578063f3fef3a3146105bb57600080fd5b8063af02808a116100d1578063af02808a1461049c578063b63d382e146104cf578063c4d66de8146104ef578063ca143d181461050f57600080fd5b80637f04870a146104015780638456cb59146104475780639042cf681461045c578063917876601461047c57600080fd5b806352d1902d1161017a57806365b710081161014957806365b710081461036e5780636af6f1ef1461038e57806371907f17146103ae5780637a702b3c146103e157600080fd5b806352d1902d146102d05780635b494dd5146102e55780635c975abb1461031957806361d027b31461033c57600080fd5b806347e7ef24116101b657806347e7ef24146102495780634a47a3e0146102695780634f1ef2861461029d57806352bab194146102b057600080fd5b806324ea54f4146101dd5780633659cfe6146102125780633f4ba83a14610234575b600080fd5b3480156101e957600080fd5b506101ff6000805160206144c983398151915281565b6040519081526020015b60405180910390f35b34801561021e57600080fd5b5061023261022d366004613daf565b61065d565b005b34801561024057600080fd5b50610232610746565b34801561025557600080fd5b50610232610264366004613f26565b6107f7565b34801561027557600080fd5b506101ff7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6102326102ab366004613de9565b61092e565b3480156102bc57600080fd5b506102326102cb366004613daf565b6109fb565b3480156102dc57600080fd5b506101ff610d6f565b3480156102f157600080fd5b506101ff7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b34801561032557600080fd5b5060335460ff166040519015158152602001610209565b34801561034857600080fd5b5060c9546001600160a01b03165b6040516001600160a01b039091168152602001610209565b34801561037a57600080fd5b50610232610389366004613daf565b610e22565b34801561039a57600080fd5b506102326103a9366004613f52565b611051565b3480156103ba57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156103ed57600080fd5b506102326103fc366004613fa9565b6110d5565b34801561040d57600080fd5b5061043a61041c366004613daf565b6001600160a01b0316600090815260cb602052604090205460ff1690565b604051610209919061416d565b34801561045357600080fd5b506102326110f7565b34801561046857600080fd5b50610232610477366004613daf565b61118d565b34801561048857600080fd5b506101ff610497366004613ff3565b6113db565b3480156104a857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156104db57600080fd5b506102326104ea366004613daf565b611a0a565b3480156104fb57600080fd5b5061023261050a366004613daf565b611c3a565b34801561051b57600080fd5b5061043a61052a366004613daf565b6001600160a01b0316600090815260ca602052604090205460ff1690565b34801561055457600080fd5b50610232610563366004613daf565b611d16565b34801561057457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156105a757600080fd5b506102326105b6366004613daf565b611f50565b3480156105c757600080fd5b506101ff6105d6366004613f26565b61202f565b3480156105e757600080fd5b506101ff60008051602061448283398151915281565b34801561060957600080fd5b50610232610618366004613ef1565b612172565b34801561062957600080fd5b50610232610638366004613ef1565b612591565b34801561064957600080fd5b50610232610658366004613f6f565b6129a5565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106af5760405162461bcd60e51b81526004016106a6906141c8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106f8600080516020614462833981519152546001600160a01b031690565b6001600160a01b03161461071e5760405162461bcd60e51b81526004016106a690614214565b610727816129d8565b6040805160008082526020820190925261074391839190612a82565b50565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156107d357600080fd5b505afa1580156107e7573d6000803e3d6000fd5b505050506107f3612c01565b5050565b6107ff612c53565b6001600160a01b038216600090815260ca602052604090205460ff16600181600381111561082f5761082f614412565b146108735760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b60448201526064016106a6565b6108a86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338585612c9b565b6040516311f9fbc960e21b8152336004820152602481018390526001600160a01b038416906347e7ef2490604401602060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109289190613eae565b50505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156109775760405162461bcd60e51b81526004016106a6906141c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109c0600080516020614462833981519152546001600160a01b031690565b6001600160a01b0316146109e65760405162461bcd60e51b81526004016106a690614214565b6109ef826129d8565b6107f382826001612a82565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610a7157600080fd5b505afa158015610a85573d6000803e3d6000fd5b50505050306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b158015610acc57600080fd5b505afa158015610ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b049190613dcc565b6001600160a01b031614610b6a5760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f74206c696e6b656420746f2074686044820152661a5cc81c1bdbdb60ca1b60648201526084016106a6565b6000826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba557600080fd5b505afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190613dcc565b90506001600160a01b03811615610c4a576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610c3157600080fd5b505af1158015610c45573d6000803e3d6000fd5b505050505b826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190613dcc565b90506001600160a01b03811615610d28576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610d0f57600080fd5b505af1158015610d23573d6000803e3d6000fd5b505050505b826001600160a01b03167f834362a634fb37104727a80cf5e936b5b1798edffcf4a89935f19d04eb0e88ec6001604051610d62919061416d565b60405180910390a2505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e0f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a6565b5060008051602061446283398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506001600160a01b038216600090815260ca602052604090205460ff166002816003811115610ef257610ef2614412565b14610f375760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b60448201526064016106a6565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7057600080fd5b505afa158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190613eae565b156110045760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b60648201526084016106a6565b6001600160a01b038316600081815260ca6020526040808220805460ff19169055517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610d629161416d565b611059612c53565b4261106c6101c083016101a08401614051565b64ffffffffff1611156110ba5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b60448201526064016106a6565b6107436110cc36839003830183613fd6565b60006001612cf5565b6110dd612c53565b6107f36110ef36849003840184613fd6565b826000612cf5565b6040516312d9a6ad60e01b81526000805160206144c983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561116d57600080fd5b505afa158015611181573d6000803e3d6000fd5b5050505061074361322a565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561120357600080fd5b505afa158015611217573d6000803e3d6000fd5b5060009250611224915050565b6001600160a01b038316600090815260cb602052604090205460ff16600381111561125157611251614412565b1461129e5760405162461bcd60e51b815260206004820152601f60248201527f5269736b204d6f64756c6520616c726561647920696e2074686520706f6f6c0060448201526064016106a6565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156112e157600080fd5b505afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190613dcc565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602260248201527f5269736b4d6f64756c65206e6f74206c696e6b656420746f207468697320706f6044820152611bdb60f21b60648201526084016106a6565b6001600160a01b038216600081815260cb602052604090819020805460ff1916600190811790915590517fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b2916113cf9161416d565b60405180910390a25050565b60006113e5612c53565b6101608401516001600160a01b038116331461144f5760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b60648201526084016106a6565b60016001600160a01b038216600090815260cb602052604090205460ff16600381111561147e5761147e614412565b146114d55760405162461bcd60e51b815260206004820152602160248201527f524d206d6f64756c65206e6f7420666f756e64206f72206e6f742061637469766044820152606560f81b60648201526084016106a6565b6115006bffffffffffffffffffffffff84166bffffffffffffffffffffffff19606084901b166143c0565b855261150b85613267565b60cc600087600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561156157600080fd5b505afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115999190613dcc565b60405163e3638ea360e01b81529091506001600160a01b0382169063e3638ea3906115c8908990600401614356565b600060405180830381600087803b1580156115e257600080fd5b505af11580156115f6573d6000803e3d6000fd5b50508751604051632851206560e21b81526001600160a01b03898116600483015260248201929092527f0000000000000000000000000000000000000000000000000000000000000000909116925063a14481949150604401600060405180830381600087803b15801561166957600080fd5b505af115801561167d573d6000803e3d6000fd5b50505060c08701516116be91506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169087908490612c9b565b610140860151156117765761177685826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e9190613dcc565b6101408901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b6101208601511561182e5761182e85826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117be57600080fd5b505afa1580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f69190613dcc565b6101208901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b60c95460e0870151611872916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169289929190911690612c9b565b60008661010001511180156119095750816001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f39190613dcc565b6001600160a01b0316856001600160a01b031614155b156119bb576119bb85836001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b15801561194b57600080fd5b505afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190613dcc565b6101008901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b876040516119f49190614356565b60405180910390a25050835190505b9392505050565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611a8057600080fd5b505afa158015611a94573d6000803e3d6000fd5b5050506001600160a01b038316600090815260ca602052604081205460ff169150816003811115611ac757611ac7614412565b14611b145760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c00000000000060448201526064016106a6565b306001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b5757600080fd5b505afa158015611b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8f9190613dcc565b6001600160a01b031614611be55760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c000060448201526064016106a6565b6001600160a01b038316600081815260ca602052604090819020805460ff1916600190811790915590517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610d629161416d565b600054610100900460ff1615808015611c5a5750600054600160ff909116105b80611c745750303b158015611c74575060005460ff166001145b611c905760405162461bcd60e51b81526004016106a690614260565b6000805460ff191660011790558015611cb3576000805461ff0019166101001790555b611cbb613297565b611cc36132be565b611ccc826132ed565b80156107f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6040516312d9a6ad60e01b81527fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c060048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611d9e57600080fd5b505afa158015611db2573d6000803e3d6000fd5b5060009250611dbf915050565b6001600160a01b038316600090815260cb602052604090205460ff166003811115611dec57611dec614412565b1415611e325760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b60448201526064016106a6565b816001600160a01b0316637ff8bf256040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6b57600080fd5b505afa158015611e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea39190613eae565b15611f035760405162461bcd60e51b815260206004820152602a60248201527f43616e27742072656d6f76652061206d6f64756c6520776974682061637469766044820152696520706f6c696369657360b01b60648201526084016106a6565b6001600160a01b038216600081815260cb6020526040808220805460ff19169055517fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b2916113cf9161416d565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611fc657600080fd5b505afa158015611fda573d6000803e3d6000fd5b505060c980546001600160a01b0319166001600160a01b038616908117909155604051908152600192507fb6bdbd44472629fc24a00b6f4ee3348b72c9eff333d0e9c16d78c49da1323c8f91506020016113cf565b6000612039612c53565b6001600160a01b038316600090815260ca602052604090205460ff16600181600381111561206957612069614412565b14806120865750600281600381111561208457612084614412565b145b6120e45760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b60648201526084016106a6565b60405163f3fef3a360e01b8152336004820181905260248201859052906001600160a01b0386169063f3fef3a390604401602060405180830381600087803b15801561212f57600080fd5b505af1158015612143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121679190613eae565b925050505b92915050565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156121ff57600080fd5b505afa158015612213573d6000803e3d6000fd5b5060009250612220915050565b6001600160a01b038516600090815260cb602052604090205460ff16600381111561224d5761224d614412565b14156122935760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b60448201526064016106a6565b60018360038111156122a7576122a7614412565b14801561235a5750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561232257600080fd5b505afa158015612336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235a9190613e91565b806124275750600383600381111561237457612374614412565b1480156124275750604051632474521560e21b81526000805160206144c983398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156123ef57600080fd5b505afa158015612403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124279190613e91565b806124f45750600283600381111561244157612441614412565b1480156124f45750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156124bc57600080fd5b505afa1580156124d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f49190613e91565b6125105760405162461bcd60e51b81526004016106a6906142ae565b6001600160a01b038416600090815260cb60205260409020805484919060ff1916600183600381111561254557612545614412565b0217905550836001600160a01b03167fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b284604051612583919061416d565b60405180910390a250505050565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561261e57600080fd5b505afa158015612632573d6000803e3d6000fd5b5050506001600160a01b038516600090815260ca602052604081205460ff16915081600381111561266557612665614412565b14156126a65760405162461bcd60e51b815260206004820152601060248201526f11551bdad95b881b9bdd08199bdd5b9960821b60448201526064016106a6565b60018460038111156126ba576126ba614412565b14801561276d5750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561273557600080fd5b505afa158015612749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276d9190613e91565b8061283a5750600384600381111561278757612787614412565b14801561283a5750604051632474521560e21b81526000805160206144c983398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561280257600080fd5b505afa158015612816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283a9190613e91565b806129075750600284600381111561285457612854614412565b1480156129075750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156128cf57600080fd5b505afa1580156128e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129079190613e91565b6129235760405162461bcd60e51b81526004016106a6906142ae565b6001600160a01b038516600090815260ca60205260409020805485919060ff1916600183600381111561295857612958614412565b0217905550846001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c85604051612996919061416d565b60405180910390a25050505050565b6129ad612c53565b6107f36129bf36849003840184613fd6565b826129cb5760006129d1565b83602001355b6000612cf5565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015612a6557600080fd5b505afa158015612a79573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612aba57612ab583613436565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612af357600080fd5b505afa925050508015612b23575060408051601f3d908101601f19168201909252612b2091810190613eae565b60015b612b865760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106a6565b6000805160206144628339815191528114612bf55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106a6565b50612ab58383836134d2565b612c096134f7565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff1615612c995760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016106a6565b565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610928908590613540565b612cfe83613612565b6101608301518180612d1857506001600160a01b03811633145b612d645760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c696369657360448201526064016106a6565b821580612d7c575042846101a0015164ffffffffff16115b612dc85760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c696379000000000000000060448201526064016106a6565b60016001600160a01b038216600090815260cb602052604090205460ff166003811115612df757612df7614412565b1480612e2f575060026001600160a01b038216600090815260cb602052604090205460ff166003811115612e2d57612e2d614412565b145b612ea15760405162461bcd60e51b815260206004820152603a60248201527f4d6f64756c65206d75737420626520616374697665206f72206465707265636160448201527f74656420746f2070726f63657373207265736f6c7574696f6e7300000000000060648201526084016106a6565b8360200151831115612eee5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b60448201526064016106a6565b82158015906130745784516040516331a9108f60e11b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e91612f4a9160040190815260200190565b60206040518083038186803b158015612f6257600080fd5b505afa158015612f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f9a9190613dcc565b9050826001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fd557600080fd5b505afa158015612fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300d9190613dcc565b6001600160a01b0316639d8c5ee78288886040518463ffffffff1660e01b815260040161303c93929190614140565b600060405180830381600087803b15801561305657600080fd5b505af115801561306a573d6000803e3d6000fd5b5050505050613143565b816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ad57600080fd5b505afa1580156130c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e59190613dcc565b6001600160a01b031663c7a9c70d866040518263ffffffff1660e01b81526004016131109190614356565b600060405180830381600087803b15801561312a57600080fd5b505af115801561313e573d6000803e3d6000fd5b505050505b6020850151604051636a448ef160e01b815260048101919091526001600160a01b03831690636a448ef190602401600060405180830381600087803b15801561318b57600080fd5b505af115801561319f573d6000803e3d6000fd5b5050505084600001518561016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e866040516131e891815260200190565b60405180910390a38451600090815260cc602052604081205583156132185784516132139085613678565b613223565b845161322390613876565b5050505050565b613232612c53565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612c363390565b60008160405160200161327a9190614356565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16612c995760405162461bcd60e51b81526004016106a69061430b565b600054610100900460ff166132e55760405162461bcd60e51b81526004016106a69061430b565b612c996139bc565b600054610100900460ff161580801561330d5750600054600160ff909116105b806133275750303b158015613327575060005460ff166001145b6133435760405162461bcd60e51b81526004016106a690614260565b6000805460ff191660011790558015613366576000805461ff0019166101001790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156133c157600080fd5b505af11580156133d5573d6000803e3d6000fd5b505060c980546001600160a01b0319166001600160a01b038616179055505080156107f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611d0a565b6001600160a01b0381163b6134a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106a6565b60008051602061446283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6134db836139ef565b6000825111806134e85750805b15612ab5576109288383613a2f565b60335460ff16612c995760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016106a6565b6000613595826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613b1a9092919063ffffffff16565b805190915015612ab557808060200190518101906135b39190613e91565b612ab55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106a6565b80511580159061363957508051600090815260cc602052604090205461363782613267565b145b6107435760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b60448201526064016106a6565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156136db57600080fd5b505afa1580156136ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137139190613dcc565b90506001600160a01b0381163b61372957505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b15801561378e57600080fd5b505af19250505080156137be575060408051601f3d908101601f191682019092526137bb91810190613ec7565b60015b613806573d8080156137ec576040519150601f19603f3d011682016040523d82523d6000602084013e6137f1565b606091505b5080516137fe5750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b146109285760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b60648201526084016106a6565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156138d957600080fd5b505afa1580156138ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139119190613dcc565b90506001600160a01b0381163b613926575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b15801561398457600080fd5b505af19250505080156139b4575060408051601f3d908101601f191682019092526139b191810190613ec7565b60015b612ab5575050565b600054610100900460ff166139e35760405162461bcd60e51b81526004016106a69061430b565b6033805460ff19169055565b6139f881613436565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613a975760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106a6565b600080846001600160a01b031684604051613ab29190614124565b600060405180830381855af49150503d8060008114613aed576040519150601f19603f3d011682016040523d82523d6000602084013e613af2565b606091505b509150915061216782826040518060600160405280602781526020016144a260279139613b31565b6060613b298484600085613b6a565b949350505050565b60608315613b40575081611a03565b825115613b505782518084602001fd5b8160405162461bcd60e51b81526004016106a69190614195565b606082471015613bcb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106a6565b6001600160a01b0385163b613c225760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a6565b600080866001600160a01b03168587604051613c3e9190614124565b60006040518083038185875af1925050503d8060008114613c7b576040519150601f19603f3d011682016040523d82523d6000602084013e613c80565b606091505b5091509150613c90828286613b31565b979650505050505050565b8035613ca68161443e565b919050565b803560048110613ca657600080fd5b60006101c08284031215613ccd57600080fd5b50919050565b60006101c08284031215613ce657600080fd5b613cee614365565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160613d6c818401613c9b565b90820152610180613d7e838201613d9a565b908201526101a0613d90838201613d9a565b9082015292915050565b803564ffffffffff81168114613ca657600080fd5b600060208284031215613dc157600080fd5b8135611a038161443e565b600060208284031215613dde57600080fd5b8151611a038161443e565b60008060408385031215613dfc57600080fd5b8235613e078161443e565b915060208381013567ffffffffffffffff80821115613e2557600080fd5b818601915086601f830112613e3957600080fd5b813581811115613e4b57613e4b614428565b613e5d601f8201601f1916850161438f565b91508082528784828501011115613e7357600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215613ea357600080fd5b8151611a0381614453565b600060208284031215613ec057600080fd5b5051919050565b600060208284031215613ed957600080fd5b81516001600160e01b031981168114611a0357600080fd5b60008060408385031215613f0457600080fd5b8235613f0f8161443e565b9150613f1d60208401613cab565b90509250929050565b60008060408385031215613f3957600080fd5b8235613f448161443e565b946020939093013593505050565b60006101c08284031215613f6557600080fd5b611a038383613cba565b6000806101e08385031215613f8357600080fd5b613f8d8484613cba565b91506101c0830135613f9e81614453565b809150509250929050565b6000806101e08385031215613fbd57600080fd5b613fc78484613cba565b946101c0939093013593505050565b60006101c08284031215613fe957600080fd5b611a038383613cd3565b6000806000610200848603121561400957600080fd5b6140138585613cd3565b92506101c08401356140248161443e565b91506101e08401356bffffffffffffffffffffffff8116811461404657600080fd5b809150509250925092565b60006020828403121561406357600080fd5b611a0382613d9a565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516140f5828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff811684830152610928565b600082516141368184602087016143e6565b9190910192915050565b6001600160a01b0384168152610200810161415e602083018561406c565b826101e0830152949350505050565b602081016004831061418f57634e487b7160e01b600052602160045260246000fd5b91905290565b60208152600082518060208401526141b48160408501602087016143e6565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252603e908201527f4f6e6c7920475541524449414e2063616e2073757370656e64202f204f6e6c7960408201527f204c4556454c312063616e2061637469766174652f6465707265636174650000606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6101c0810161216c828461406c565b6040516101c0810167ffffffffffffffff8111828210171561438957614389614428565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156143b8576143b8614428565b604052919050565b600082198211156143e157634e487b7160e01b600052601160045260246000fd5b500190565b60005b838110156144015781810151838201526020016143e9565b838111156109285750506000910152565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461074357600080fd5b801515811461074357600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212208985fee0acad61d24a80030a55277883e1e09496993b188dea7655ae09f411b264736f6c63430008060033",
|
|
1053
|
+
"deployedBytecode": "0x6080604052600436106101d85760003560e01c80637f04870a11610102578063ccdcd9cf11610095578063f67b2bad11610064578063f67b2bad146105db578063f7d72a25146105fd578063fcbb17fe1461061d578063ffa600e31461063d57600080fd5b8063ccdcd9cf14610548578063e5a6b10f14610568578063f0f442601461059b578063f3fef3a3146105bb57600080fd5b8063af02808a116100d1578063af02808a1461049c578063b63d382e146104cf578063c4d66de8146104ef578063ca143d181461050f57600080fd5b80637f04870a146104015780638456cb59146104475780639042cf681461045c578063917876601461047c57600080fd5b806352d1902d1161017a57806365b710081161014957806365b710081461036e5780636af6f1ef1461038e57806371907f17146103ae5780637a702b3c146103e157600080fd5b806352d1902d146102d05780635b494dd5146102e55780635c975abb1461031957806361d027b31461033c57600080fd5b806347e7ef24116101b657806347e7ef24146102495780634a47a3e0146102695780634f1ef2861461029d57806352bab194146102b057600080fd5b806324ea54f4146101dd5780633659cfe6146102125780633f4ba83a14610234575b600080fd5b3480156101e957600080fd5b506101ff6000805160206144c983398151915281565b6040519081526020015b60405180910390f35b34801561021e57600080fd5b5061023261022d366004613daf565b61065d565b005b34801561024057600080fd5b50610232610746565b34801561025557600080fd5b50610232610264366004613f26565b6107f7565b34801561027557600080fd5b506101ff7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6102326102ab366004613de9565b61092e565b3480156102bc57600080fd5b506102326102cb366004613daf565b6109fb565b3480156102dc57600080fd5b506101ff610d6f565b3480156102f157600080fd5b506101ff7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b34801561032557600080fd5b5060335460ff166040519015158152602001610209565b34801561034857600080fd5b5060c9546001600160a01b03165b6040516001600160a01b039091168152602001610209565b34801561037a57600080fd5b50610232610389366004613daf565b610e22565b34801561039a57600080fd5b506102326103a9366004613f52565b611051565b3480156103ba57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156103ed57600080fd5b506102326103fc366004613fa9565b6110d5565b34801561040d57600080fd5b5061043a61041c366004613daf565b6001600160a01b0316600090815260cb602052604090205460ff1690565b604051610209919061416d565b34801561045357600080fd5b506102326110f7565b34801561046857600080fd5b50610232610477366004613daf565b61118d565b34801561048857600080fd5b506101ff610497366004613ff3565b6113db565b3480156104a857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156104db57600080fd5b506102326104ea366004613daf565b611a0a565b3480156104fb57600080fd5b5061023261050a366004613daf565b611c3a565b34801561051b57600080fd5b5061043a61052a366004613daf565b6001600160a01b0316600090815260ca602052604090205460ff1690565b34801561055457600080fd5b50610232610563366004613daf565b611d16565b34801561057457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610356565b3480156105a757600080fd5b506102326105b6366004613daf565b611f50565b3480156105c757600080fd5b506101ff6105d6366004613f26565b61202f565b3480156105e757600080fd5b506101ff60008051602061448283398151915281565b34801561060957600080fd5b50610232610618366004613ef1565b612172565b34801561062957600080fd5b50610232610638366004613ef1565b612591565b34801561064957600080fd5b50610232610658366004613f6f565b6129a5565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106af5760405162461bcd60e51b81526004016106a6906141c8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106f8600080516020614462833981519152546001600160a01b031690565b6001600160a01b03161461071e5760405162461bcd60e51b81526004016106a690614214565b610727816129d8565b6040805160008082526020820190925261074391839190612a82565b50565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156107d357600080fd5b505afa1580156107e7573d6000803e3d6000fd5b505050506107f3612c01565b5050565b6107ff612c53565b6001600160a01b038216600090815260ca602052604090205460ff16600181600381111561082f5761082f614412565b146108735760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b60448201526064016106a6565b6108a86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338585612c9b565b6040516311f9fbc960e21b8152336004820152602481018390526001600160a01b038416906347e7ef2490604401602060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109289190613eae565b50505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156109775760405162461bcd60e51b81526004016106a6906141c8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109c0600080516020614462833981519152546001600160a01b031690565b6001600160a01b0316146109e65760405162461bcd60e51b81526004016106a690614214565b6109ef826129d8565b6107f382826001612a82565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610a7157600080fd5b505afa158015610a85573d6000803e3d6000fd5b50505050306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b158015610acc57600080fd5b505afa158015610ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b049190613dcc565b6001600160a01b031614610b6a5760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f74206c696e6b656420746f2074686044820152661a5cc81c1bdbdb60ca1b60648201526084016106a6565b6000826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba557600080fd5b505afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190613dcc565b90506001600160a01b03811615610c4a576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610c3157600080fd5b505af1158015610c45573d6000803e3d6000fd5b505050505b826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190613dcc565b90506001600160a01b03811615610d28576040516338ea38a760e21b81526001600160a01b03848116600483015282169063e3a8e29c90602401600060405180830381600087803b158015610d0f57600080fd5b505af1158015610d23573d6000803e3d6000fd5b505050505b826001600160a01b03167f834362a634fb37104727a80cf5e936b5b1798edffcf4a89935f19d04eb0e88ec6001604051610d62919061416d565b60405180910390a2505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e0f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a6565b5060008051602061446283398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506001600160a01b038216600090815260ca602052604090205460ff166002816003811115610ef257610ef2614412565b14610f375760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b60448201526064016106a6565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7057600080fd5b505afa158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190613eae565b156110045760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b60648201526084016106a6565b6001600160a01b038316600081815260ca6020526040808220805460ff19169055517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610d629161416d565b611059612c53565b4261106c6101c083016101a08401614051565b64ffffffffff1611156110ba5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b60448201526064016106a6565b6107436110cc36839003830183613fd6565b60006001612cf5565b6110dd612c53565b6107f36110ef36849003840184613fd6565b826000612cf5565b6040516312d9a6ad60e01b81526000805160206144c983398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561116d57600080fd5b505afa158015611181573d6000803e3d6000fd5b5050505061074361322a565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561120357600080fd5b505afa158015611217573d6000803e3d6000fd5b5060009250611224915050565b6001600160a01b038316600090815260cb602052604090205460ff16600381111561125157611251614412565b1461129e5760405162461bcd60e51b815260206004820152601f60248201527f5269736b204d6f64756c6520616c726561647920696e2074686520706f6f6c0060448201526064016106a6565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b1580156112e157600080fd5b505afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190613dcc565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602260248201527f5269736b4d6f64756c65206e6f74206c696e6b656420746f207468697320706f6044820152611bdb60f21b60648201526084016106a6565b6001600160a01b038216600081815260cb602052604090819020805460ff1916600190811790915590517fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b2916113cf9161416d565b60405180910390a25050565b60006113e5612c53565b6101608401516001600160a01b038116331461144f5760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b60648201526084016106a6565b60016001600160a01b038216600090815260cb602052604090205460ff16600381111561147e5761147e614412565b146114d55760405162461bcd60e51b815260206004820152602160248201527f524d206d6f64756c65206e6f7420666f756e64206f72206e6f742061637469766044820152606560f81b60648201526084016106a6565b6115006bffffffffffffffffffffffff84166bffffffffffffffffffffffff19606084901b166143c0565b855261150b85613267565b60cc600087600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561156157600080fd5b505afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115999190613dcc565b60405163e3638ea360e01b81529091506001600160a01b0382169063e3638ea3906115c8908990600401614356565b600060405180830381600087803b1580156115e257600080fd5b505af11580156115f6573d6000803e3d6000fd5b50508751604051632851206560e21b81526001600160a01b03898116600483015260248201929092527f0000000000000000000000000000000000000000000000000000000000000000909116925063a14481949150604401600060405180830381600087803b15801561166957600080fd5b505af115801561167d573d6000803e3d6000fd5b50505060c08701516116be91506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169087908490612c9b565b610140860151156117765761177685826001600160a01b0316637b83037b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e9190613dcc565b6101408901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b6101208601511561182e5761182e85826001600160a01b031663536ebbfc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117be57600080fd5b505afa1580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f69190613dcc565b6101208901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b60c95460e0870151611872916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169289929190911690612c9b565b60008661010001511180156119095750816001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f39190613dcc565b6001600160a01b0316856001600160a01b031614155b156119bb576119bb85836001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b15801561194b57600080fd5b505afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190613dcc565b6101008901516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612c9b565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b876040516119f49190614356565b60405180910390a25050835190505b9392505050565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611a8057600080fd5b505afa158015611a94573d6000803e3d6000fd5b5050506001600160a01b038316600090815260ca602052604081205460ff169150816003811115611ac757611ac7614412565b14611b145760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c00000000000060448201526064016106a6565b306001600160a01b0316836001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b5757600080fd5b505afa158015611b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8f9190613dcc565b6001600160a01b031614611be55760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c000060448201526064016106a6565b6001600160a01b038316600081815260ca602052604090819020805460ff1916600190811790915590517f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c91610d629161416d565b600054610100900460ff1615808015611c5a5750600054600160ff909116105b80611c745750303b158015611c74575060005460ff166001145b611c905760405162461bcd60e51b81526004016106a690614260565b6000805460ff191660011790558015611cb3576000805461ff0019166101001790555b611cbb613297565b611cc36132be565b611ccc826132ed565b80156107f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6040516312d9a6ad60e01b81527fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c060048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611d9e57600080fd5b505afa158015611db2573d6000803e3d6000fd5b5060009250611dbf915050565b6001600160a01b038316600090815260cb602052604090205460ff166003811115611dec57611dec614412565b1415611e325760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b60448201526064016106a6565b816001600160a01b0316637ff8bf256040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6b57600080fd5b505afa158015611e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea39190613eae565b15611f035760405162461bcd60e51b815260206004820152602a60248201527f43616e27742072656d6f76652061206d6f64756c6520776974682061637469766044820152696520706f6c696369657360b01b60648201526084016106a6565b6001600160a01b038216600081815260cb6020526040808220805460ff19169055517fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b2916113cf9161416d565b6040516312d9a6ad60e01b815260008051602061448283398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611fc657600080fd5b505afa158015611fda573d6000803e3d6000fd5b505060c980546001600160a01b0319166001600160a01b038616908117909155604051908152600192507fb6bdbd44472629fc24a00b6f4ee3348b72c9eff333d0e9c16d78c49da1323c8f91506020016113cf565b6000612039612c53565b6001600160a01b038316600090815260ca602052604090205460ff16600181600381111561206957612069614412565b14806120865750600281600381111561208457612084614412565b145b6120e45760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b60648201526084016106a6565b60405163f3fef3a360e01b8152336004820181905260248201859052906001600160a01b0386169063f3fef3a390604401602060405180830381600087803b15801561212f57600080fd5b505af1158015612143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121679190613eae565b925050505b92915050565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156121ff57600080fd5b505afa158015612213573d6000803e3d6000fd5b5060009250612220915050565b6001600160a01b038516600090815260cb602052604090205460ff16600381111561224d5761224d614412565b14156122935760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b60448201526064016106a6565b60018360038111156122a7576122a7614412565b14801561235a5750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561232257600080fd5b505afa158015612336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235a9190613e91565b806124275750600383600381111561237457612374614412565b1480156124275750604051632474521560e21b81526000805160206144c983398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156123ef57600080fd5b505afa158015612403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124279190613e91565b806124f45750600283600381111561244157612441614412565b1480156124f45750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156124bc57600080fd5b505afa1580156124d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f49190613e91565b6125105760405162461bcd60e51b81526004016106a6906142ae565b6001600160a01b038416600090815260cb60205260409020805484919060ff1916600183600381111561254557612545614412565b0217905550836001600160a01b03167fd53eb6b3f6b4537d457cf1ef5020afc3e8cef610aa1472d19e442e9a62fef4b284604051612583919061416d565b60405180910390a250505050565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561261e57600080fd5b505afa158015612632573d6000803e3d6000fd5b5050506001600160a01b038516600090815260ca602052604081205460ff16915081600381111561266557612665614412565b14156126a65760405162461bcd60e51b815260206004820152601060248201526f11551bdad95b881b9bdd08199bdd5b9960821b60448201526064016106a6565b60018460038111156126ba576126ba614412565b14801561276d5750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561273557600080fd5b505afa158015612749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276d9190613e91565b8061283a5750600384600381111561278757612787614412565b14801561283a5750604051632474521560e21b81526000805160206144c983398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561280257600080fd5b505afa158015612816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283a9190613e91565b806129075750600284600381111561285457612854614412565b1480156129075750604051632474521560e21b815260008051602061448283398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b1580156128cf57600080fd5b505afa1580156128e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129079190613e91565b6129235760405162461bcd60e51b81526004016106a6906142ae565b6001600160a01b038516600090815260ca60205260409020805485919060ff1916600183600381111561295857612958614412565b0217905550846001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c85604051612996919061416d565b60405180910390a25050505050565b6129ad612c53565b6107f36129bf36849003840184613fd6565b826129cb5760006129d1565b83602001355b6000612cf5565b60405163c5b8f5cf60e01b81526000805160206144c9833981519152600482018190526000805160206144828339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b158015612a6557600080fd5b505afa158015612a79573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612aba57612ab583613436565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612af357600080fd5b505afa925050508015612b23575060408051601f3d908101601f19168201909252612b2091810190613eae565b60015b612b865760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106a6565b6000805160206144628339815191528114612bf55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106a6565b50612ab58383836134d2565b612c096134f7565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff1615612c995760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016106a6565b565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610928908590613540565b612cfe83613612565b6101608301518180612d1857506001600160a01b03811633145b612d645760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c696369657360448201526064016106a6565b821580612d7c575042846101a0015164ffffffffff16115b612dc85760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c696379000000000000000060448201526064016106a6565b60016001600160a01b038216600090815260cb602052604090205460ff166003811115612df757612df7614412565b1480612e2f575060026001600160a01b038216600090815260cb602052604090205460ff166003811115612e2d57612e2d614412565b145b612ea15760405162461bcd60e51b815260206004820152603a60248201527f4d6f64756c65206d75737420626520616374697665206f72206465707265636160448201527f74656420746f2070726f63657373207265736f6c7574696f6e7300000000000060648201526084016106a6565b8360200151831115612eee5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b60448201526064016106a6565b82158015906130745784516040516331a9108f60e11b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e91612f4a9160040190815260200190565b60206040518083038186803b158015612f6257600080fd5b505afa158015612f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f9a9190613dcc565b9050826001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fd557600080fd5b505afa158015612fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300d9190613dcc565b6001600160a01b0316639d8c5ee78288886040518463ffffffff1660e01b815260040161303c93929190614140565b600060405180830381600087803b15801561305657600080fd5b505af115801561306a573d6000803e3d6000fd5b5050505050613143565b816001600160a01b03166373a952e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ad57600080fd5b505afa1580156130c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e59190613dcc565b6001600160a01b031663c7a9c70d866040518263ffffffff1660e01b81526004016131109190614356565b600060405180830381600087803b15801561312a57600080fd5b505af115801561313e573d6000803e3d6000fd5b505050505b6020850151604051636a448ef160e01b815260048101919091526001600160a01b03831690636a448ef190602401600060405180830381600087803b15801561318b57600080fd5b505af115801561319f573d6000803e3d6000fd5b5050505084600001518561016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e866040516131e891815260200190565b60405180910390a38451600090815260cc602052604081205583156132185784516132139085613678565b613223565b845161322390613876565b5050505050565b613232612c53565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612c363390565b60008160405160200161327a9190614356565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16612c995760405162461bcd60e51b81526004016106a69061430b565b600054610100900460ff166132e55760405162461bcd60e51b81526004016106a69061430b565b612c996139bc565b600054610100900460ff161580801561330d5750600054600160ff909116105b806133275750303b158015613327575060005460ff166001145b6133435760405162461bcd60e51b81526004016106a690614260565b6000805460ff191660011790558015613366576000805461ff0019166101001790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156133c157600080fd5b505af11580156133d5573d6000803e3d6000fd5b505060c980546001600160a01b0319166001600160a01b038616179055505080156107f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611d0a565b6001600160a01b0381163b6134a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106a6565b60008051602061446283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6134db836139ef565b6000825111806134e85750805b15612ab5576109288383613a2f565b60335460ff16612c995760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016106a6565b6000613595826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613b1a9092919063ffffffff16565b805190915015612ab557808060200190518101906135b39190613e91565b612ab55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106a6565b80511580159061363957508051600090815260cc602052604090205461363782613267565b145b6107435760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b60448201526064016106a6565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156136db57600080fd5b505afa1580156136ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137139190613dcc565b90506001600160a01b0381163b61372957505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b15801561378e57600080fd5b505af19250505080156137be575060408051601f3d908101601f191682019092526137bb91810190613ec7565b60015b613806573d8080156137ec576040519150601f19603f3d011682016040523d82523d6000602084013e6137f1565b606091505b5080516137fe5750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b146109285760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b60648201526084016106a6565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156138d957600080fd5b505afa1580156138ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139119190613dcc565b90506001600160a01b0381163b613926575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b15801561398457600080fd5b505af19250505080156139b4575060408051601f3d908101601f191682019092526139b191810190613ec7565b60015b612ab5575050565b600054610100900460ff166139e35760405162461bcd60e51b81526004016106a69061430b565b6033805460ff19169055565b6139f881613436565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613a975760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106a6565b600080846001600160a01b031684604051613ab29190614124565b600060405180830381855af49150503d8060008114613aed576040519150601f19603f3d011682016040523d82523d6000602084013e613af2565b606091505b509150915061216782826040518060600160405280602781526020016144a260279139613b31565b6060613b298484600085613b6a565b949350505050565b60608315613b40575081611a03565b825115613b505782518084602001fd5b8160405162461bcd60e51b81526004016106a69190614195565b606082471015613bcb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106a6565b6001600160a01b0385163b613c225760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a6565b600080866001600160a01b03168587604051613c3e9190614124565b60006040518083038185875af1925050503d8060008114613c7b576040519150601f19603f3d011682016040523d82523d6000602084013e613c80565b606091505b5091509150613c90828286613b31565b979650505050505050565b8035613ca68161443e565b919050565b803560048110613ca657600080fd5b60006101c08284031215613ccd57600080fd5b50919050565b60006101c08284031215613ce657600080fd5b613cee614365565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160613d6c818401613c9b565b90820152610180613d7e838201613d9a565b908201526101a0613d90838201613d9a565b9082015292915050565b803564ffffffffff81168114613ca657600080fd5b600060208284031215613dc157600080fd5b8135611a038161443e565b600060208284031215613dde57600080fd5b8151611a038161443e565b60008060408385031215613dfc57600080fd5b8235613e078161443e565b915060208381013567ffffffffffffffff80821115613e2557600080fd5b818601915086601f830112613e3957600080fd5b813581811115613e4b57613e4b614428565b613e5d601f8201601f1916850161438f565b91508082528784828501011115613e7357600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215613ea357600080fd5b8151611a0381614453565b600060208284031215613ec057600080fd5b5051919050565b600060208284031215613ed957600080fd5b81516001600160e01b031981168114611a0357600080fd5b60008060408385031215613f0457600080fd5b8235613f0f8161443e565b9150613f1d60208401613cab565b90509250929050565b60008060408385031215613f3957600080fd5b8235613f448161443e565b946020939093013593505050565b60006101c08284031215613f6557600080fd5b611a038383613cba565b6000806101e08385031215613f8357600080fd5b613f8d8484613cba565b91506101c0830135613f9e81614453565b809150509250929050565b6000806101e08385031215613fbd57600080fd5b613fc78484613cba565b946101c0939093013593505050565b60006101c08284031215613fe957600080fd5b611a038383613cd3565b6000806000610200848603121561400957600080fd5b6140138585613cd3565b92506101c08401356140248161443e565b91506101e08401356bffffffffffffffffffffffff8116811461404657600080fd5b809150509250925092565b60006020828403121561406357600080fd5b611a0382613d9a565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516140f5828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff811684830152610928565b600082516141368184602087016143e6565b9190910192915050565b6001600160a01b0384168152610200810161415e602083018561406c565b826101e0830152949350505050565b602081016004831061418f57634e487b7160e01b600052602160045260246000fd5b91905290565b60208152600082518060208401526141b48160408501602087016143e6565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252603e908201527f4f6e6c7920475541524449414e2063616e2073757370656e64202f204f6e6c7960408201527f204c4556454c312063616e2061637469766174652f6465707265636174650000606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6101c0810161216c828461406c565b6040516101c0810167ffffffffffffffff8111828210171561438957614389614428565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156143b8576143b8614428565b604052919050565b600082198211156143e157634e487b7160e01b600052601160045260246000fd5b500190565b60005b838110156144015781810151838201526020016143e9565b838111156109285750506000910152565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461074357600080fd5b801515811461074357600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212208985fee0acad61d24a80030a55277883e1e09496993b188dea7655ae09f411b264736f6c63430008060033",
|
|
921
1054
|
"linkReferences": {},
|
|
922
1055
|
"deployedLinkReferences": {}
|
|
923
1056
|
}
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"inputs": [
|
|
41
41
|
{
|
|
42
42
|
"indexed": true,
|
|
43
|
-
"internalType": "enum
|
|
43
|
+
"internalType": "enum IAccessManager.GovernanceActions",
|
|
44
44
|
"name": "action",
|
|
45
45
|
"type": "uint8"
|
|
46
46
|
},
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"inputs": [
|
|
60
60
|
{
|
|
61
61
|
"indexed": true,
|
|
62
|
-
"internalType": "enum
|
|
62
|
+
"internalType": "enum IAccessManager.GovernanceActions",
|
|
63
63
|
"name": "action",
|
|
64
64
|
"type": "uint8"
|
|
65
65
|
},
|