@venusprotocol/venus-protocol 10.1.0-slim-dev.6 → 10.1.0-slim-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.json +2 -2
  2. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VBNBAdminStorage.json +2 -2
  3. package/artifacts/contracts/Comptroller/ComptrollerInterface.sol/ComptrollerInterface.json +65 -0
  4. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV10Storage.json +2 -2
  5. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV11Storage.json +2 -2
  6. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV12Storage.json +2 -2
  7. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV13Storage.json +2 -2
  8. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV14Storage.json +2 -2
  9. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV15Storage.json +2 -2
  10. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV16Storage.json +2 -2
  11. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV17Storage.json +2 -2
  12. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV18Storage.json +736 -0
  13. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV1Storage.json +2 -2
  14. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV2Storage.json +2 -2
  15. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV3Storage.json +2 -2
  16. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV4Storage.json +2 -2
  17. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV5Storage.json +2 -2
  18. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV6Storage.json +2 -2
  19. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV7Storage.json +2 -2
  20. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV8Storage.json +2 -2
  21. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV9Storage.json +2 -2
  22. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/UnitrollerAdminStorage.json +2 -2
  23. package/artifacts/contracts/Comptroller/Diamond/Diamond.sol/Diamond.json +34 -2
  24. package/artifacts/contracts/Comptroller/Diamond/DiamondConsolidated.sol/DiamondConsolidated.json +310 -2
  25. package/artifacts/contracts/Comptroller/Diamond/facets/FacetBase.sol/FacetBase.json +128 -2
  26. package/artifacts/contracts/Comptroller/Diamond/facets/FlashLoanFacet.sol/FlashLoanFacet.json +1208 -0
  27. package/artifacts/contracts/Comptroller/Diamond/facets/MarketFacet.sol/MarketFacet.json +128 -2
  28. package/artifacts/contracts/Comptroller/Diamond/facets/PolicyFacet.sol/PolicyFacet.json +128 -2
  29. package/artifacts/contracts/Comptroller/Diamond/facets/RewardFacet.sol/RewardFacet.json +128 -2
  30. package/artifacts/contracts/Comptroller/Diamond/facets/SetterFacet.sol/SetterFacet.json +197 -2
  31. package/artifacts/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol/XVSRewardsHelper.json +128 -2
  32. package/artifacts/contracts/Comptroller/Diamond/interfaces/IFlashLoanFacet.sol/IFlashLoanFacet.json +44 -0
  33. package/artifacts/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol/ISetterFacet.json +31 -0
  34. package/artifacts/contracts/Comptroller/Unitroller.sol/Unitroller.json +96 -2
  35. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV10StorageR1.json +2 -2
  36. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV11StorageR1.json +2 -2
  37. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV12StorageR1.json +2 -2
  38. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV13StorageR1.json +2 -2
  39. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV14StorageR1.json +2 -2
  40. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV15StorageR1.json +2 -2
  41. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV16StorageR1.json +2 -2
  42. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV1StorageR1.json +2 -2
  43. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV2StorageR1.json +2 -2
  44. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV3StorageR1.json +2 -2
  45. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV4StorageR1.json +2 -2
  46. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV5StorageR1.json +2 -2
  47. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV6StorageR1.json +2 -2
  48. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV7StorageR1.json +2 -2
  49. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV8StorageR1.json +2 -2
  50. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV9StorageR1.json +2 -2
  51. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/UnitrollerAdminStorageR1.json +2 -2
  52. package/artifacts/contracts/Comptroller/legacy/Diamond/DiamondConsolidatedR1.sol/DiamondConsolidatedR1.json +96 -2
  53. package/artifacts/contracts/Comptroller/legacy/Diamond/DiamondR1.sol/DiamondR1.json +2 -2
  54. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/FacetBaseR1.sol/FacetBaseR1.json +96 -2
  55. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/MarketFacetR1.sol/MarketFacetR1.json +96 -2
  56. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/PolicyFacetR1.sol/PolicyFacetR1.json +96 -2
  57. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/RewardFacetR1.sol/RewardFacetR1.json +96 -2
  58. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/SetterFacetR1.sol/SetterFacetR1.json +96 -2
  59. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/XVSRewardsHelperR1.sol/XVSRewardsHelperR1.json +96 -2
  60. package/artifacts/contracts/FlashLoan/interfaces/IFlashLoanReceiver.sol/IFlashLoanReceiver.json +60 -0
  61. package/artifacts/contracts/Lens/ComptrollerLens.sol/ComptrollerLens.json +96 -2
  62. package/artifacts/contracts/Lens/SnapshotLens.sol/SnapshotLens.json +2 -2
  63. package/artifacts/contracts/Lens/VenusLens.sol/VenusLens.json +2 -2
  64. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
  65. package/artifacts/contracts/Tokens/VAI/VAIController.sol/VAIController.json +2 -2
  66. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG1.json +2 -2
  67. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG2.json +2 -2
  68. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG3.json +2 -2
  69. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG4.json +2 -2
  70. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIUnitrollerAdminStorage.json +2 -2
  71. package/artifacts/contracts/Tokens/VAI/VAIUnitroller.sol/VAIUnitroller.json +2 -2
  72. package/artifacts/contracts/Tokens/VTokens/VBNB.sol/VBNB.json +372 -2
  73. package/artifacts/contracts/Tokens/VTokens/VBep20.sol/VBep20.json +372 -2
  74. package/artifacts/contracts/Tokens/VTokens/VBep20Delegate.sol/VBep20Delegate.json +372 -2
  75. package/artifacts/contracts/Tokens/VTokens/VBep20Delegator.sol/VBep20Delegator.json +229 -2
  76. package/artifacts/contracts/Tokens/VTokens/VBep20Immutable.sol/VBep20Immutable.json +372 -2
  77. package/artifacts/contracts/Tokens/VTokens/VToken.sol/VToken.json +370 -0
  78. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenInterface.json +227 -0
  79. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenStorage.json +54 -2
  80. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenStorageBase.json +2 -2
  81. package/artifacts/contracts/Tokens/test/IERC20NonStandard.sol/IERC20NonStandard.json +182 -0
  82. package/artifacts/contracts/Utils/ErrorReporter.sol/ComptrollerErrorReporter.json +96 -2
  83. package/artifacts/contracts/Utils/ErrorReporter.sol/TokenErrorReporter.json +2 -2
  84. package/artifacts/contracts/Utils/ErrorReporter.sol/VAIControllerErrorReporter.json +2 -2
  85. package/artifacts/contracts/Utils/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +16 -0
  86. package/artifacts/contracts/Utils/TransientSlot.sol/TransientSlot.json +10 -0
  87. package/artifacts/contracts/test/BadFlashLoanReceiver.sol/BadFlashLoanReceiver.json +112 -0
  88. package/artifacts/contracts/test/BorrowDebtFlashLoanReceiver.sol/BorrowDebtFlashLoanReceiver.json +112 -0
  89. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +310 -2
  90. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +2 -2
  91. package/artifacts/contracts/test/ComptrollerMock.sol/ComptrollerMock.json +310 -2
  92. package/artifacts/contracts/test/ComptrollerMockR1.sol/ComptrollerMockR1.json +96 -2
  93. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +310 -2
  94. package/artifacts/contracts/test/DiamondHarness.sol/DiamondHarness.json +34 -2
  95. package/artifacts/contracts/test/EvilXDelegator.sol/EvilXDelegator.json +253 -2
  96. package/artifacts/contracts/test/EvilXToken.sol/EvilXToken.json +372 -2
  97. package/artifacts/contracts/test/EvilXToken.sol/VBep20Scenario.json +372 -2
  98. package/artifacts/contracts/test/FlashLoanReceiverBase.sol/FlashLoanReceiverBase.json +73 -0
  99. package/artifacts/contracts/test/InsufficientRepaymentFlashLoanReceiver.sol/InsufficientRepaymentFlashLoanReceiver.json +112 -0
  100. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
  101. package/artifacts/contracts/test/MockFlashLoanReceiver.sol/MockFlashLoanReceiver.json +112 -0
  102. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.json +2 -2
  103. package/artifacts/contracts/test/MockVBNB.sol/MockVBNB.json +372 -2
  104. package/artifacts/contracts/test/SimplePriceOracle.sol/SimplePriceOracle.json +2 -2
  105. package/artifacts/contracts/test/VAIControllerHarness.sol/VAIControllerHarness.json +2 -2
  106. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateHarness.json +372 -2
  107. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateScenario.json +372 -2
  108. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateScenarioExtra.json +372 -2
  109. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegatorScenario.json +213 -42
  110. package/artifacts/contracts/test/VBep20Harness.sol/VBep20Harness.json +372 -2
  111. package/artifacts/contracts/test/VBep20Harness.sol/VBep20Scenario.json +372 -2
  112. package/artifacts/contracts/test/VBep20Harness.sol/VEvil.json +372 -2
  113. package/artifacts/contracts/test/VBep20MockDelegate.sol/VBep20MockDelegate.json +372 -2
  114. package/deployments/bscmainnet_addresses.json +8 -7
  115. package/deployments/bsctestnet_addresses.json +8 -7
  116. package/package.json +3 -2
@@ -3,61 +3,68 @@
3
3
  "contractName": "VBep20DelegatorScenario",
4
4
  "sourceName": "contracts/test/VBep20Harness.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "FlashLoanAlreadyActive",
9
+ "type": "error"
10
+ },
6
11
  {
7
12
  "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "underlying_",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "contract ComptrollerInterface",
15
- "name": "comptroller_",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "contract InterestRateModelV8",
20
- "name": "interestRateModel_",
21
- "type": "address"
22
- },
23
13
  {
24
14
  "internalType": "uint256",
25
- "name": "initialExchangeRateMantissa_",
15
+ "name": "fee",
26
16
  "type": "uint256"
27
17
  },
28
18
  {
29
- "internalType": "string",
30
- "name": "name_",
31
- "type": "string"
32
- },
33
- {
34
- "internalType": "string",
35
- "name": "symbol_",
36
- "type": "string"
37
- },
19
+ "internalType": "uint256",
20
+ "name": "maxFee",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "FlashLoanFeeTooHigh",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
38
29
  {
39
- "internalType": "uint8",
40
- "name": "decimals_",
41
- "type": "uint8"
30
+ "internalType": "uint256",
31
+ "name": "fee",
32
+ "type": "uint256"
42
33
  },
43
34
  {
44
- "internalType": "address payable",
45
- "name": "admin_",
46
- "type": "address"
47
- },
35
+ "internalType": "uint256",
36
+ "name": "maxFee",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "FlashLoanProtocolShareTooHigh",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "InsufficientCash",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
48
50
  {
49
- "internalType": "address",
50
- "name": "implementation_",
51
- "type": "address"
51
+ "internalType": "uint256",
52
+ "name": "actualAmount",
53
+ "type": "uint256"
52
54
  },
53
55
  {
54
- "internalType": "bytes",
55
- "name": "becomeImplementationData",
56
- "type": "bytes"
56
+ "internalType": "uint256",
57
+ "name": "requiredTotalFee",
58
+ "type": "uint256"
57
59
  }
58
60
  ],
59
- "stateMutability": "nonpayable",
60
- "type": "constructor"
61
+ "name": "InsufficientRepayment",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "InvalidComptroller",
67
+ "type": "error"
61
68
  },
62
69
  {
63
70
  "anonymous": false,
@@ -146,6 +153,56 @@
146
153
  "name": "Borrow",
147
154
  "type": "event"
148
155
  },
156
+ {
157
+ "anonymous": false,
158
+ "inputs": [
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "oldFlashLoanFeeMantissa",
163
+ "type": "uint256"
164
+ },
165
+ {
166
+ "indexed": false,
167
+ "internalType": "uint256",
168
+ "name": "newFlashLoanFeeMantissa",
169
+ "type": "uint256"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "uint256",
174
+ "name": "oldFlashLoanProtocolShare",
175
+ "type": "uint256"
176
+ },
177
+ {
178
+ "indexed": false,
179
+ "internalType": "uint256",
180
+ "name": "newFlashLoanProtocolShare",
181
+ "type": "uint256"
182
+ }
183
+ ],
184
+ "name": "FlashLoanFeeUpdated",
185
+ "type": "event"
186
+ },
187
+ {
188
+ "anonymous": false,
189
+ "inputs": [
190
+ {
191
+ "indexed": false,
192
+ "internalType": "bool",
193
+ "name": "previousStatus",
194
+ "type": "bool"
195
+ },
196
+ {
197
+ "indexed": false,
198
+ "internalType": "bool",
199
+ "name": "newStatus",
200
+ "type": "bool"
201
+ }
202
+ ],
203
+ "name": "FlashLoanStatusChanged",
204
+ "type": "event"
205
+ },
149
206
  {
150
207
  "anonymous": false,
151
208
  "inputs": [
@@ -590,6 +647,68 @@
590
647
  "name": "Transfer",
591
648
  "type": "event"
592
649
  },
650
+ {
651
+ "anonymous": false,
652
+ "inputs": [
653
+ {
654
+ "indexed": true,
655
+ "internalType": "address",
656
+ "name": "asset",
657
+ "type": "address"
658
+ },
659
+ {
660
+ "indexed": true,
661
+ "internalType": "address",
662
+ "name": "sender",
663
+ "type": "address"
664
+ },
665
+ {
666
+ "indexed": false,
667
+ "internalType": "uint256",
668
+ "name": "amount",
669
+ "type": "uint256"
670
+ },
671
+ {
672
+ "indexed": false,
673
+ "internalType": "uint256",
674
+ "name": "totalFee",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "indexed": false,
679
+ "internalType": "uint256",
680
+ "name": "protocolFee",
681
+ "type": "uint256"
682
+ }
683
+ ],
684
+ "name": "TransferInUnderlyingFlashLoan",
685
+ "type": "event"
686
+ },
687
+ {
688
+ "anonymous": false,
689
+ "inputs": [
690
+ {
691
+ "indexed": false,
692
+ "internalType": "address",
693
+ "name": "asset",
694
+ "type": "address"
695
+ },
696
+ {
697
+ "indexed": false,
698
+ "internalType": "address",
699
+ "name": "receiver",
700
+ "type": "address"
701
+ },
702
+ {
703
+ "indexed": false,
704
+ "internalType": "uint256",
705
+ "name": "amount",
706
+ "type": "uint256"
707
+ }
708
+ ],
709
+ "name": "TransferOutUnderlyingFlashLoan",
710
+ "type": "event"
711
+ },
593
712
  {
594
713
  "stateMutability": "nonpayable",
595
714
  "type": "fallback"
@@ -1055,6 +1174,45 @@
1055
1174
  "stateMutability": "view",
1056
1175
  "type": "function"
1057
1176
  },
1177
+ {
1178
+ "inputs": [],
1179
+ "name": "flashLoanAmount",
1180
+ "outputs": [
1181
+ {
1182
+ "internalType": "uint256",
1183
+ "name": "",
1184
+ "type": "uint256"
1185
+ }
1186
+ ],
1187
+ "stateMutability": "view",
1188
+ "type": "function"
1189
+ },
1190
+ {
1191
+ "inputs": [],
1192
+ "name": "flashLoanFeeMantissa",
1193
+ "outputs": [
1194
+ {
1195
+ "internalType": "uint256",
1196
+ "name": "",
1197
+ "type": "uint256"
1198
+ }
1199
+ ],
1200
+ "stateMutability": "view",
1201
+ "type": "function"
1202
+ },
1203
+ {
1204
+ "inputs": [],
1205
+ "name": "flashLoanProtocolShareMantissa",
1206
+ "outputs": [
1207
+ {
1208
+ "internalType": "uint256",
1209
+ "name": "",
1210
+ "type": "uint256"
1211
+ }
1212
+ ],
1213
+ "stateMutability": "view",
1214
+ "type": "function"
1215
+ },
1058
1216
  {
1059
1217
  "inputs": [
1060
1218
  {
@@ -1128,6 +1286,19 @@
1128
1286
  "stateMutability": "view",
1129
1287
  "type": "function"
1130
1288
  },
1289
+ {
1290
+ "inputs": [],
1291
+ "name": "isFlashLoanEnabled",
1292
+ "outputs": [
1293
+ {
1294
+ "internalType": "bool",
1295
+ "name": "",
1296
+ "type": "bool"
1297
+ }
1298
+ ],
1299
+ "stateMutability": "view",
1300
+ "type": "function"
1301
+ },
1131
1302
  {
1132
1303
  "inputs": [],
1133
1304
  "name": "isVToken",
@@ -1572,8 +1743,8 @@
1572
1743
  "type": "function"
1573
1744
  }
1574
1745
  ],
1575
- "bytecode": "0x608060405234801561000f575f80fd5b50604051611ec6380380611ec683398101604081905261002e916103d6565b8989898989898989898933600360016101000a8154816001600160a01b0302191690836001600160a01b031602179055506100b3828b8b8b8b8b8b8b60405160240161008097969594939291906104f3565b60408051601f198184030181529190526020810180516001600160e01b03908116631a31d46560e01b179091526100fe16565b506100bf825f83610171565b5050600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055506105869f50505050505050505050505050505050565b60605f80846001600160a01b03168460405161011a9190610557565b5f60405180830381855af49150503d805f8114610152576040519150601f19603f3d011682016040523d82523d5f602084013e610157565b606091505b50909250905081610169573d60208201fd5b949350505050565b60035461010090046001600160a01b031633146101fa5760405162461bcd60e51b815260206004820152603960248201527f56426570323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e00000000000000606482015260840160405180910390fd5b8115610239576040805160048152602481019091526020810180516001600160e01b0390811663153ab50560e01b1790915261023791906102f016565b505b601280546001600160a01b038581166001600160a01b03198316179092556040519116906102a29061026f90849060240161056d565b60408051601f198184030181529190526020810180516001600160e01b03908116630adccee560e31b179091526102f016565b50601254604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b601254606090610309906001600160a01b0316836100fe565b92915050565b80516001600160a01b0381168114610325575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261034d575f80fd5b81516001600160401b03808211156103675761036761032a565b604051601f8301601f19908116603f0116810190828211818310171561038f5761038f61032a565b816040528381528660208588010111156103a7575f80fd5b8360208701602083015e5f602085830101528094505050505092915050565b805160ff81168114610325575f80fd5b5f805f805f805f805f806101408b8d0312156103f0575f80fd5b6103f98b61030f565b995061040760208c0161030f565b985061041560408c0161030f565b60608c015160808d015191995097506001600160401b0380821115610438575f80fd5b6104448e838f0161033e565b975060a08d0151915080821115610459575f80fd5b6104658e838f0161033e565b965061047360c08e016103c6565b955061048160e08e0161030f565b94506104906101008e0161030f565b93506101208d01519150808211156104a6575f80fd5b506104b38d828e0161033e565b9150509295989b9194979a5092959850565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0388811682528781166020830152861660408201526060810185905260e0608082018190525f9061052d908301866104c5565b82810360a084015261053f81866104c5565b91505060ff831660c083015298975050505050505050565b5f82518060208501845e5f920191825250919050565b602081525f61057f60208301846104c5565b9392505050565b611933806105935f395ff3fe608060405234801561000f575f80fd5b5060043610610381575f3560e01c8063852a12e3116101dc578063b71d1a0c1161010d578063e9a44fd9116100ab578063f5e3c4621161007a578063f5e3c462146107a2578063f851a440146107b5578063f8f9da28146107cd578063fca7820b146107d557610381565b8063e9a44fd914610761578063e9c714f214610774578063f2b3abbd1461077c578063f3fdb15a1461078f57610381565b8063c5ebeaec116100e7578063c5ebeaec1461071f578063d1109c2f14610732578063db006a751461073b578063dd62ed3e1461074e57610381565b8063b71d1a0c146106d1578063bd6d894d146106e4578063c37f68e2146106ec57610381565b8063a9059cbb1161017a578063ae9d70b011610154578063ae9d70b014610690578063b0e0bf2a14610698578063b2a02ff1146106ab578063b4a0bdf3146106be57610381565b8063a9059cbb1461066b578063aa5af0fd1461067e578063ae96f1411461068757610381565b806395dd9193116101b657806395dd91931461062a578063977e19e91461063d578063a0712d6814610650578063a6afed951461066357610381565b8063852a12e3146106065780638f840ddd1461061957806395d89b411461062257610381565b80633b1d21a2116102b65780635c60da1b116102545780636c540baf1161022e5780636c540baf146105cf5780636f307dc3146105d857806370a08231146105eb57806373acee98146105fe57610381565b80635c60da1b146105965780635fe3b567146105a9578063601a0bf1146105bc57610381565b80634487152f116102905780634487152f146105545780634576b5db1461056757806347bd37181461057a578063555bcc401461058357610381565b80633b1d21a2146105315780633d9ea3a1146105395780633e9410101461054157610381565b8063182df0f5116103235780632608f818116102fd5780632608f818146104c157806326782247146104d4578063313ce567146104ff5780633af9e6691461051e57610381565b8063182df0f51461049357806323323e031461049b57806323b872dd146104ae57610381565b80630e7527021161035f5780630e7527021461044d578063173b99041461046e57806317bfdfbc1461047757806318160ddd1461048a57610381565b806306fdde03146103f95780630933c1ed14610417578063095ea7b31461042a575b6012546040515f916001600160a01b0316906103a09083903690611504565b5f60405180830381855af49150503d805f81146103d8576040519150601f19603f3d011682016040523d82523d5f602084013e6103dd565b606091505b505090506040513d5f823e8180156103f3573d82f35b3d82fd5b005b6104016107e8565b60405161040e9190611541565b60405180910390f35b610401610425366004611611565b610874565b61043d61043836600461165a565b610893565b604051901515815260200161040e565b61046061045b366004611684565b610904565b60405190815260200161040e565b61046060085481565b61046061048536600461169b565b610968565b610460600d5481565b6104606109b4565b6104606104a936600461165a565b610a06565b61043d6104bc3660046116b6565b610a6f565b6104606104cf36600461165a565b610ae9565b6004546104e7906001600160a01b031681565b6040516001600160a01b03909116815260200161040e565b60035461050c9060ff1681565b60405160ff909116815260200161040e565b61046061052c36600461169b565b610b3c565b610460610b88565b61043d600181565b61046061054f366004611684565b610bbe565b610401610562366004611611565b610c05565b61046061057536600461169b565b610cbc565b610460600b5481565b6103f7610591366004611701565b610d08565b6012546104e7906001600160a01b031681565b6005546104e7906001600160a01b031681565b6104606105ca366004611684565b610e7e565b61046060095481565b6011546104e7906001600160a01b031681565b6104606105f936600461169b565b610ec5565b610460610f11565b610460610614366004611684565b610f47565b610460600c5481565b610401610f8e565b61046061063836600461169b565b610f9b565b6103f761064b366004611684565b600b55565b61046061065e366004611684565b610fe7565b61046061102e565b61043d61067936600461165a565b611064565b610460600a5481565b61046060145481565b6104606110b7565b6103f76106a6366004611684565b600c55565b6104606106b93660046116b6565b6110ed565b6016546104e7906001600160a01b031681565b6104606106df36600461169b565b61115e565b6104606111aa565b6106ff6106fa36600461169b565b6111e0565b60408051948552602085019390935291830152606082015260800161040e565b61046061072d366004611684565b61125d565b61046060135481565b610460610749366004611684565b6112a4565b61046061075c36600461175f565b6112eb565b6015546104e7906001600160a01b031681565b61046061133f565b61046061078a36600461169b565b611375565b6006546104e7906001600160a01b031681565b6104606107b0366004611796565b6113c1565b6003546104e79061010090046001600160a01b031681565b61046061141c565b6104606107e3366004611684565b611452565b600180546107f5906117d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610821906117d5565b801561086c5780601f106108435761010080835404028352916020019161086c565b820191905f5260205f20905b81548152906001019060200180831161084f57829003601f168201915b505050505081565b60125460609061088d906001600160a01b031683611499565b92915050565b6040516001600160a01b0383166024820152604481018290525f9081906108e69060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b179052610874565b9050808060200190518101906108fc919061180d565b949350505050565b5f8061094b8360405160240161091c91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663073a938160e11b179052610874565b9050808060200190518101906109619190611828565b9392505050565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166305eff7ef60e21b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663182df0f560e01b1790525f9081906109ea90610c05565b905080806020019051810190610a009190611828565b91505090565b6040516001600160a01b0383166024820152604481018290525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b03166323323e0360e01b179052610874565b9050808060200190518101906108fc9190611828565b6040516001600160a01b03808516602483015283166044820152606481018290525f908190610aca9060840160408051601f198184030181529190526020810180516001600160e01b03166323b872dd60e01b179052610874565b905080806020019051810190610ae0919061180d565b95945050505050565b6040516001600160a01b0383166024820152604481018290525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b03166304c11f0360e31b179052610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316633af9e66960e01b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316631d8e90d160e11b1790525f9081906109ea90610c05565b5f8061094b83604051602401610bd691815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166303e9410160e41b179052610874565b60605f80306001600160a01b031684604051602401610c249190611541565b60408051601f198184030181529181526020820180516001600160e01b0316630933c1ed60e01b17905251610c59919061183f565b5f60405180830381855afa9150503d805f8114610c91576040519150601f19603f3d011682016040523d82523d5f602084013e610c96565b606091505b50909250905081610ca8573d60208201fd5b808060200190518101906108fc9190611855565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316634576b5db60e01b179052610874565b60035461010090046001600160a01b03163314610d915760405162461bcd60e51b815260206004820152603960248201527f56426570323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e00000000000000606482015260840160405180910390fd5b8115610dcb576040805160048152602481019091526020810180516001600160e01b031663153ab50560e01b179052610dc990610874565b505b601280546001600160a01b038581166001600160a01b0319831617909255604051911690610e3090610e01908490602401611541565b60408051601f198184030181529190526020810180516001600160e01b0316630adccee560e31b179052610874565b50601254604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b5f8061094b83604051602401610e9691815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663601a0bf160e01b179052610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052610c05565b6040805160048152602481019091526020810180516001600160e01b0316630e759dd360e31b1790525f9081906109ea90610874565b5f8061094b83604051602401610f5f91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663852a12e360e01b179052610874565b600280546107f5906117d5565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166395dd919360e01b179052610c05565b5f8061094b83604051602401610fff91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663140e25ad60e31b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663a6afed9560e01b1790525f9081906109ea90610874565b6040516001600160a01b0383166024820152604481018290525f9081906108e69060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316630ae9d70b60e41b1790525f9081906109ea90610c05565b6040516001600160a01b03808516602483015283166044820152606481018290525f9081906111489060840160408051601f198184030181529190526020810180516001600160e01b031663b2a02ff160e01b179052610874565b905080806020019051810190610ae09190611828565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316632dc7468360e21b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663bd6d894d60e01b1790525f9081906109ea90610874565b5f805f805f6112378660405160240161120891906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166361bfb47160e11b179052610c05565b90508080602001905181019061124d91906118ca565b9450945094509450509193509193565b5f8061094b8360405160240161127591815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663317afabb60e21b179052610874565b5f8061094b836040516024016112bc91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663db006a7560e01b179052610874565b6040516001600160a01b038084166024830152821660448201525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b0316636eb1769f60e11b179052610c05565b6040805160048152602481019091526020810180516001600160e01b03166374e38a7960e11b1790525f9081906109ea90610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b031663f2b3abbd60e01b179052610874565b6040516001600160a01b03808516602483015260448201849052821660648201525f9081906111489060840160408051601f198184030181529190526020810180516001600160e01b0316637af1e23160e11b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316631f1f3b4560e31b1790525f9081906109ea90610c05565b5f8061094b8360405160240161146a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663fca7820b60e01b179052610874565b60605f80846001600160a01b0316846040516114b5919061183f565b5f60405180830381855af49150503d805f81146114ed576040519150601f19603f3d011682016040523d82523d5f602084013e6114f2565b606091505b509092509050816108fc573d60208201fd5b818382375f9101908152919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109616020830184611513565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561159057611590611553565b604052919050565b5f67ffffffffffffffff8211156115b1576115b1611553565b50601f01601f191660200190565b5f82601f8301126115ce575f80fd5b81356115e16115dc82611598565b611567565b8181528460208386010111156115f5575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611621575f80fd5b813567ffffffffffffffff811115611637575f80fd5b6108fc848285016115bf565b6001600160a01b0381168114611657575f80fd5b50565b5f806040838503121561166b575f80fd5b823561167681611643565b946020939093013593505050565b5f60208284031215611694575f80fd5b5035919050565b5f602082840312156116ab575f80fd5b813561096181611643565b5f805f606084860312156116c8575f80fd5b83356116d381611643565b925060208401356116e381611643565b929592945050506040919091013590565b8015158114611657575f80fd5b5f805f60608486031215611713575f80fd5b833561171e81611643565b9250602084013561172e816116f4565b9150604084013567ffffffffffffffff811115611749575f80fd5b611755868287016115bf565b9150509250925092565b5f8060408385031215611770575f80fd5b823561177b81611643565b9150602083013561178b81611643565b809150509250929050565b5f805f606084860312156117a8575f80fd5b83356117b381611643565b92506020840135915060408401356117ca81611643565b809150509250925092565b600181811c908216806117e957607f821691505b60208210810361180757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6020828403121561181d575f80fd5b8151610961816116f4565b5f60208284031215611838575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215611865575f80fd5b815167ffffffffffffffff81111561187b575f80fd5b8201601f8101841361188b575f80fd5b80516118996115dc82611598565b8181528560208385010111156118ad575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f805f80608085870312156118dd575f80fd5b50508251602084015160408501516060909501519196909550909250905056fea264697066735822122042329407f8778172d641a8abff99f46808c1dc25f0a66e5fa34b1aee6674724164736f6c63430008190033",
1576
- "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610381575f3560e01c8063852a12e3116101dc578063b71d1a0c1161010d578063e9a44fd9116100ab578063f5e3c4621161007a578063f5e3c462146107a2578063f851a440146107b5578063f8f9da28146107cd578063fca7820b146107d557610381565b8063e9a44fd914610761578063e9c714f214610774578063f2b3abbd1461077c578063f3fdb15a1461078f57610381565b8063c5ebeaec116100e7578063c5ebeaec1461071f578063d1109c2f14610732578063db006a751461073b578063dd62ed3e1461074e57610381565b8063b71d1a0c146106d1578063bd6d894d146106e4578063c37f68e2146106ec57610381565b8063a9059cbb1161017a578063ae9d70b011610154578063ae9d70b014610690578063b0e0bf2a14610698578063b2a02ff1146106ab578063b4a0bdf3146106be57610381565b8063a9059cbb1461066b578063aa5af0fd1461067e578063ae96f1411461068757610381565b806395dd9193116101b657806395dd91931461062a578063977e19e91461063d578063a0712d6814610650578063a6afed951461066357610381565b8063852a12e3146106065780638f840ddd1461061957806395d89b411461062257610381565b80633b1d21a2116102b65780635c60da1b116102545780636c540baf1161022e5780636c540baf146105cf5780636f307dc3146105d857806370a08231146105eb57806373acee98146105fe57610381565b80635c60da1b146105965780635fe3b567146105a9578063601a0bf1146105bc57610381565b80634487152f116102905780634487152f146105545780634576b5db1461056757806347bd37181461057a578063555bcc401461058357610381565b80633b1d21a2146105315780633d9ea3a1146105395780633e9410101461054157610381565b8063182df0f5116103235780632608f818116102fd5780632608f818146104c157806326782247146104d4578063313ce567146104ff5780633af9e6691461051e57610381565b8063182df0f51461049357806323323e031461049b57806323b872dd146104ae57610381565b80630e7527021161035f5780630e7527021461044d578063173b99041461046e57806317bfdfbc1461047757806318160ddd1461048a57610381565b806306fdde03146103f95780630933c1ed14610417578063095ea7b31461042a575b6012546040515f916001600160a01b0316906103a09083903690611504565b5f60405180830381855af49150503d805f81146103d8576040519150601f19603f3d011682016040523d82523d5f602084013e6103dd565b606091505b505090506040513d5f823e8180156103f3573d82f35b3d82fd5b005b6104016107e8565b60405161040e9190611541565b60405180910390f35b610401610425366004611611565b610874565b61043d61043836600461165a565b610893565b604051901515815260200161040e565b61046061045b366004611684565b610904565b60405190815260200161040e565b61046060085481565b61046061048536600461169b565b610968565b610460600d5481565b6104606109b4565b6104606104a936600461165a565b610a06565b61043d6104bc3660046116b6565b610a6f565b6104606104cf36600461165a565b610ae9565b6004546104e7906001600160a01b031681565b6040516001600160a01b03909116815260200161040e565b60035461050c9060ff1681565b60405160ff909116815260200161040e565b61046061052c36600461169b565b610b3c565b610460610b88565b61043d600181565b61046061054f366004611684565b610bbe565b610401610562366004611611565b610c05565b61046061057536600461169b565b610cbc565b610460600b5481565b6103f7610591366004611701565b610d08565b6012546104e7906001600160a01b031681565b6005546104e7906001600160a01b031681565b6104606105ca366004611684565b610e7e565b61046060095481565b6011546104e7906001600160a01b031681565b6104606105f936600461169b565b610ec5565b610460610f11565b610460610614366004611684565b610f47565b610460600c5481565b610401610f8e565b61046061063836600461169b565b610f9b565b6103f761064b366004611684565b600b55565b61046061065e366004611684565b610fe7565b61046061102e565b61043d61067936600461165a565b611064565b610460600a5481565b61046060145481565b6104606110b7565b6103f76106a6366004611684565b600c55565b6104606106b93660046116b6565b6110ed565b6016546104e7906001600160a01b031681565b6104606106df36600461169b565b61115e565b6104606111aa565b6106ff6106fa36600461169b565b6111e0565b60408051948552602085019390935291830152606082015260800161040e565b61046061072d366004611684565b61125d565b61046060135481565b610460610749366004611684565b6112a4565b61046061075c36600461175f565b6112eb565b6015546104e7906001600160a01b031681565b61046061133f565b61046061078a36600461169b565b611375565b6006546104e7906001600160a01b031681565b6104606107b0366004611796565b6113c1565b6003546104e79061010090046001600160a01b031681565b61046061141c565b6104606107e3366004611684565b611452565b600180546107f5906117d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610821906117d5565b801561086c5780601f106108435761010080835404028352916020019161086c565b820191905f5260205f20905b81548152906001019060200180831161084f57829003601f168201915b505050505081565b60125460609061088d906001600160a01b031683611499565b92915050565b6040516001600160a01b0383166024820152604481018290525f9081906108e69060640160408051601f198184030181529190526020810180516001600160e01b031663095ea7b360e01b179052610874565b9050808060200190518101906108fc919061180d565b949350505050565b5f8061094b8360405160240161091c91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663073a938160e11b179052610874565b9050808060200190518101906109619190611828565b9392505050565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166305eff7ef60e21b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663182df0f560e01b1790525f9081906109ea90610c05565b905080806020019051810190610a009190611828565b91505090565b6040516001600160a01b0383166024820152604481018290525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b03166323323e0360e01b179052610874565b9050808060200190518101906108fc9190611828565b6040516001600160a01b03808516602483015283166044820152606481018290525f908190610aca9060840160408051601f198184030181529190526020810180516001600160e01b03166323b872dd60e01b179052610874565b905080806020019051810190610ae0919061180d565b95945050505050565b6040516001600160a01b0383166024820152604481018290525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b03166304c11f0360e31b179052610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316633af9e66960e01b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316631d8e90d160e11b1790525f9081906109ea90610c05565b5f8061094b83604051602401610bd691815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166303e9410160e41b179052610874565b60605f80306001600160a01b031684604051602401610c249190611541565b60408051601f198184030181529181526020820180516001600160e01b0316630933c1ed60e01b17905251610c59919061183f565b5f60405180830381855afa9150503d805f8114610c91576040519150601f19603f3d011682016040523d82523d5f602084013e610c96565b606091505b50909250905081610ca8573d60208201fd5b808060200190518101906108fc9190611855565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316634576b5db60e01b179052610874565b60035461010090046001600160a01b03163314610d915760405162461bcd60e51b815260206004820152603960248201527f56426570323044656c656761746f723a3a5f736574496d706c656d656e74617460448201527f696f6e3a2043616c6c6572206d7573742062652061646d696e00000000000000606482015260840160405180910390fd5b8115610dcb576040805160048152602481019091526020810180516001600160e01b031663153ab50560e01b179052610dc990610874565b505b601280546001600160a01b038581166001600160a01b0319831617909255604051911690610e3090610e01908490602401611541565b60408051601f198184030181529190526020810180516001600160e01b0316630adccee560e31b179052610874565b50601254604080516001600160a01b03808516825290921660208301527fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a150505050565b5f8061094b83604051602401610e9691815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663601a0bf160e01b179052610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052610c05565b6040805160048152602481019091526020810180516001600160e01b0316630e759dd360e31b1790525f9081906109ea90610874565b5f8061094b83604051602401610f5f91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663852a12e360e01b179052610874565b600280546107f5906117d5565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b03166395dd919360e01b179052610c05565b5f8061094b83604051602401610fff91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663140e25ad60e31b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663a6afed9560e01b1790525f9081906109ea90610874565b6040516001600160a01b0383166024820152604481018290525f9081906108e69060640160408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316630ae9d70b60e41b1790525f9081906109ea90610c05565b6040516001600160a01b03808516602483015283166044820152606481018290525f9081906111489060840160408051601f198184030181529190526020810180516001600160e01b031663b2a02ff160e01b179052610874565b905080806020019051810190610ae09190611828565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b0316632dc7468360e21b179052610874565b6040805160048152602481019091526020810180516001600160e01b031663bd6d894d60e01b1790525f9081906109ea90610874565b5f805f805f6112378660405160240161120891906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166361bfb47160e11b179052610c05565b90508080602001905181019061124d91906118ca565b9450945094509450509193509193565b5f8061094b8360405160240161127591815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663317afabb60e21b179052610874565b5f8061094b836040516024016112bc91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663db006a7560e01b179052610874565b6040516001600160a01b038084166024830152821660448201525f908190610a599060640160408051601f198184030181529190526020810180516001600160e01b0316636eb1769f60e11b179052610c05565b6040805160048152602481019091526020810180516001600160e01b03166374e38a7960e11b1790525f9081906109ea90610874565b6040516001600160a01b03821660248201525f90819061094b9060440160408051601f198184030181529190526020810180516001600160e01b031663f2b3abbd60e01b179052610874565b6040516001600160a01b03808516602483015260448201849052821660648201525f9081906111489060840160408051601f198184030181529190526020810180516001600160e01b0316637af1e23160e11b179052610874565b6040805160048152602481019091526020810180516001600160e01b0316631f1f3b4560e31b1790525f9081906109ea90610c05565b5f8061094b8360405160240161146a91815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663fca7820b60e01b179052610874565b60605f80846001600160a01b0316846040516114b5919061183f565b5f60405180830381855af49150503d805f81146114ed576040519150601f19603f3d011682016040523d82523d5f602084013e6114f2565b606091505b509092509050816108fc573d60208201fd5b818382375f9101908152919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109616020830184611513565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561159057611590611553565b604052919050565b5f67ffffffffffffffff8211156115b1576115b1611553565b50601f01601f191660200190565b5f82601f8301126115ce575f80fd5b81356115e16115dc82611598565b611567565b8181528460208386010111156115f5575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611621575f80fd5b813567ffffffffffffffff811115611637575f80fd5b6108fc848285016115bf565b6001600160a01b0381168114611657575f80fd5b50565b5f806040838503121561166b575f80fd5b823561167681611643565b946020939093013593505050565b5f60208284031215611694575f80fd5b5035919050565b5f602082840312156116ab575f80fd5b813561096181611643565b5f805f606084860312156116c8575f80fd5b83356116d381611643565b925060208401356116e381611643565b929592945050506040919091013590565b8015158114611657575f80fd5b5f805f60608486031215611713575f80fd5b833561171e81611643565b9250602084013561172e816116f4565b9150604084013567ffffffffffffffff811115611749575f80fd5b611755868287016115bf565b9150509250925092565b5f8060408385031215611770575f80fd5b823561177b81611643565b9150602083013561178b81611643565b809150509250929050565b5f805f606084860312156117a8575f80fd5b83356117b381611643565b92506020840135915060408401356117ca81611643565b809150509250925092565b600181811c908216806117e957607f821691505b60208210810361180757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6020828403121561181d575f80fd5b8151610961816116f4565b5f60208284031215611838575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215611865575f80fd5b815167ffffffffffffffff81111561187b575f80fd5b8201601f8101841361188b575f80fd5b80516118996115dc82611598565b8181528560208385010111156118ad575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f805f80608085870312156118dd575f80fd5b50508251602084015160408501516060909501519196909550909250905056fea264697066735822122042329407f8778172d641a8abff99f46808c1dc25f0a66e5fa34b1aee6674724164736f6c63430008190033",
1746
+ "bytecode": "0x",
1747
+ "deployedBytecode": "0x",
1577
1748
  "linkReferences": {},
1578
1749
  "deployedLinkReferences": {}
1579
1750
  }