@venusprotocol/protocol-reserve 3.5.0-dev.2 → 3.5.0-dev.5

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 (104) hide show
  1. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +1 -1
  5. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  6. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  7. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  8. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  9. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
  10. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  11. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  12. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  13. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.dbg.json +1 -1
  14. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  15. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  16. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  17. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  18. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  19. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  20. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  21. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  22. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +1 -1
  23. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +1 -1
  24. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +1 -1
  25. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +1 -1
  26. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
  27. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  28. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  29. package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  30. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +1 -1
  31. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  32. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +1 -1
  33. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +1 -1
  34. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  35. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  36. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  37. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  38. package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.dbg.json +1 -1
  39. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +1 -1
  40. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +1 -1
  41. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +1 -1
  42. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +1 -1
  43. package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.dbg.json +1 -1
  44. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  45. package/artifacts/build-info/{dc4578a0212397777e7cc09a5f471fab.json → a00d61021ca7750a338c64ef340921df.json} +1 -1
  46. package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.dbg.json +1 -1
  47. package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.dbg.json +1 -1
  48. package/artifacts/contracts/Interfaces/IIncomeDestination.sol/IIncomeDestination.dbg.json +1 -1
  49. package/artifacts/contracts/Interfaces/IPoolRegistry.sol/IPoolRegistry.dbg.json +1 -1
  50. package/artifacts/contracts/Interfaces/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +1 -1
  51. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.dbg.json +1 -1
  52. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.dbg.json +1 -1
  53. package/artifacts/contracts/Interfaces/IRiskFundConverter.sol/IRiskFundConverter.dbg.json +1 -1
  54. package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.dbg.json +1 -1
  55. package/artifacts/contracts/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
  56. package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
  57. package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +1 -1
  58. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.dbg.json +1 -1
  59. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.dbg.json +1 -1
  60. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.dbg.json +1 -1
  61. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.dbg.json +1 -1
  62. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.dbg.json +1 -1
  63. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.json +2 -2
  64. package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.dbg.json +1 -1
  65. package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.dbg.json +1 -1
  66. package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.dbg.json +1 -1
  67. package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.dbg.json +1 -1
  68. package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +1 -1
  69. package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.dbg.json +1 -1
  70. package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.dbg.json +1 -1
  71. package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.dbg.json +1 -1
  72. package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.dbg.json +1 -1
  73. package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.dbg.json +1 -1
  74. package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.dbg.json +1 -1
  75. package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.dbg.json +1 -1
  76. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/access/Ownable.sol/Ownable.dbg.json +1 -1
  77. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  78. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  79. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  80. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  81. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  82. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  83. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  84. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Address.sol/Address.dbg.json +1 -1
  85. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Context.sol/Context.dbg.json +1 -1
  86. package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  87. package/artifacts/hardhat-deploy/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol/OptimizedTransparentUpgradeableProxy.dbg.json +1 -1
  88. package/contracts/ProtocolReserve/RiskFundV2.sol +1 -1
  89. package/deployments/bscmainnet/RiskFundV2_Implementation.json +25 -19
  90. package/deployments/bscmainnet/solcInputs/4ecb15deb1238f70d8fbf1bd9668fa1b.json +82 -0
  91. package/deployments/bscmainnet.json +7 -1
  92. package/deployments/bscmainnet_addresses.json +1 -1
  93. package/deployments/bsctestnet/RiskFundV2_Implementation.json +24 -18
  94. package/deployments/bsctestnet/solcInputs/4ecb15deb1238f70d8fbf1bd9668fa1b.json +82 -0
  95. package/deployments/bsctestnet.json +7 -1
  96. package/deployments/bsctestnet_addresses.json +1 -1
  97. package/dist/hardhat.config.d.ts +1 -2
  98. package/dist/hardhat.config.d.ts.map +1 -1
  99. package/dist/hardhat.config.js +5 -90
  100. package/dist/hardhat.config.js.map +1 -1
  101. package/dist/typechain/factories/RiskFundV2__factory.d.ts +1 -1
  102. package/dist/typechain/factories/RiskFundV2__factory.js +1 -1
  103. package/package.json +5 -6
  104. package/typechain/factories/RiskFundV2__factory.ts +1 -1
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -634,8 +634,8 @@
634
634
  "type": "function"
635
635
  }
636
636
  ],
637
- "bytecode": "0x6080604052348015600f57600080fd5b50611aa08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806377d4937f116100cd578063b4a0bdf311610081578063c8ecc0d311610066578063c8ecc0d3146102ff578063e30c397814610313578063f2fde38b1461032457600080fd5b8063b4a0bdf3146102e5578063be26317e146102f657600080fd5b80638da5cb5b116100b25780638da5cb5b14610286578063998f607114610297578063a69bd19e146102aa57600080fd5b806377d4937f1461026b57806379ba50971461027e57600080fd5b806353ac353711610124578063601bb5a911610109578063601bb5a91461023d57806364aff9ec14610250578063715018a61461026357600080fd5b806353ac3537146101ff5780635dbe35331461021257600080fd5b806319b1faef1161015557806319b1faef146101ac5780632e688141146101d85780632eef9172146101eb57600080fd5b80630a9837c5146101715780630e32cb8614610197575b600080fd5b61018461017f3660046115f5565b610337565b6040519081526020015b60405180910390f35b6101aa6101a5366004611621565b610499565b005b61012e546101c0906001600160a01b031681565b6040516001600160a01b03909116815260200161018e565b6101aa6101e6366004611621565b6104ad565b610163546101c0906001600160a01b031681565b6101aa61020d366004611645565b610534565b610184610220366004611686565b60ca60209081526000928352604080842090915290825290205481565b6101aa61024b366004611621565b610609565b6101aa61025e366004611645565b610690565b6101aa610738565b6101aa610279366004611621565b61074c565b6101aa6107d3565b6033546001600160a01b03166101c0565b6101aa6102a53660046116bf565b610878565b6101846102b8366004611621565b6001600160a01b03908116600090815260ca6020908152604080832061012d549094168352929052205490565b6097546001600160a01b03166101c0565b61018460fb5481565b61012d546101c0906001600160a01b031681565b6065546001600160a01b03166101c0565b6101aa610332366004611621565b6109df565b6000610341610a68565b6001600160a01b03838116600090815260ca6020908152604080832061012d548516845290915290205461012e5490911633146103aa576040517fe7792c3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80831115610402576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604481018290526064015b60405180910390fd5b6001600160a01b03808516600090815260ca6020908152604080832061012d8054861685529252909120858403905561012e54905461044692908116911685610add565b836001600160a01b03167fc8d0a37ed16dfaa43514df00e18f478b60d5cc7b4bfc687103948b9020f737fd8460405161048191815260200190565b60405180910390a25050600161013155805b92915050565b6104a1610b5d565b6104aa81610bd1565b50565b6104b5610b5d565b6104be81610ce0565b61012d546040516001600160a01b038084169216907f5fa61583da12070720613fefdd68cc6c0e464a71e009742526bd2b2e0ac62cd290600090a361012d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610163546001600160a01b03163314610579576040517fece95bc800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260ca60209081526040808320938616835292905290812080548392906105b090849061173f565b92505081905550816001600160a01b0316836001600160a01b03167f17452316fd883c456b01c6722a103031ccd3cf17a1dabdbf96cd1109652d6110836040516105fc91815260200190565b60405180910390a3505050565b610611610b5d565b61061a81610ce0565b610163546040516001600160a01b038084169216907f49ca267ed5631dd7b16589efad418137b8fb106674777fc37d2cb82e853dbd2790600090a361016380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610698610b5d565b6106a0610a68565b6106a983610ce0565b6106b282610ce0565b6106bb81610d20565b826106c68183610d5a565b6106da6001600160a01b0382168484610add565b826001600160a01b0316846001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161071f91815260200190565b60405180910390a350610733600161013155565b505050565b610740610b5d565b61074a600061117e565b565b610754610b5d565b61075d81610ce0565b61012e546040516001600160a01b038084169216907fb6e5fcf02f7fbb8acfbaa3bac4fd5abf9ff51e3f2e8884b5498927179b211b2890600090a361012e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60655433906001600160a01b0316811461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016103f9565b6104aa8161117e565b610880610a68565b6108a1604051806060016040528060338152602001611a38603391396111af565b6108aa84610ce0565b6108b383610ce0565b6108bc82610ce0565b6108c581610d20565b6001600160a01b03808416600090815260ca60209081526040808320938816835292905220548082111561093e576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101839052604481018290526064016103f9565b6001600160a01b03808516600090815260ca602090815260408083209389168084529390915290208383039055610976908484610add565b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6c4a80b6e24c0c63564e0dd5b64bde86842de007bcfdc0a14b829198f18541b7856040516109c591815260200190565b60405180910390a4506109d9600161013155565b50505050565b6109e7610b5d565b606580546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610a306033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60026101315403610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103f9565b600261013155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261073390849061127f565b6033546001600160a01b0316331461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b6001600160a01b038116610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f9565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6001600160a01b0381166104aa576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036104aa576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611752565b905080821115610e1a576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610163546040517f5c39f4670000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526000921690635c39f46790602401600060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ec591908101906117aa565b8051909150600090815b81811015610f4e5760ca6000858381518110610eed57610eed61188d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205483610f44919061173f565b9250600101610ecf565b506000610f5b83866118bc565b905085811015611175578086036000805b848110156111715760ca6000888381518110610f8a57610f8a61188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002054600014611169576000610fea6001876118bc565b82101561107c57868a60ca60008b86815181106110095761100961188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000205461105f91906118cf565b61106991906118e6565b9050611075818461173f565b9250611089565b61108683856118bc565b90505b8060ca60008a85815181106110a0576110a061188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110fa91906118bc565b925050819055508a6001600160a01b031688838151811061111d5761111d61188d565b60200260200101516001600160a01b03167fdfbd88fdb255ea04a0084e45259969bdf724b3fbd610a114da4a0dd51bd843208360405161115f91815260200190565b60405180910390a3505b600101610f6c565b5050505b50505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556104aa81611381565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab906111fb903390869060040161198f565b602060405180830381865afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c91906119b1565b90508061127b573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016103f9939291906119d3565b5050565b60006112d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113eb9092919063ffffffff16565b90508051600014806112f55750808060200190518101906112f591906119b1565b610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103f9565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606113fa8484600085611402565b949350505050565b606082471015611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103f9565b600080866001600160a01b031685876040516114b09190611a08565b60006040518083038185875af1925050503d80600081146114ed576040519150601f19603f3d011682016040523d82523d6000602084013e6114f2565b606091505b50915091506115038783838761150e565b979650505050505050565b60608315611597578251600003611590576001600160a01b0385163b611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103f9565b50816113fa565b6113fa83838151156115ac5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f99190611a24565b6001600160a01b03811681146104aa57600080fd5b6000806040838503121561160857600080fd5b8235611613816115e0565b946020939093013593505050565b60006020828403121561163357600080fd5b813561163e816115e0565b9392505050565b60008060006060848603121561165a57600080fd5b8335611665816115e0565b92506020840135611675816115e0565b929592945050506040919091013590565b6000806040838503121561169957600080fd5b82356116a4816115e0565b915060208301356116b4816115e0565b809150509250929050565b600080600080608085870312156116d557600080fd5b84356116e0816115e0565b935060208501356116f0816115e0565b92506040850135611700816115e0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561049357610493611710565b60006020828403121561176457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80516117a5816115e0565b919050565b600060208083850312156117bd57600080fd5b825167ffffffffffffffff808211156117d557600080fd5b818501915085601f8301126117e957600080fd5b8151818111156117fb576117fb61176b565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561183e5761183e61176b565b60405291825284820192508381018501918883111561185c57600080fd5b938501935b82851015611881576118728561179a565b84529385019392850192611861565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561049357610493611710565b808202811582820484141761049357610493611710565b60008261191c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561193c578181015183820152602001611924565b50506000910152565b6000815180845261195d816020860160208601611921565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b03831681526040602082015260006113fa6040830184611945565b6000602082840312156119c357600080fd5b8151801515811461163e57600080fd5b60006001600160a01b038086168352808516602084015250606060408301526119ff6060830184611945565b95945050505050565b60008251611a1a818460208701611921565b9190910192915050565b60208152600061163e602083018461194556fe7377656570546f6b656e46726f6d506f6f6c28616464726573732c616464726573732c616464726573732c75696e7432353629a264697066735822122046bdf54fda76077d1a674439658895b28389e95dd5943712b48392ffadc2710c64736f6c63430008190033",
638
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061016c5760003560e01c806377d4937f116100cd578063b4a0bdf311610081578063c8ecc0d311610066578063c8ecc0d3146102ff578063e30c397814610313578063f2fde38b1461032457600080fd5b8063b4a0bdf3146102e5578063be26317e146102f657600080fd5b80638da5cb5b116100b25780638da5cb5b14610286578063998f607114610297578063a69bd19e146102aa57600080fd5b806377d4937f1461026b57806379ba50971461027e57600080fd5b806353ac353711610124578063601bb5a911610109578063601bb5a91461023d57806364aff9ec14610250578063715018a61461026357600080fd5b806353ac3537146101ff5780635dbe35331461021257600080fd5b806319b1faef1161015557806319b1faef146101ac5780632e688141146101d85780632eef9172146101eb57600080fd5b80630a9837c5146101715780630e32cb8614610197575b600080fd5b61018461017f3660046115f5565b610337565b6040519081526020015b60405180910390f35b6101aa6101a5366004611621565b610499565b005b61012e546101c0906001600160a01b031681565b6040516001600160a01b03909116815260200161018e565b6101aa6101e6366004611621565b6104ad565b610163546101c0906001600160a01b031681565b6101aa61020d366004611645565b610534565b610184610220366004611686565b60ca60209081526000928352604080842090915290825290205481565b6101aa61024b366004611621565b610609565b6101aa61025e366004611645565b610690565b6101aa610738565b6101aa610279366004611621565b61074c565b6101aa6107d3565b6033546001600160a01b03166101c0565b6101aa6102a53660046116bf565b610878565b6101846102b8366004611621565b6001600160a01b03908116600090815260ca6020908152604080832061012d549094168352929052205490565b6097546001600160a01b03166101c0565b61018460fb5481565b61012d546101c0906001600160a01b031681565b6065546001600160a01b03166101c0565b6101aa610332366004611621565b6109df565b6000610341610a68565b6001600160a01b03838116600090815260ca6020908152604080832061012d548516845290915290205461012e5490911633146103aa576040517fe7792c3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80831115610402576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604481018290526064015b60405180910390fd5b6001600160a01b03808516600090815260ca6020908152604080832061012d8054861685529252909120858403905561012e54905461044692908116911685610add565b836001600160a01b03167fc8d0a37ed16dfaa43514df00e18f478b60d5cc7b4bfc687103948b9020f737fd8460405161048191815260200190565b60405180910390a25050600161013155805b92915050565b6104a1610b5d565b6104aa81610bd1565b50565b6104b5610b5d565b6104be81610ce0565b61012d546040516001600160a01b038084169216907f5fa61583da12070720613fefdd68cc6c0e464a71e009742526bd2b2e0ac62cd290600090a361012d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610163546001600160a01b03163314610579576040517fece95bc800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260ca60209081526040808320938616835292905290812080548392906105b090849061173f565b92505081905550816001600160a01b0316836001600160a01b03167f17452316fd883c456b01c6722a103031ccd3cf17a1dabdbf96cd1109652d6110836040516105fc91815260200190565b60405180910390a3505050565b610611610b5d565b61061a81610ce0565b610163546040516001600160a01b038084169216907f49ca267ed5631dd7b16589efad418137b8fb106674777fc37d2cb82e853dbd2790600090a361016380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610698610b5d565b6106a0610a68565b6106a983610ce0565b6106b282610ce0565b6106bb81610d20565b826106c68183610d5a565b6106da6001600160a01b0382168484610add565b826001600160a01b0316846001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161071f91815260200190565b60405180910390a350610733600161013155565b505050565b610740610b5d565b61074a600061117e565b565b610754610b5d565b61075d81610ce0565b61012e546040516001600160a01b038084169216907fb6e5fcf02f7fbb8acfbaa3bac4fd5abf9ff51e3f2e8884b5498927179b211b2890600090a361012e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60655433906001600160a01b0316811461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016103f9565b6104aa8161117e565b610880610a68565b6108a1604051806060016040528060338152602001611a38603391396111af565b6108aa84610ce0565b6108b383610ce0565b6108bc82610ce0565b6108c581610d20565b6001600160a01b03808416600090815260ca60209081526040808320938816835292905220548082111561093e576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101839052604481018290526064016103f9565b6001600160a01b03808516600090815260ca602090815260408083209389168084529390915290208383039055610976908484610add565b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6c4a80b6e24c0c63564e0dd5b64bde86842de007bcfdc0a14b829198f18541b7856040516109c591815260200190565b60405180910390a4506109d9600161013155565b50505050565b6109e7610b5d565b606580546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610a306033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60026101315403610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103f9565b600261013155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261073390849061127f565b6033546001600160a01b0316331461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b6001600160a01b038116610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f9565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6001600160a01b0381166104aa576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036104aa576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611752565b905080821115610e1a576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610163546040517f5c39f4670000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526000921690635c39f46790602401600060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ec591908101906117aa565b8051909150600090815b81811015610f4e5760ca6000858381518110610eed57610eed61188d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205483610f44919061173f565b9250600101610ecf565b506000610f5b83866118bc565b905085811015611175578086036000805b848110156111715760ca6000888381518110610f8a57610f8a61188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002054600014611169576000610fea6001876118bc565b82101561107c57868a60ca60008b86815181106110095761100961188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000205461105f91906118cf565b61106991906118e6565b9050611075818461173f565b9250611089565b61108683856118bc565b90505b8060ca60008a85815181106110a0576110a061188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110fa91906118bc565b925050819055508a6001600160a01b031688838151811061111d5761111d61188d565b60200260200101516001600160a01b03167fdfbd88fdb255ea04a0084e45259969bdf724b3fbd610a114da4a0dd51bd843208360405161115f91815260200190565b60405180910390a3505b600101610f6c565b5050505b50505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556104aa81611381565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab906111fb903390869060040161198f565b602060405180830381865afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c91906119b1565b90508061127b573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016103f9939291906119d3565b5050565b60006112d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113eb9092919063ffffffff16565b90508051600014806112f55750808060200190518101906112f591906119b1565b610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103f9565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606113fa8484600085611402565b949350505050565b606082471015611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103f9565b600080866001600160a01b031685876040516114b09190611a08565b60006040518083038185875af1925050503d80600081146114ed576040519150601f19603f3d011682016040523d82523d6000602084013e6114f2565b606091505b50915091506115038783838761150e565b979650505050505050565b60608315611597578251600003611590576001600160a01b0385163b611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103f9565b50816113fa565b6113fa83838151156115ac5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f99190611a24565b6001600160a01b03811681146104aa57600080fd5b6000806040838503121561160857600080fd5b8235611613816115e0565b946020939093013593505050565b60006020828403121561163357600080fd5b813561163e816115e0565b9392505050565b60008060006060848603121561165a57600080fd5b8335611665816115e0565b92506020840135611675816115e0565b929592945050506040919091013590565b6000806040838503121561169957600080fd5b82356116a4816115e0565b915060208301356116b4816115e0565b809150509250929050565b600080600080608085870312156116d557600080fd5b84356116e0816115e0565b935060208501356116f0816115e0565b92506040850135611700816115e0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561049357610493611710565b60006020828403121561176457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80516117a5816115e0565b919050565b600060208083850312156117bd57600080fd5b825167ffffffffffffffff808211156117d557600080fd5b818501915085601f8301126117e957600080fd5b8151818111156117fb576117fb61176b565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561183e5761183e61176b565b60405291825284820192508381018501918883111561185c57600080fd5b938501935b82851015611881576118728561179a565b84529385019392850192611861565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561049357610493611710565b808202811582820484141761049357610493611710565b60008261191c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561193c578181015183820152602001611924565b50506000910152565b6000815180845261195d816020860160208601611921565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b03831681526040602082015260006113fa6040830184611945565b6000602082840312156119c357600080fd5b8151801515811461163e57600080fd5b60006001600160a01b038086168352808516602084015250606060408301526119ff6060830184611945565b95945050505050565b60008251611a1a818460208701611921565b9190910192915050565b60208152600061163e602083018461194556fe7377656570546f6b656e46726f6d506f6f6c28616464726573732c616464726573732c616464726573732c75696e7432353629a264697066735822122046bdf54fda76077d1a674439658895b28389e95dd5943712b48392ffadc2710c64736f6c63430008190033",
637
+ "bytecode": "0x6080604052348015600f57600080fd5b50611aa08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806377d4937f116100cd578063b4a0bdf311610081578063c8ecc0d311610066578063c8ecc0d3146102ff578063e30c397814610313578063f2fde38b1461032457600080fd5b8063b4a0bdf3146102e5578063be26317e146102f657600080fd5b80638da5cb5b116100b25780638da5cb5b14610286578063998f607114610297578063a69bd19e146102aa57600080fd5b806377d4937f1461026b57806379ba50971461027e57600080fd5b806353ac353711610124578063601bb5a911610109578063601bb5a91461023d57806364aff9ec14610250578063715018a61461026357600080fd5b806353ac3537146101ff5780635dbe35331461021257600080fd5b806319b1faef1161015557806319b1faef146101ac5780632e688141146101d85780632eef9172146101eb57600080fd5b80630a9837c5146101715780630e32cb8614610197575b600080fd5b61018461017f3660046115f5565b610337565b6040519081526020015b60405180910390f35b6101aa6101a5366004611621565b610499565b005b61012e546101c0906001600160a01b031681565b6040516001600160a01b03909116815260200161018e565b6101aa6101e6366004611621565b6104ad565b610163546101c0906001600160a01b031681565b6101aa61020d366004611645565b610534565b610184610220366004611686565b60ca60209081526000928352604080842090915290825290205481565b6101aa61024b366004611621565b610609565b6101aa61025e366004611645565b610690565b6101aa610738565b6101aa610279366004611621565b61074c565b6101aa6107d3565b6033546001600160a01b03166101c0565b6101aa6102a53660046116bf565b610878565b6101846102b8366004611621565b6001600160a01b03908116600090815260ca6020908152604080832061012d549094168352929052205490565b6097546001600160a01b03166101c0565b61018460fb5481565b61012d546101c0906001600160a01b031681565b6065546001600160a01b03166101c0565b6101aa610332366004611621565b6109df565b6000610341610a68565b6001600160a01b03838116600090815260ca6020908152604080832061012d548516845290915290205461012e5490911633146103aa576040517fe7792c3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80831115610402576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604481018290526064015b60405180910390fd5b6001600160a01b03808516600090815260ca6020908152604080832061012d8054861685529252909120858403905561012e54905461044692908116911685610add565b836001600160a01b03167fc8d0a37ed16dfaa43514df00e18f478b60d5cc7b4bfc687103948b9020f737fd8460405161048191815260200190565b60405180910390a25050600161013155805b92915050565b6104a1610b5d565b6104aa81610bd1565b50565b6104b5610b5d565b6104be81610ce0565b61012d546040516001600160a01b038084169216907f5fa61583da12070720613fefdd68cc6c0e464a71e009742526bd2b2e0ac62cd290600090a361012d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610163546001600160a01b03163314610579576040517fece95bc800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260ca60209081526040808320938616835292905290812080548392906105b090849061173f565b92505081905550816001600160a01b0316836001600160a01b03167f17452316fd883c456b01c6722a103031ccd3cf17a1dabdbf96cd1109652d6110836040516105fc91815260200190565b60405180910390a3505050565b610611610b5d565b61061a81610ce0565b610163546040516001600160a01b038084169216907f49ca267ed5631dd7b16589efad418137b8fb106674777fc37d2cb82e853dbd2790600090a361016380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610698610b5d565b6106a0610a68565b6106a983610ce0565b6106b282610ce0565b6106bb81610d20565b826106c68183610d5a565b6106da6001600160a01b0382168484610add565b826001600160a01b0316846001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161071f91815260200190565b60405180910390a350610733600161013155565b505050565b610740610b5d565b61074a600061117e565b565b610754610b5d565b61075d81610ce0565b61012e546040516001600160a01b038084169216907fb6e5fcf02f7fbb8acfbaa3bac4fd5abf9ff51e3f2e8884b5498927179b211b2890600090a361012e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60655433906001600160a01b0316811461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016103f9565b6104aa8161117e565b610880610a68565b6108a1604051806060016040528060338152602001611a38603391396111af565b6108aa84610ce0565b6108b383610ce0565b6108bc82610ce0565b6108c581610d20565b6001600160a01b03808416600090815260ca60209081526040808320938816835292905220548082111561093e576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101839052604481018290526064016103f9565b6001600160a01b03808516600090815260ca602090815260408083209389168084529390915290208383039055610976908484610add565b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6c4a80b6e24c0c63564e0dd5b64bde86842de007bcfdc0a14b829198f18541b7856040516109c591815260200190565b60405180910390a4506109d9600161013155565b50505050565b6109e7610b5d565b606580546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610a306033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60026101315403610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103f9565b600261013155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261073390849061127f565b6033546001600160a01b0316331461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b6001600160a01b038116610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f9565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6001600160a01b0381166104aa576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036104aa576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611752565b905080821115610e1a576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610163546040517f5c39f4670000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526000921690635c39f46790602401600060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ec591908101906117aa565b8051909150600090815b81811015610f4e5760ca6000858381518110610eed57610eed61188d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205483610f44919061173f565b9250600101610ecf565b506000610f5b83866118bc565b905085811015611175578086036000805b848110156111715760ca6000888381518110610f8a57610f8a61188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002054600014611169576000610fea6001876118bc565b82101561107c57868460ca60008b86815181106110095761100961188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000205461105f91906118cf565b61106991906118e6565b9050611075818461173f565b9250611089565b61108683856118bc565b90505b8060ca60008a85815181106110a0576110a061188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110fa91906118bc565b925050819055508a6001600160a01b031688838151811061111d5761111d61188d565b60200260200101516001600160a01b03167fdfbd88fdb255ea04a0084e45259969bdf724b3fbd610a114da4a0dd51bd843208360405161115f91815260200190565b60405180910390a3505b600101610f6c565b5050505b50505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556104aa81611381565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab906111fb903390869060040161198f565b602060405180830381865afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c91906119b1565b90508061127b573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016103f9939291906119d3565b5050565b60006112d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113eb9092919063ffffffff16565b90508051600014806112f55750808060200190518101906112f591906119b1565b610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103f9565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606113fa8484600085611402565b949350505050565b606082471015611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103f9565b600080866001600160a01b031685876040516114b09190611a08565b60006040518083038185875af1925050503d80600081146114ed576040519150601f19603f3d011682016040523d82523d6000602084013e6114f2565b606091505b50915091506115038783838761150e565b979650505050505050565b60608315611597578251600003611590576001600160a01b0385163b611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103f9565b50816113fa565b6113fa83838151156115ac5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f99190611a24565b6001600160a01b03811681146104aa57600080fd5b6000806040838503121561160857600080fd5b8235611613816115e0565b946020939093013593505050565b60006020828403121561163357600080fd5b813561163e816115e0565b9392505050565b60008060006060848603121561165a57600080fd5b8335611665816115e0565b92506020840135611675816115e0565b929592945050506040919091013590565b6000806040838503121561169957600080fd5b82356116a4816115e0565b915060208301356116b4816115e0565b809150509250929050565b600080600080608085870312156116d557600080fd5b84356116e0816115e0565b935060208501356116f0816115e0565b92506040850135611700816115e0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561049357610493611710565b60006020828403121561176457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80516117a5816115e0565b919050565b600060208083850312156117bd57600080fd5b825167ffffffffffffffff808211156117d557600080fd5b818501915085601f8301126117e957600080fd5b8151818111156117fb576117fb61176b565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561183e5761183e61176b565b60405291825284820192508381018501918883111561185c57600080fd5b938501935b82851015611881576118728561179a565b84529385019392850192611861565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561049357610493611710565b808202811582820484141761049357610493611710565b60008261191c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561193c578181015183820152602001611924565b50506000910152565b6000815180845261195d816020860160208601611921565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b03831681526040602082015260006113fa6040830184611945565b6000602082840312156119c357600080fd5b8151801515811461163e57600080fd5b60006001600160a01b038086168352808516602084015250606060408301526119ff6060830184611945565b95945050505050565b60008251611a1a818460208701611921565b9190910192915050565b60208152600061163e602083018461194556fe7377656570546f6b656e46726f6d506f6f6c28616464726573732c616464726573732c616464726573732c75696e7432353629a26469706673582212200dabac7c5c96f8e1a5e038c2c7c96f7491843baaf8759e5f0457f16b1e85c01064736f6c63430008190033",
638
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061016c5760003560e01c806377d4937f116100cd578063b4a0bdf311610081578063c8ecc0d311610066578063c8ecc0d3146102ff578063e30c397814610313578063f2fde38b1461032457600080fd5b8063b4a0bdf3146102e5578063be26317e146102f657600080fd5b80638da5cb5b116100b25780638da5cb5b14610286578063998f607114610297578063a69bd19e146102aa57600080fd5b806377d4937f1461026b57806379ba50971461027e57600080fd5b806353ac353711610124578063601bb5a911610109578063601bb5a91461023d57806364aff9ec14610250578063715018a61461026357600080fd5b806353ac3537146101ff5780635dbe35331461021257600080fd5b806319b1faef1161015557806319b1faef146101ac5780632e688141146101d85780632eef9172146101eb57600080fd5b80630a9837c5146101715780630e32cb8614610197575b600080fd5b61018461017f3660046115f5565b610337565b6040519081526020015b60405180910390f35b6101aa6101a5366004611621565b610499565b005b61012e546101c0906001600160a01b031681565b6040516001600160a01b03909116815260200161018e565b6101aa6101e6366004611621565b6104ad565b610163546101c0906001600160a01b031681565b6101aa61020d366004611645565b610534565b610184610220366004611686565b60ca60209081526000928352604080842090915290825290205481565b6101aa61024b366004611621565b610609565b6101aa61025e366004611645565b610690565b6101aa610738565b6101aa610279366004611621565b61074c565b6101aa6107d3565b6033546001600160a01b03166101c0565b6101aa6102a53660046116bf565b610878565b6101846102b8366004611621565b6001600160a01b03908116600090815260ca6020908152604080832061012d549094168352929052205490565b6097546001600160a01b03166101c0565b61018460fb5481565b61012d546101c0906001600160a01b031681565b6065546001600160a01b03166101c0565b6101aa610332366004611621565b6109df565b6000610341610a68565b6001600160a01b03838116600090815260ca6020908152604080832061012d548516845290915290205461012e5490911633146103aa576040517fe7792c3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80831115610402576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604481018290526064015b60405180910390fd5b6001600160a01b03808516600090815260ca6020908152604080832061012d8054861685529252909120858403905561012e54905461044692908116911685610add565b836001600160a01b03167fc8d0a37ed16dfaa43514df00e18f478b60d5cc7b4bfc687103948b9020f737fd8460405161048191815260200190565b60405180910390a25050600161013155805b92915050565b6104a1610b5d565b6104aa81610bd1565b50565b6104b5610b5d565b6104be81610ce0565b61012d546040516001600160a01b038084169216907f5fa61583da12070720613fefdd68cc6c0e464a71e009742526bd2b2e0ac62cd290600090a361012d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610163546001600160a01b03163314610579576040517fece95bc800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260ca60209081526040808320938616835292905290812080548392906105b090849061173f565b92505081905550816001600160a01b0316836001600160a01b03167f17452316fd883c456b01c6722a103031ccd3cf17a1dabdbf96cd1109652d6110836040516105fc91815260200190565b60405180910390a3505050565b610611610b5d565b61061a81610ce0565b610163546040516001600160a01b038084169216907f49ca267ed5631dd7b16589efad418137b8fb106674777fc37d2cb82e853dbd2790600090a361016380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610698610b5d565b6106a0610a68565b6106a983610ce0565b6106b282610ce0565b6106bb81610d20565b826106c68183610d5a565b6106da6001600160a01b0382168484610add565b826001600160a01b0316846001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161071f91815260200190565b60405180910390a350610733600161013155565b505050565b610740610b5d565b61074a600061117e565b565b610754610b5d565b61075d81610ce0565b61012e546040516001600160a01b038084169216907fb6e5fcf02f7fbb8acfbaa3bac4fd5abf9ff51e3f2e8884b5498927179b211b2890600090a361012e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60655433906001600160a01b0316811461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016103f9565b6104aa8161117e565b610880610a68565b6108a1604051806060016040528060338152602001611a38603391396111af565b6108aa84610ce0565b6108b383610ce0565b6108bc82610ce0565b6108c581610d20565b6001600160a01b03808416600090815260ca60209081526040808320938816835292905220548082111561093e576040517f5f1b50b80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101839052604481018290526064016103f9565b6001600160a01b03808516600090815260ca602090815260408083209389168084529390915290208383039055610976908484610add565b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6c4a80b6e24c0c63564e0dd5b64bde86842de007bcfdc0a14b829198f18541b7856040516109c591815260200190565b60405180910390a4506109d9600161013155565b50505050565b6109e7610b5d565b606580546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610a306033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60026101315403610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103f9565b600261013155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261073390849061127f565b6033546001600160a01b0316331461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b6001600160a01b038116610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f9565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6001600160a01b0381166104aa576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036104aa576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611752565b905080821115610e1a576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610163546040517f5c39f4670000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526000921690635c39f46790602401600060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ec591908101906117aa565b8051909150600090815b81811015610f4e5760ca6000858381518110610eed57610eed61188d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205483610f44919061173f565b9250600101610ecf565b506000610f5b83866118bc565b905085811015611175578086036000805b848110156111715760ca6000888381518110610f8a57610f8a61188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002054600014611169576000610fea6001876118bc565b82101561107c57868460ca60008b86815181106110095761100961188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000205461105f91906118cf565b61106991906118e6565b9050611075818461173f565b9250611089565b61108683856118bc565b90505b8060ca60008a85815181106110a0576110a061188d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546110fa91906118bc565b925050819055508a6001600160a01b031688838151811061111d5761111d61188d565b60200260200101516001600160a01b03167fdfbd88fdb255ea04a0084e45259969bdf724b3fbd610a114da4a0dd51bd843208360405161115f91815260200190565b60405180910390a3505b600101610f6c565b5050505b50505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556104aa81611381565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab906111fb903390869060040161198f565b602060405180830381865afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c91906119b1565b90508061127b573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016103f9939291906119d3565b5050565b60006112d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113eb9092919063ffffffff16565b90508051600014806112f55750808060200190518101906112f591906119b1565b610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103f9565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606113fa8484600085611402565b949350505050565b606082471015611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103f9565b600080866001600160a01b031685876040516114b09190611a08565b60006040518083038185875af1925050503d80600081146114ed576040519150601f19603f3d011682016040523d82523d6000602084013e6114f2565b606091505b50915091506115038783838761150e565b979650505050505050565b60608315611597578251600003611590576001600160a01b0385163b611590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103f9565b50816113fa565b6113fa83838151156115ac5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f99190611a24565b6001600160a01b03811681146104aa57600080fd5b6000806040838503121561160857600080fd5b8235611613816115e0565b946020939093013593505050565b60006020828403121561163357600080fd5b813561163e816115e0565b9392505050565b60008060006060848603121561165a57600080fd5b8335611665816115e0565b92506020840135611675816115e0565b929592945050506040919091013590565b6000806040838503121561169957600080fd5b82356116a4816115e0565b915060208301356116b4816115e0565b809150509250929050565b600080600080608085870312156116d557600080fd5b84356116e0816115e0565b935060208501356116f0816115e0565b92506040850135611700816115e0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561049357610493611710565b60006020828403121561176457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80516117a5816115e0565b919050565b600060208083850312156117bd57600080fd5b825167ffffffffffffffff808211156117d557600080fd5b818501915085601f8301126117e957600080fd5b8151818111156117fb576117fb61176b565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561183e5761183e61176b565b60405291825284820192508381018501918883111561185c57600080fd5b938501935b82851015611881576118728561179a565b84529385019392850192611861565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561049357610493611710565b808202811582820484141761049357610493611710565b60008261191c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561193c578181015183820152602001611924565b50506000910152565b6000815180845261195d816020860160208601611921565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b03831681526040602082015260006113fa6040830184611945565b6000602082840312156119c357600080fd5b8151801515811461163e57600080fd5b60006001600160a01b038086168352808516602084015250606060408301526119ff6060830184611945565b95945050505050565b60008251611a1a818460208701611921565b9190910192915050565b60208152600061163e602083018461194556fe7377656570546f6b656e46726f6d506f6f6c28616464726573732c616464726573732c616464726573732c75696e7432353629a26469706673582212200dabac7c5c96f8e1a5e038c2c7c96f7491843baaf8759e5f0457f16b1e85c01064736f6c63430008190033",
639
639
  "linkReferences": {},
640
640
  "deployedLinkReferences": {}
641
641
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/dc4578a0212397777e7cc09a5f471fab.json"
3
+ "buildInfo": "../../../../build-info/a00d61021ca7750a338c64ef340921df.json"
4
4
  }
@@ -245,7 +245,7 @@ contract RiskFundV2 is AccessControlledV8, RiskFundV2Storage, IRiskFund {
245
245
  if (poolAssetsFunds[pools[i]][tokenAddress] != 0) {
246
246
  uint256 poolAmountShare;
247
247
  if (i < (poolsLength - 1)) {
248
- poolAmountShare = (poolAssetsFunds[pools[i]][tokenAddress] * amount) / assetReserves;
248
+ poolAmountShare = (poolAssetsFunds[pools[i]][tokenAddress] * amountDiff) / assetReserves;
249
249
  distributedShare += poolAmountShare;
250
250
  } else {
251
251
  poolAmountShare = amountDiff - distributedShare;