@raac/rpc 1.2.0-beta.3 → 1.2.0-beta.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 (496) hide show
  1. package/dist/RPCLibrary.js +214 -0
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +15 -2
  4. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +2 -2
  5. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +2 -2
  6. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +2 -2
  7. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +0 -25
  8. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +2 -22
  9. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +2 -2
  10. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +2 -27
  11. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +2 -27
  12. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.json +2 -2
  13. package/dist/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +2 -2
  14. package/dist/artifacts/core/lockers/RAACBotLocker.sol/RAACBotLocker.json +915 -0
  15. package/dist/artifacts/core/lockers/RAACLiquidLocker.sol/RAACLiquidLocker.json +2158 -0
  16. package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +911 -0
  17. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +59 -741
  18. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +106 -2
  19. package/dist/artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json +2 -2
  20. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +2 -2
  21. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  22. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +15 -2
  23. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +15 -2
  24. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +20 -49
  25. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  26. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +2 -2
  27. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +2 -2
  28. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +21 -2
  29. package/dist/artifacts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.json +621 -0
  30. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +101 -74
  31. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +24 -322
  32. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  33. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +66 -2
  34. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +45 -32
  35. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +15 -2
  36. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +15 -2
  37. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +46 -2
  38. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  39. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  40. package/dist/artifacts/zap/AladdinZap.sol/AladdinZap.json +398 -0
  41. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  42. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  43. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  44. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  45. package/dist/configs/chains/8453.json +34 -2
  46. package/dist/contracts/getContractAddress.js +2 -0
  47. package/dist/contracts/governance/proposals/getProposal.js +14 -11
  48. package/dist/contracts/lockers/botLocker/_helpers.js +19 -0
  49. package/dist/contracts/lockers/botLocker/claim.js +16 -0
  50. package/dist/contracts/lockers/botLocker/getClaimable.js +12 -0
  51. package/dist/contracts/lockers/botLocker/getClaimables.js +16 -0
  52. package/dist/contracts/lockers/botLocker/getClaimedRewards.js +13 -0
  53. package/dist/contracts/lockers/botLocker/getLockedTokenIds.js +10 -0
  54. package/dist/contracts/lockers/botLocker/getLocks.js +27 -0
  55. package/dist/contracts/lockers/botLocker/getRewardTokenCount.js +10 -0
  56. package/dist/contracts/lockers/botLocker/getRewardTokens.js +9 -0
  57. package/dist/contracts/lockers/botLocker/lock.js +17 -0
  58. package/dist/contracts/lockers/botLocker/unlock.js +17 -0
  59. package/dist/contracts/lockers/botLocker/unlockAndClaim.js +16 -0
  60. package/dist/contracts/lockers/liquidLocker/_helpers.js +19 -0
  61. package/dist/contracts/lockers/liquidLocker/borrow.js +17 -0
  62. package/dist/contracts/lockers/liquidLocker/deposit.js +17 -0
  63. package/dist/contracts/lockers/liquidLocker/donate.js +16 -0
  64. package/dist/contracts/lockers/liquidLocker/getConfig.js +52 -0
  65. package/dist/contracts/lockers/liquidLocker/getGlobalInfo.js +39 -0
  66. package/dist/contracts/lockers/liquidLocker/getUserInfo.js +28 -0
  67. package/dist/contracts/lockers/liquidLocker/getUserLocks.js +26 -0
  68. package/dist/contracts/lockers/liquidLocker/harvest.js +17 -0
  69. package/dist/contracts/lockers/liquidLocker/isKeeper.js +9 -0
  70. package/dist/contracts/lockers/liquidLocker/processVaultExpiredLocks.js +17 -0
  71. package/dist/contracts/lockers/liquidLocker/repay.js +17 -0
  72. package/dist/contracts/lockers/liquidLocker/requestUnlock.js +17 -0
  73. package/dist/contracts/lockers/liquidLocker/voteGauge.js +17 -0
  74. package/dist/contracts/lockers/liquidLocker/voteGovernance.js +16 -0
  75. package/dist/contracts/lockers/liquidLocker/withdrawUnlocked.js +16 -0
  76. package/dist/contracts/lockers/maturityVault/_helpers.js +19 -0
  77. package/dist/contracts/lockers/maturityVault/claim.js +16 -0
  78. package/dist/contracts/lockers/maturityVault/deposit.js +17 -0
  79. package/dist/contracts/lockers/maturityVault/depositFor.js +16 -0
  80. package/dist/contracts/lockers/maturityVault/distribute.js +17 -0
  81. package/dist/contracts/lockers/maturityVault/exit.js +16 -0
  82. package/dist/contracts/lockers/maturityVault/getConfig.js +26 -0
  83. package/dist/contracts/lockers/maturityVault/getGlobalInfo.js +45 -0
  84. package/dist/contracts/lockers/maturityVault/getUserInfo.js +18 -0
  85. package/dist/contracts/lockers/maturityVault/harvest.js +16 -0
  86. package/dist/contracts/lockers/maturityVault/isWhitelisted.js +9 -0
  87. package/dist/contracts/lockers/maturityVault/updatePendingDistribution.js +16 -0
  88. package/dist/contracts/lockers/maturityVault/withdraw.js +16 -0
  89. package/dist/contracts/lockers/maturityVault/withdrawAll.js +16 -0
  90. package/dist/contracts/tokens/leRAAC/_helpers.js +19 -0
  91. package/dist/contracts/tokens/leRAAC/approve.js +13 -0
  92. package/dist/contracts/tokens/leRAAC/burn.js +16 -0
  93. package/dist/contracts/tokens/leRAAC/burnFrom.js +16 -0
  94. package/dist/contracts/tokens/leRAAC/getAllowance.js +11 -0
  95. package/dist/contracts/tokens/leRAAC/getBalance.js +11 -0
  96. package/dist/contracts/tokens/leRAAC/getMinterInfo.js +15 -0
  97. package/dist/contracts/tokens/leRAAC/getTotalSupply.js +11 -0
  98. package/dist/contracts/tokens/leRAAC/transfer.js +13 -0
  99. package/dist/contracts/tokens/leRAAC/transferFrom.js +13 -0
  100. package/dist/contracts/zap/aladdin/_helpers.js +19 -0
  101. package/dist/contracts/zap/aladdin/_types.js +38 -0
  102. package/dist/contracts/zap/aladdin/decodeRoute.js +36 -0
  103. package/dist/contracts/zap/aladdin/encodeRoute.js +34 -0
  104. package/dist/contracts/zap/aladdin/getCurvePoolToken.js +13 -0
  105. package/dist/contracts/zap/aladdin/getOwner.js +9 -0
  106. package/dist/contracts/zap/aladdin/getPool2Token.js +12 -0
  107. package/dist/contracts/zap/aladdin/getRoutes.js +16 -0
  108. package/dist/contracts/zap/aladdin/getVersion.js +9 -0
  109. package/dist/contracts/zap/aladdin/rescue.js +16 -0
  110. package/dist/contracts/zap/aladdin/updatePoolTokens.js +19 -0
  111. package/dist/contracts/zap/aladdin/updateRoute.js +31 -0
  112. package/dist/contracts/zap/aladdin/validateRoute.js +80 -0
  113. package/dist/contracts/zap/aladdin/zap.js +18 -0
  114. package/dist/contracts/zap/aladdin/zapFrom.js +18 -0
  115. package/dist/contracts/zap/aladdin/zapWithRoutes.js +28 -0
  116. package/dist/contracts/zap/codec.js +423 -0
  117. package/dist/minter/_helpers.js +19 -0
  118. package/dist/minter/activate.js +18 -0
  119. package/dist/minter/addDistributionPool.js +17 -0
  120. package/dist/minter/calculateScheduledMintableAmount.js +14 -0
  121. package/dist/minter/get.js +44 -112
  122. package/dist/minter/getApy.js +55 -19
  123. package/dist/minter/getDistributionPools.js +39 -0
  124. package/dist/minter/getEmissionPerSecond.js +25 -0
  125. package/dist/minter/getPoolInfo.js +23 -0
  126. package/dist/minter/isPaused.js +9 -0
  127. package/dist/minter/manageDistributionPool.js +18 -0
  128. package/dist/minter/pause.js +24 -0
  129. package/dist/minter/removeDistributionPool.js +20 -0
  130. package/dist/minter/tick.js +12 -24
  131. package/dist/tests/liquidLocker.test.js +262 -0
  132. package/dist/tests/test.js +1 -1
  133. package/dist/types/RPCLibrary.d.ts +173 -0
  134. package/dist/types/contracts/lockers/botLocker/_helpers.d.ts +4 -0
  135. package/dist/types/contracts/lockers/botLocker/claim.d.ts +6 -0
  136. package/dist/types/contracts/lockers/botLocker/getClaimable.d.ts +6 -0
  137. package/dist/types/contracts/lockers/botLocker/getClaimables.d.ts +10 -0
  138. package/dist/types/contracts/lockers/botLocker/getClaimedRewards.d.ts +7 -0
  139. package/dist/types/contracts/lockers/botLocker/getLockedTokenIds.d.ts +3 -0
  140. package/dist/types/contracts/lockers/botLocker/getLocks.d.ts +15 -0
  141. package/dist/types/contracts/lockers/botLocker/getRewardTokenCount.d.ts +3 -0
  142. package/dist/types/contracts/lockers/botLocker/getRewardTokens.d.ts +3 -0
  143. package/dist/types/contracts/lockers/botLocker/lock.d.ts +7 -0
  144. package/dist/types/contracts/lockers/botLocker/unlock.d.ts +7 -0
  145. package/dist/types/contracts/lockers/botLocker/unlockAndClaim.d.ts +6 -0
  146. package/dist/types/contracts/lockers/liquidLocker/_helpers.d.ts +4 -0
  147. package/dist/types/contracts/lockers/liquidLocker/borrow.d.ts +7 -0
  148. package/dist/types/contracts/lockers/liquidLocker/deposit.d.ts +7 -0
  149. package/dist/types/contracts/lockers/liquidLocker/donate.d.ts +6 -0
  150. package/dist/types/contracts/lockers/liquidLocker/getConfig.d.ts +27 -0
  151. package/dist/types/contracts/lockers/liquidLocker/getGlobalInfo.d.ts +24 -0
  152. package/dist/types/contracts/lockers/liquidLocker/getUserInfo.d.ts +21 -0
  153. package/dist/types/contracts/lockers/liquidLocker/getUserLocks.d.ts +17 -0
  154. package/dist/types/contracts/lockers/liquidLocker/harvest.d.ts +7 -0
  155. package/dist/types/contracts/lockers/liquidLocker/isKeeper.d.ts +3 -0
  156. package/dist/types/contracts/lockers/liquidLocker/processVaultExpiredLocks.d.ts +7 -0
  157. package/dist/types/contracts/lockers/liquidLocker/repay.d.ts +7 -0
  158. package/dist/types/contracts/lockers/liquidLocker/requestUnlock.d.ts +7 -0
  159. package/dist/types/contracts/lockers/liquidLocker/voteGauge.d.ts +7 -0
  160. package/dist/types/contracts/lockers/liquidLocker/voteGovernance.d.ts +6 -0
  161. package/dist/types/contracts/lockers/liquidLocker/withdrawUnlocked.d.ts +6 -0
  162. package/dist/types/contracts/lockers/maturityVault/_helpers.d.ts +4 -0
  163. package/dist/types/contracts/lockers/maturityVault/claim.d.ts +6 -0
  164. package/dist/types/contracts/lockers/maturityVault/deposit.d.ts +7 -0
  165. package/dist/types/contracts/lockers/maturityVault/depositFor.d.ts +6 -0
  166. package/dist/types/contracts/lockers/maturityVault/distribute.d.ts +7 -0
  167. package/dist/types/contracts/lockers/maturityVault/exit.d.ts +6 -0
  168. package/dist/types/contracts/lockers/maturityVault/getConfig.d.ts +12 -0
  169. package/dist/types/contracts/lockers/maturityVault/getGlobalInfo.d.ts +32 -0
  170. package/dist/types/contracts/lockers/maturityVault/getUserInfo.d.ts +14 -0
  171. package/dist/types/contracts/lockers/maturityVault/harvest.d.ts +6 -0
  172. package/dist/types/contracts/lockers/maturityVault/isWhitelisted.d.ts +3 -0
  173. package/dist/types/contracts/lockers/maturityVault/updatePendingDistribution.d.ts +6 -0
  174. package/dist/types/contracts/lockers/maturityVault/withdraw.d.ts +6 -0
  175. package/dist/types/contracts/lockers/maturityVault/withdrawAll.d.ts +6 -0
  176. package/dist/types/contracts/tokens/leRAAC/_helpers.d.ts +4 -0
  177. package/dist/types/contracts/tokens/leRAAC/approve.d.ts +3 -0
  178. package/dist/types/contracts/tokens/leRAAC/burn.d.ts +6 -0
  179. package/dist/types/contracts/tokens/leRAAC/burnFrom.d.ts +6 -0
  180. package/dist/types/contracts/tokens/leRAAC/getAllowance.d.ts +3 -0
  181. package/dist/types/contracts/tokens/leRAAC/getBalance.d.ts +3 -0
  182. package/dist/types/contracts/tokens/leRAAC/getMinterInfo.d.ts +8 -0
  183. package/dist/types/contracts/tokens/leRAAC/getTotalSupply.d.ts +3 -0
  184. package/dist/types/contracts/tokens/leRAAC/transfer.d.ts +3 -0
  185. package/dist/types/contracts/tokens/leRAAC/transferFrom.d.ts +3 -0
  186. package/dist/types/contracts/zap/aladdin/_helpers.d.ts +4 -0
  187. package/dist/types/contracts/zap/aladdin/_types.d.ts +44 -0
  188. package/dist/types/contracts/zap/aladdin/decodeRoute.d.ts +14 -0
  189. package/dist/types/contracts/zap/aladdin/encodeRoute.d.ts +18 -0
  190. package/dist/types/contracts/zap/aladdin/getCurvePoolToken.d.ts +8 -0
  191. package/dist/types/contracts/zap/aladdin/getOwner.d.ts +3 -0
  192. package/dist/types/contracts/zap/aladdin/getPool2Token.d.ts +6 -0
  193. package/dist/types/contracts/zap/aladdin/getRoutes.d.ts +13 -0
  194. package/dist/types/contracts/zap/aladdin/getVersion.d.ts +3 -0
  195. package/dist/types/contracts/zap/aladdin/rescue.d.ts +6 -0
  196. package/dist/types/contracts/zap/aladdin/updatePoolTokens.d.ts +6 -0
  197. package/dist/types/contracts/zap/aladdin/updateRoute.d.ts +13 -0
  198. package/dist/types/contracts/zap/aladdin/validateRoute.d.ts +26 -0
  199. package/dist/types/contracts/zap/aladdin/zap.d.ts +8 -0
  200. package/dist/types/contracts/zap/aladdin/zapFrom.d.ts +8 -0
  201. package/dist/types/contracts/zap/aladdin/zapWithRoutes.d.ts +11 -0
  202. package/dist/types/contracts/zap/codec.d.ts +36 -0
  203. package/dist/types/minter/_helpers.d.ts +4 -0
  204. package/dist/types/minter/activate.d.ts +8 -0
  205. package/dist/types/minter/addDistributionPool.d.ts +7 -0
  206. package/dist/types/minter/calculateScheduledMintableAmount.d.ts +8 -0
  207. package/dist/types/minter/get.d.ts +28 -16
  208. package/dist/types/minter/getApy.d.ts +19 -2
  209. package/dist/types/minter/getDistributionPools.d.ts +16 -0
  210. package/dist/types/minter/getEmissionPerSecond.d.ts +8 -0
  211. package/dist/types/minter/getPoolInfo.d.ts +13 -0
  212. package/dist/types/minter/isPaused.d.ts +3 -0
  213. package/dist/types/minter/manageDistributionPool.d.ts +8 -0
  214. package/dist/types/minter/pause.d.ts +6 -0
  215. package/dist/types/minter/removeDistributionPool.d.ts +10 -0
  216. package/dist/types/minter/tick.d.ts +7 -3
  217. package/dist/types/tests/liquidLocker.test.d.ts +18 -0
  218. package/dist/types/typechain-types/@openzeppelin/{contracts-v3/token/ERC20/IERC20.d.ts → contracts/token/ERC20/extensions/ERC20Capped.d.ts} +34 -18
  219. package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  220. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts +2 -0
  221. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.d.ts +155 -0
  222. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +1 -0
  223. package/dist/types/typechain-types/@openzeppelin/index.d.ts +0 -2
  224. package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +15 -1
  225. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +1 -25
  226. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +1 -13
  227. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +1 -25
  228. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +1 -25
  229. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +101 -171
  230. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +5 -38
  231. package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +58 -418
  232. package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +108 -2
  233. package/dist/types/typechain-types/contracts/core/oracles/KYCVerifyModule.sol/IKYCVerifyModule.d.ts +25 -0
  234. package/dist/types/typechain-types/{@openzeppelin/contracts-v3/access/Ownable.d.ts → contracts/core/oracles/KYCVerifyModule.sol/KYCVerifyModule.d.ts} +10 -6
  235. package/dist/types/typechain-types/contracts/core/oracles/KYCVerifyModule.sol/index.d.ts +2 -0
  236. package/dist/types/typechain-types/contracts/core/oracles/PmUSDToUSDOracle.d.ts +338 -0
  237. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +60 -4
  238. package/dist/types/typechain-types/contracts/core/oracles/ZkMeKYCVerifyModule.sol/ZKMEKYCVerifyModule.d.ts +110 -0
  239. package/dist/types/typechain-types/contracts/core/oracles/ZkMeKYCVerifyModule.sol/index.d.ts +1 -0
  240. package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +5 -0
  241. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +15 -1
  242. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.d.ts +15 -1
  243. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +9 -23
  244. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +8 -4
  245. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +8 -4
  246. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +8 -4
  247. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +70 -1
  248. package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +16 -1
  249. package/dist/types/typechain-types/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.d.ts +3 -3
  250. package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +65 -50
  251. package/dist/types/typechain-types/contracts/core/tokens/RAACToken.d.ts +6 -191
  252. package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +62 -1
  253. package/dist/types/typechain-types/contracts/core/tokens/SToken.d.ts +804 -0
  254. package/dist/types/typechain-types/contracts/core/tokens/index.d.ts +1 -0
  255. package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.d.ts +15 -1
  256. package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.d.ts +15 -1
  257. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +15 -1
  258. package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +28 -2
  259. package/dist/types/typechain-types/contracts/index.d.ts +2 -0
  260. package/dist/types/typechain-types/contracts/interfaces/IZap.d.ts +15 -1
  261. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +1 -25
  262. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +30 -37
  263. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +68 -205
  264. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +100 -2
  265. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable.d.ts +15 -1
  266. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +1 -19
  267. package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap.d.ts +70 -1
  268. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +16 -1
  269. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +36 -25
  270. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACToken.d.ts +2 -179
  271. package/dist/types/typechain-types/contracts/interfaces/core/tokens/ISToken.d.ts +454 -0
  272. package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +1 -0
  273. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +15 -1
  274. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +19 -3
  275. package/dist/types/typechain-types/contracts/interfaces/curve/ICurveCrvUSDVault.d.ts +47 -1
  276. package/dist/types/typechain-types/contracts/mocks/core/curve/CurveCrvUSDVaultMock.d.ts +47 -1
  277. package/dist/types/typechain-types/contracts/mocks/core/index.d.ts +2 -0
  278. package/dist/types/typechain-types/contracts/mocks/core/minters/MockRAACMinterRewardsReceiver.d.ts +181 -0
  279. package/dist/types/typechain-types/contracts/mocks/core/minters/index.d.ts +1 -0
  280. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable.d.ts +15 -1
  281. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +1 -19
  282. package/dist/types/typechain-types/contracts/mocks/core/tokens/MockFeeOnTransferToken.d.ts +163 -0
  283. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  284. package/dist/types/typechain-types/contracts/mocks/libraries/index.d.ts +2 -0
  285. package/dist/types/typechain-types/contracts/mocks/libraries/minters/EmissionScheduleMock.d.ts +91 -0
  286. package/dist/types/typechain-types/contracts/mocks/libraries/minters/index.d.ts +1 -0
  287. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/ChainlinkOracleAdapter.d.ts +212 -0
  288. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/IRWACoordinator.d.ts +67 -0
  289. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/index.d.ts +2 -0
  290. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/ITokenBlender.d.ts +331 -0
  291. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/TokenBlender.d.ts +671 -0
  292. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/index.d.ts +2 -0
  293. package/dist/types/typechain-types/contracts/rwaf/index.d.ts +4 -0
  294. package/dist/types/typechain-types/contracts/zap/AladdinZap.d.ts +15 -1
  295. package/dist/types/typechain-types/contracts/zap/index.d.ts +0 -2
  296. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
  297. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
  298. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
  299. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +1 -1
  300. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +1 -1
  301. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped__factory.d.ts +271 -0
  302. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  303. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  304. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  305. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
  306. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  307. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  308. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  309. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
  310. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  311. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts +1 -0
  312. package/dist/types/typechain-types/factories/@openzeppelin/{contracts-v3/token/ERC20/IERC20__factory.d.ts → contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts} +122 -10
  313. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +1 -0
  314. package/dist/types/typechain-types/factories/@openzeppelin/index.d.ts +0 -1
  315. package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +1 -1
  316. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  317. package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +11 -1
  318. package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +1 -1
  319. package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +1 -1
  320. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +1 -1
  321. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +0 -20
  322. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -17
  323. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
  324. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -21
  325. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -21
  326. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +1 -1
  327. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +1 -1
  328. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +1 -1
  329. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
  330. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -1
  331. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +129 -197
  332. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +11 -51
  333. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACNFTLocker__factory.d.ts +1 -1
  334. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +28 -557
  335. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +1 -1
  336. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +81 -1
  337. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +1 -1
  338. package/dist/types/typechain-types/factories/contracts/core/oracles/KYCVerifyModule.sol/IKYCVerifyModule__factory.d.ts +25 -0
  339. package/dist/types/typechain-types/factories/{@openzeppelin/contracts-v3/access/Ownable__factory.d.ts → contracts/core/oracles/KYCVerifyModule.sol/KYCVerifyModule__factory.d.ts} +38 -4
  340. package/dist/types/typechain-types/factories/contracts/core/oracles/KYCVerifyModule.sol/index.d.ts +2 -0
  341. package/dist/types/typechain-types/factories/contracts/core/oracles/PmUSDToUSDOracle__factory.d.ts +443 -0
  342. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +1 -1
  343. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  344. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +97 -3
  345. package/dist/types/typechain-types/factories/contracts/core/oracles/ZkMeKYCVerifyModule.sol/ZKMEKYCVerifyModule__factory.d.ts +181 -0
  346. package/dist/types/typechain-types/factories/contracts/core/oracles/ZkMeKYCVerifyModule.sol/index.d.ts +1 -0
  347. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +1 -1
  348. package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +3 -0
  349. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +11 -1
  350. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter__factory.d.ts +11 -1
  351. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +9 -5
  352. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +9 -31
  353. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +9 -5
  354. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +9 -5
  355. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  356. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +62 -3
  357. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  358. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  359. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts +1 -1
  360. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +1 -1
  361. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +16 -1
  362. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  363. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  364. package/dist/types/typechain-types/factories/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC__factory.d.ts +7 -3
  365. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +79 -58
  366. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +21 -252
  367. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  368. package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +51 -1
  369. package/dist/types/typechain-types/factories/contracts/core/tokens/SToken__factory.d.ts +1153 -0
  370. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
  371. package/dist/types/typechain-types/factories/contracts/core/tokens/index.d.ts +1 -0
  372. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter__factory.d.ts +11 -1
  373. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +11 -1
  374. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/RAACNFTVaultAdapterOracle__factory.d.ts +1 -1
  375. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +11 -1
  376. package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +35 -1
  377. package/dist/types/typechain-types/factories/contracts/index.d.ts +1 -0
  378. package/dist/types/typechain-types/factories/contracts/interfaces/IZap__factory.d.ts +18 -0
  379. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +0 -20
  380. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +26 -29
  381. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +44 -230
  382. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +70 -0
  383. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable__factory.d.ts +18 -0
  384. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +0 -26
  385. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +55 -0
  386. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +15 -0
  387. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +28 -15
  388. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACToken__factory.d.ts +0 -219
  389. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/ISToken__factory.d.ts +564 -0
  390. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +1 -0
  391. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +10 -0
  392. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +10 -0
  393. package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveCrvUSDVault__factory.d.ts +66 -0
  394. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  395. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  396. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  397. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
  398. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
  399. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  400. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  401. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  402. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  403. package/dist/types/typechain-types/factories/contracts/mocks/ERC20BurnableMock__factory.d.ts +1 -1
  404. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
  405. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
  406. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +67 -1
  407. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
  408. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  409. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
  410. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +1 -1
  411. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  412. package/dist/types/typechain-types/factories/contracts/mocks/core/index.d.ts +1 -0
  413. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +1 -1
  414. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/MockLamaLocker__factory.d.ts +1 -1
  415. package/dist/types/typechain-types/factories/contracts/mocks/core/minters/MockRAACMinterRewardsReceiver__factory.d.ts +184 -0
  416. package/dist/types/typechain-types/factories/contracts/mocks/core/minters/index.d.ts +1 -0
  417. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +1 -1
  418. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +1 -1
  419. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle__factory.d.ts +1 -1
  420. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  421. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  422. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +1 -1
  423. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  424. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +19 -1
  425. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +1 -1
  426. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  427. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +1 -1
  428. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +1 -1
  429. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +1 -27
  430. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
  431. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +1 -1
  432. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  433. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  434. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +1 -1
  435. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  436. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  437. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -1
  438. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  439. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +1 -1
  440. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  441. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  442. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  443. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
  444. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  445. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeOnTransferToken__factory.d.ts +306 -0
  446. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  447. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  448. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  449. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  450. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
  451. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  452. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
  453. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  454. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
  455. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
  456. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
  457. package/dist/types/typechain-types/factories/contracts/mocks/libraries/index.d.ts +1 -0
  458. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  459. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  460. package/dist/types/typechain-types/factories/contracts/mocks/libraries/minters/EmissionScheduleMock__factory.d.ts +115 -0
  461. package/dist/types/typechain-types/factories/contracts/mocks/libraries/minters/index.d.ts +1 -0
  462. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  463. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  464. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  465. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  466. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  467. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/ChainlinkOracleAdapter__factory.d.ts +295 -0
  468. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/IRWACoordinator__factory.d.ts +43 -0
  469. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/index.d.ts +2 -0
  470. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/ITokenBlender__factory.d.ts +409 -0
  471. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/TokenBlender__factory.d.ts +990 -0
  472. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/index.d.ts +2 -0
  473. package/dist/types/typechain-types/factories/contracts/rwaf/index.d.ts +2 -0
  474. package/dist/types/typechain-types/factories/contracts/zap/AladdinZap__factory.d.ts +19 -1
  475. package/dist/types/typechain-types/factories/contracts/zap/index.d.ts +0 -2
  476. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +1 -1
  477. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +1 -1
  478. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  479. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
  480. package/dist/types/typechain-types/index.d.ts +34 -8
  481. package/dist/types/utils/artifacts.d.ts +616 -95
  482. package/dist/utils/artifacts.js +16 -0
  483. package/dist/utils/contracts.js +1 -1
  484. package/package.json +1 -1
  485. package/dist/types/typechain-types/@openzeppelin/contracts-v3/access/index.d.ts +0 -1
  486. package/dist/types/typechain-types/@openzeppelin/contracts-v3/index.d.ts +0 -4
  487. package/dist/types/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +0 -1
  488. package/dist/types/typechain-types/contracts/zap/AladdinCRVZap.d.ts +0 -83
  489. package/dist/types/typechain-types/contracts/zap/AladdinConvexVaultZap.d.ts +0 -172
  490. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/access/index.d.ts +0 -1
  491. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/index.d.ts +0 -2
  492. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +0 -1
  493. package/dist/types/typechain-types/factories/contracts/zap/AladdinCRVZap__factory.d.ts +0 -107
  494. package/dist/types/typechain-types/factories/contracts/zap/AladdinConvexVaultZap__factory.d.ts +0 -208
  495. /package/dist/types/typechain-types/@openzeppelin/{contracts-v3 → contracts-upgradeable}/token/index.d.ts +0 -0
  496. /package/dist/types/typechain-types/factories/@openzeppelin/{contracts-v3 → contracts-upgradeable}/token/index.d.ts +0 -0
@@ -0,0 +1,2158 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RAACLiquidLocker",
4
+ "sourceName": "contracts/core/lockers/RAACLiquidLocker.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "AccessControlBadConfirmation",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "account",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "bytes32",
25
+ "name": "neededRole",
26
+ "type": "bytes32"
27
+ }
28
+ ],
29
+ "name": "AccessControlUnauthorizedAccount",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "EnforcedPause",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "EpochNotReached",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "ExpectedPause",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "FeeSharesNotMatchingTreasuryFee",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "FeeTooLarge",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "InsufficientBalance",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "InsufficientCollateral",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "InsufficientOutput",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "InsufficientToUnlock",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "InsufficientUnlocked",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "InvalidAddress",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "InvalidAmount",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "InvalidInitialization",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "InvalidLength",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "InvalidPercentage",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [],
109
+ "name": "InvalidSlippageTolerance",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "InvalidTimestamp",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "InvalidToken",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "NoRoutesFound",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "NonZeroValue",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "NotEnoughLocksReserved",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [],
139
+ "name": "NotInitializing",
140
+ "type": "error"
141
+ },
142
+ {
143
+ "inputs": [
144
+ {
145
+ "internalType": "address",
146
+ "name": "owner",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "OwnableInvalidOwner",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [
155
+ {
156
+ "internalType": "address",
157
+ "name": "account",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "OwnableUnauthorizedAccount",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "ReentrancyGuardReentrantCall",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "internalType": "address",
173
+ "name": "token",
174
+ "type": "address"
175
+ }
176
+ ],
177
+ "name": "SafeERC20FailedOperation",
178
+ "type": "error"
179
+ },
180
+ {
181
+ "inputs": [],
182
+ "name": "Unauthorized",
183
+ "type": "error"
184
+ },
185
+ {
186
+ "inputs": [],
187
+ "name": "ZeroAddress",
188
+ "type": "error"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": false,
195
+ "internalType": "uint256",
196
+ "name": "usersCount",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "totalProcessed",
203
+ "type": "uint256"
204
+ }
205
+ ],
206
+ "name": "BatchProcessCompleted",
207
+ "type": "event"
208
+ },
209
+ {
210
+ "anonymous": false,
211
+ "inputs": [
212
+ {
213
+ "indexed": true,
214
+ "internalType": "address",
215
+ "name": "_borrower",
216
+ "type": "address"
217
+ },
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "_recipient",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint256",
227
+ "name": "_amount",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "name": "Borrow",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": true,
239
+ "internalType": "address",
240
+ "name": "_account",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "indexed": false,
245
+ "internalType": "uint256",
246
+ "name": "_amount",
247
+ "type": "uint256"
248
+ }
249
+ ],
250
+ "name": "Claim",
251
+ "type": "event"
252
+ },
253
+ {
254
+ "anonymous": false,
255
+ "inputs": [
256
+ {
257
+ "indexed": true,
258
+ "internalType": "address",
259
+ "name": "token",
260
+ "type": "address"
261
+ },
262
+ {
263
+ "indexed": false,
264
+ "internalType": "uint256",
265
+ "name": "amountClaimed",
266
+ "type": "uint256"
267
+ }
268
+ ],
269
+ "name": "ClaimRewardClaimed",
270
+ "type": "event"
271
+ },
272
+ {
273
+ "anonymous": false,
274
+ "inputs": [
275
+ {
276
+ "indexed": true,
277
+ "internalType": "address",
278
+ "name": "token",
279
+ "type": "address"
280
+ },
281
+ {
282
+ "indexed": false,
283
+ "internalType": "string",
284
+ "name": "reason",
285
+ "type": "string"
286
+ }
287
+ ],
288
+ "name": "ClaimRewardFailed",
289
+ "type": "event"
290
+ },
291
+ {
292
+ "anonymous": false,
293
+ "inputs": [
294
+ {
295
+ "indexed": true,
296
+ "internalType": "address",
297
+ "name": "_depositor",
298
+ "type": "address"
299
+ },
300
+ {
301
+ "indexed": true,
302
+ "internalType": "address",
303
+ "name": "_recipient",
304
+ "type": "address"
305
+ },
306
+ {
307
+ "indexed": false,
308
+ "internalType": "uint256",
309
+ "name": "_amount",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "name": "Deposit",
314
+ "type": "event"
315
+ },
316
+ {
317
+ "anonymous": false,
318
+ "inputs": [
319
+ {
320
+ "indexed": true,
321
+ "internalType": "address",
322
+ "name": "_gauge",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "indexed": false,
327
+ "internalType": "uint256",
328
+ "name": "_amount",
329
+ "type": "uint256"
330
+ },
331
+ {
332
+ "indexed": false,
333
+ "internalType": "address",
334
+ "name": "_token",
335
+ "type": "address"
336
+ }
337
+ ],
338
+ "name": "DepositedToGauge",
339
+ "type": "event"
340
+ },
341
+ {
342
+ "anonymous": false,
343
+ "inputs": [
344
+ {
345
+ "indexed": true,
346
+ "internalType": "address",
347
+ "name": "_controller",
348
+ "type": "address"
349
+ },
350
+ {
351
+ "indexed": true,
352
+ "internalType": "address",
353
+ "name": "_gauge",
354
+ "type": "address"
355
+ },
356
+ {
357
+ "indexed": false,
358
+ "internalType": "uint256",
359
+ "name": "_weight",
360
+ "type": "uint256"
361
+ }
362
+ ],
363
+ "name": "GaugeVote",
364
+ "type": "event"
365
+ },
366
+ {
367
+ "anonymous": false,
368
+ "inputs": [
369
+ {
370
+ "indexed": true,
371
+ "internalType": "address",
372
+ "name": "_governance",
373
+ "type": "address"
374
+ },
375
+ {
376
+ "indexed": true,
377
+ "internalType": "uint256",
378
+ "name": "_proposalId",
379
+ "type": "uint256"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "bool",
384
+ "name": "_support",
385
+ "type": "bool"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "uint256",
390
+ "name": "_votingPower",
391
+ "type": "uint256"
392
+ }
393
+ ],
394
+ "name": "GovernanceVote",
395
+ "type": "event"
396
+ },
397
+ {
398
+ "anonymous": false,
399
+ "inputs": [
400
+ {
401
+ "indexed": true,
402
+ "internalType": "address",
403
+ "name": "_caller",
404
+ "type": "address"
405
+ },
406
+ {
407
+ "indexed": false,
408
+ "internalType": "uint256",
409
+ "name": "_reward",
410
+ "type": "uint256"
411
+ },
412
+ {
413
+ "indexed": false,
414
+ "internalType": "uint256",
415
+ "name": "_platformFee",
416
+ "type": "uint256"
417
+ },
418
+ {
419
+ "indexed": false,
420
+ "internalType": "uint256",
421
+ "name": "_harvestBounty",
422
+ "type": "uint256"
423
+ }
424
+ ],
425
+ "name": "Harvest",
426
+ "type": "event"
427
+ },
428
+ {
429
+ "anonymous": false,
430
+ "inputs": [
431
+ {
432
+ "indexed": false,
433
+ "internalType": "uint64",
434
+ "name": "version",
435
+ "type": "uint64"
436
+ }
437
+ ],
438
+ "name": "Initialized",
439
+ "type": "event"
440
+ },
441
+ {
442
+ "anonymous": false,
443
+ "inputs": [
444
+ {
445
+ "indexed": true,
446
+ "internalType": "address",
447
+ "name": "previousOwner",
448
+ "type": "address"
449
+ },
450
+ {
451
+ "indexed": true,
452
+ "internalType": "address",
453
+ "name": "newOwner",
454
+ "type": "address"
455
+ }
456
+ ],
457
+ "name": "OwnershipTransferred",
458
+ "type": "event"
459
+ },
460
+ {
461
+ "anonymous": false,
462
+ "inputs": [
463
+ {
464
+ "indexed": false,
465
+ "internalType": "address",
466
+ "name": "account",
467
+ "type": "address"
468
+ }
469
+ ],
470
+ "name": "Paused",
471
+ "type": "event"
472
+ },
473
+ {
474
+ "anonymous": false,
475
+ "inputs": [
476
+ {
477
+ "indexed": false,
478
+ "internalType": "uint256",
479
+ "name": "epoch",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "indexed": false,
484
+ "internalType": "uint256",
485
+ "name": "amount",
486
+ "type": "uint256"
487
+ },
488
+ {
489
+ "indexed": false,
490
+ "internalType": "uint256",
491
+ "name": "extra",
492
+ "type": "uint256"
493
+ }
494
+ ],
495
+ "name": "ProcessUnlockableRAAC",
496
+ "type": "event"
497
+ },
498
+ {
499
+ "anonymous": false,
500
+ "inputs": [
501
+ {
502
+ "indexed": true,
503
+ "internalType": "address",
504
+ "name": "_account",
505
+ "type": "address"
506
+ },
507
+ {
508
+ "indexed": false,
509
+ "internalType": "uint256",
510
+ "name": "_leRAACAmount",
511
+ "type": "uint256"
512
+ }
513
+ ],
514
+ "name": "Repay",
515
+ "type": "event"
516
+ },
517
+ {
518
+ "anonymous": false,
519
+ "inputs": [
520
+ {
521
+ "indexed": true,
522
+ "internalType": "address",
523
+ "name": "_user",
524
+ "type": "address"
525
+ },
526
+ {
527
+ "indexed": true,
528
+ "internalType": "address",
529
+ "name": "_gauge",
530
+ "type": "address"
531
+ },
532
+ {
533
+ "indexed": true,
534
+ "internalType": "address",
535
+ "name": "_token",
536
+ "type": "address"
537
+ },
538
+ {
539
+ "indexed": false,
540
+ "internalType": "uint256",
541
+ "name": "_amount",
542
+ "type": "uint256"
543
+ }
544
+ ],
545
+ "name": "RewardClaimedFor",
546
+ "type": "event"
547
+ },
548
+ {
549
+ "anonymous": false,
550
+ "inputs": [
551
+ {
552
+ "indexed": true,
553
+ "internalType": "bytes32",
554
+ "name": "role",
555
+ "type": "bytes32"
556
+ },
557
+ {
558
+ "indexed": true,
559
+ "internalType": "bytes32",
560
+ "name": "previousAdminRole",
561
+ "type": "bytes32"
562
+ },
563
+ {
564
+ "indexed": true,
565
+ "internalType": "bytes32",
566
+ "name": "newAdminRole",
567
+ "type": "bytes32"
568
+ }
569
+ ],
570
+ "name": "RoleAdminChanged",
571
+ "type": "event"
572
+ },
573
+ {
574
+ "anonymous": false,
575
+ "inputs": [
576
+ {
577
+ "indexed": true,
578
+ "internalType": "bytes32",
579
+ "name": "role",
580
+ "type": "bytes32"
581
+ },
582
+ {
583
+ "indexed": true,
584
+ "internalType": "address",
585
+ "name": "account",
586
+ "type": "address"
587
+ },
588
+ {
589
+ "indexed": true,
590
+ "internalType": "address",
591
+ "name": "sender",
592
+ "type": "address"
593
+ }
594
+ ],
595
+ "name": "RoleGranted",
596
+ "type": "event"
597
+ },
598
+ {
599
+ "anonymous": false,
600
+ "inputs": [
601
+ {
602
+ "indexed": true,
603
+ "internalType": "bytes32",
604
+ "name": "role",
605
+ "type": "bytes32"
606
+ },
607
+ {
608
+ "indexed": true,
609
+ "internalType": "address",
610
+ "name": "account",
611
+ "type": "address"
612
+ },
613
+ {
614
+ "indexed": true,
615
+ "internalType": "address",
616
+ "name": "sender",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "name": "RoleRevoked",
621
+ "type": "event"
622
+ },
623
+ {
624
+ "anonymous": false,
625
+ "inputs": [
626
+ {
627
+ "indexed": true,
628
+ "internalType": "address",
629
+ "name": "_account",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "indexed": false,
634
+ "internalType": "uint256",
635
+ "name": "_numLocks",
636
+ "type": "uint256"
637
+ },
638
+ {
639
+ "indexed": false,
640
+ "internalType": "uint256",
641
+ "name": "_amount",
642
+ "type": "uint256"
643
+ }
644
+ ],
645
+ "name": "Unlock",
646
+ "type": "event"
647
+ },
648
+ {
649
+ "anonymous": false,
650
+ "inputs": [
651
+ {
652
+ "indexed": false,
653
+ "internalType": "address",
654
+ "name": "account",
655
+ "type": "address"
656
+ }
657
+ ],
658
+ "name": "Unpaused",
659
+ "type": "event"
660
+ },
661
+ {
662
+ "anonymous": false,
663
+ "inputs": [
664
+ {
665
+ "indexed": true,
666
+ "internalType": "address",
667
+ "name": "_locker",
668
+ "type": "address"
669
+ }
670
+ ],
671
+ "name": "UpdateBotLocker",
672
+ "type": "event"
673
+ },
674
+ {
675
+ "anonymous": false,
676
+ "inputs": [
677
+ {
678
+ "indexed": true,
679
+ "internalType": "address",
680
+ "name": "_newRecipient",
681
+ "type": "address"
682
+ }
683
+ ],
684
+ "name": "UpdateCleverFeeRecipient",
685
+ "type": "event"
686
+ },
687
+ {
688
+ "anonymous": false,
689
+ "inputs": [
690
+ {
691
+ "indexed": false,
692
+ "internalType": "uint256",
693
+ "name": "_feeSharesBots",
694
+ "type": "uint256"
695
+ },
696
+ {
697
+ "indexed": false,
698
+ "internalType": "uint256",
699
+ "name": "_feeSharesClever",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "indexed": false,
704
+ "internalType": "uint256",
705
+ "name": "_feeSharesTreasury",
706
+ "type": "uint256"
707
+ },
708
+ {
709
+ "indexed": false,
710
+ "internalType": "uint256",
711
+ "name": "_treasuryFeePercentage",
712
+ "type": "uint256"
713
+ }
714
+ ],
715
+ "name": "UpdateFeeShares",
716
+ "type": "event"
717
+ },
718
+ {
719
+ "anonymous": false,
720
+ "inputs": [
721
+ {
722
+ "indexed": false,
723
+ "internalType": "uint256",
724
+ "name": "_percentage",
725
+ "type": "uint256"
726
+ }
727
+ ],
728
+ "name": "UpdateHarvestBountyPercentage",
729
+ "type": "event"
730
+ },
731
+ {
732
+ "anonymous": false,
733
+ "inputs": [
734
+ {
735
+ "indexed": true,
736
+ "internalType": "address",
737
+ "name": "_intermediateRewardToken",
738
+ "type": "address"
739
+ }
740
+ ],
741
+ "name": "UpdateIntermediateRewardToken",
742
+ "type": "event"
743
+ },
744
+ {
745
+ "anonymous": false,
746
+ "inputs": [
747
+ {
748
+ "indexed": false,
749
+ "internalType": "uint256",
750
+ "name": "_feePercentage",
751
+ "type": "uint256"
752
+ }
753
+ ],
754
+ "name": "UpdateRepayFeePercentage",
755
+ "type": "event"
756
+ },
757
+ {
758
+ "anonymous": false,
759
+ "inputs": [
760
+ {
761
+ "indexed": true,
762
+ "internalType": "address",
763
+ "name": "_treasury",
764
+ "type": "address"
765
+ }
766
+ ],
767
+ "name": "UpdateTreasury",
768
+ "type": "event"
769
+ },
770
+ {
771
+ "anonymous": false,
772
+ "inputs": [
773
+ {
774
+ "indexed": true,
775
+ "internalType": "address",
776
+ "name": "_whitelist",
777
+ "type": "address"
778
+ },
779
+ {
780
+ "indexed": false,
781
+ "internalType": "bool",
782
+ "name": "_status",
783
+ "type": "bool"
784
+ }
785
+ ],
786
+ "name": "UpdateWhitelist",
787
+ "type": "event"
788
+ },
789
+ {
790
+ "anonymous": false,
791
+ "inputs": [
792
+ {
793
+ "indexed": true,
794
+ "internalType": "address",
795
+ "name": "_zap",
796
+ "type": "address"
797
+ }
798
+ ],
799
+ "name": "UpdateZap",
800
+ "type": "event"
801
+ },
802
+ {
803
+ "anonymous": false,
804
+ "inputs": [
805
+ {
806
+ "indexed": false,
807
+ "internalType": "address",
808
+ "name": "user",
809
+ "type": "address"
810
+ },
811
+ {
812
+ "indexed": false,
813
+ "internalType": "uint256",
814
+ "name": "amount",
815
+ "type": "uint256"
816
+ }
817
+ ],
818
+ "name": "UserExpiredLocksProcessed",
819
+ "type": "event"
820
+ },
821
+ {
822
+ "anonymous": false,
823
+ "inputs": [
824
+ {
825
+ "indexed": false,
826
+ "internalType": "uint256",
827
+ "name": "amount",
828
+ "type": "uint256"
829
+ }
830
+ ],
831
+ "name": "VaultExpiredLocksProcessed",
832
+ "type": "event"
833
+ },
834
+ {
835
+ "anonymous": false,
836
+ "inputs": [
837
+ {
838
+ "indexed": true,
839
+ "internalType": "address",
840
+ "name": "_account",
841
+ "type": "address"
842
+ },
843
+ {
844
+ "indexed": false,
845
+ "internalType": "uint256",
846
+ "name": "_amount",
847
+ "type": "uint256"
848
+ }
849
+ ],
850
+ "name": "Withdraw",
851
+ "type": "event"
852
+ },
853
+ {
854
+ "anonymous": false,
855
+ "inputs": [
856
+ {
857
+ "indexed": true,
858
+ "internalType": "address",
859
+ "name": "_gauge",
860
+ "type": "address"
861
+ },
862
+ {
863
+ "indexed": false,
864
+ "internalType": "uint256",
865
+ "name": "_amount",
866
+ "type": "uint256"
867
+ },
868
+ {
869
+ "indexed": false,
870
+ "internalType": "address",
871
+ "name": "_token",
872
+ "type": "address"
873
+ }
874
+ ],
875
+ "name": "WithdrawnFromGauge",
876
+ "type": "event"
877
+ },
878
+ {
879
+ "inputs": [],
880
+ "name": "BOOSTER_ROLE",
881
+ "outputs": [
882
+ {
883
+ "internalType": "bytes32",
884
+ "name": "",
885
+ "type": "bytes32"
886
+ }
887
+ ],
888
+ "stateMutability": "view",
889
+ "type": "function"
890
+ },
891
+ {
892
+ "inputs": [],
893
+ "name": "DEFAULT_ADMIN_ROLE",
894
+ "outputs": [
895
+ {
896
+ "internalType": "bytes32",
897
+ "name": "",
898
+ "type": "bytes32"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [],
906
+ "name": "FEE_PRECISION",
907
+ "outputs": [
908
+ {
909
+ "internalType": "uint256",
910
+ "name": "",
911
+ "type": "uint256"
912
+ }
913
+ ],
914
+ "stateMutability": "view",
915
+ "type": "function"
916
+ },
917
+ {
918
+ "inputs": [],
919
+ "name": "HARVEST_ROLE",
920
+ "outputs": [
921
+ {
922
+ "internalType": "bytes32",
923
+ "name": "",
924
+ "type": "bytes32"
925
+ }
926
+ ],
927
+ "stateMutability": "view",
928
+ "type": "function"
929
+ },
930
+ {
931
+ "inputs": [],
932
+ "name": "ON_BEHALF_OF_ROLE",
933
+ "outputs": [
934
+ {
935
+ "internalType": "bytes32",
936
+ "name": "",
937
+ "type": "bytes32"
938
+ }
939
+ ],
940
+ "stateMutability": "view",
941
+ "type": "function"
942
+ },
943
+ {
944
+ "inputs": [],
945
+ "name": "PAUSER_ROLE",
946
+ "outputs": [
947
+ {
948
+ "internalType": "bytes32",
949
+ "name": "",
950
+ "type": "bytes32"
951
+ }
952
+ ],
953
+ "stateMutability": "view",
954
+ "type": "function"
955
+ },
956
+ {
957
+ "inputs": [],
958
+ "name": "accRewardPerShare",
959
+ "outputs": [
960
+ {
961
+ "internalType": "uint256",
962
+ "name": "",
963
+ "type": "uint256"
964
+ }
965
+ ],
966
+ "stateMutability": "view",
967
+ "type": "function"
968
+ },
969
+ {
970
+ "inputs": [
971
+ {
972
+ "internalType": "uint256",
973
+ "name": "_amount",
974
+ "type": "uint256"
975
+ },
976
+ {
977
+ "internalType": "bool",
978
+ "name": "_depositMaturityVault",
979
+ "type": "bool"
980
+ }
981
+ ],
982
+ "name": "borrow",
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [
989
+ {
990
+ "internalType": "address",
991
+ "name": "_user",
992
+ "type": "address"
993
+ },
994
+ {
995
+ "internalType": "uint256",
996
+ "name": "_amount",
997
+ "type": "uint256"
998
+ },
999
+ {
1000
+ "internalType": "address",
1001
+ "name": "_gauge",
1002
+ "type": "address"
1003
+ },
1004
+ {
1005
+ "internalType": "address",
1006
+ "name": "_token",
1007
+ "type": "address"
1008
+ }
1009
+ ],
1010
+ "name": "claimRewardFor",
1011
+ "outputs": [
1012
+ {
1013
+ "internalType": "uint256",
1014
+ "name": "claimedAmount",
1015
+ "type": "uint256"
1016
+ }
1017
+ ],
1018
+ "stateMutability": "nonpayable",
1019
+ "type": "function"
1020
+ },
1021
+ {
1022
+ "inputs": [],
1023
+ "name": "cleverFeeRecipient",
1024
+ "outputs": [
1025
+ {
1026
+ "internalType": "address",
1027
+ "name": "",
1028
+ "type": "address"
1029
+ }
1030
+ ],
1031
+ "stateMutability": "view",
1032
+ "type": "function"
1033
+ },
1034
+ {
1035
+ "inputs": [
1036
+ {
1037
+ "internalType": "uint256",
1038
+ "name": "_amount",
1039
+ "type": "uint256"
1040
+ }
1041
+ ],
1042
+ "name": "deposit",
1043
+ "outputs": [],
1044
+ "stateMutability": "nonpayable",
1045
+ "type": "function"
1046
+ },
1047
+ {
1048
+ "inputs": [
1049
+ {
1050
+ "internalType": "address",
1051
+ "name": "_user",
1052
+ "type": "address"
1053
+ },
1054
+ {
1055
+ "internalType": "uint256",
1056
+ "name": "_amount",
1057
+ "type": "uint256"
1058
+ }
1059
+ ],
1060
+ "name": "depositOnBehalfOf",
1061
+ "outputs": [],
1062
+ "stateMutability": "nonpayable",
1063
+ "type": "function"
1064
+ },
1065
+ {
1066
+ "inputs": [
1067
+ {
1068
+ "internalType": "address",
1069
+ "name": "_token",
1070
+ "type": "address"
1071
+ },
1072
+ {
1073
+ "internalType": "address",
1074
+ "name": "_gauge",
1075
+ "type": "address"
1076
+ },
1077
+ {
1078
+ "internalType": "uint256",
1079
+ "name": "_amount",
1080
+ "type": "uint256"
1081
+ }
1082
+ ],
1083
+ "name": "depositToGauge",
1084
+ "outputs": [],
1085
+ "stateMutability": "nonpayable",
1086
+ "type": "function"
1087
+ },
1088
+ {
1089
+ "inputs": [
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "_amount",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "name": "donate",
1097
+ "outputs": [],
1098
+ "stateMutability": "nonpayable",
1099
+ "type": "function"
1100
+ },
1101
+ {
1102
+ "inputs": [
1103
+ {
1104
+ "internalType": "uint256",
1105
+ "name": "",
1106
+ "type": "uint256"
1107
+ }
1108
+ ],
1109
+ "name": "epochEndToLockAmount",
1110
+ "outputs": [
1111
+ {
1112
+ "internalType": "uint256",
1113
+ "name": "",
1114
+ "type": "uint256"
1115
+ }
1116
+ ],
1117
+ "stateMutability": "view",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [
1122
+ {
1123
+ "internalType": "uint256",
1124
+ "name": "",
1125
+ "type": "uint256"
1126
+ }
1127
+ ],
1128
+ "name": "epochEnds",
1129
+ "outputs": [
1130
+ {
1131
+ "internalType": "uint256",
1132
+ "name": "",
1133
+ "type": "uint256"
1134
+ }
1135
+ ],
1136
+ "stateMutability": "view",
1137
+ "type": "function"
1138
+ },
1139
+ {
1140
+ "inputs": [],
1141
+ "name": "feeSharesBots",
1142
+ "outputs": [
1143
+ {
1144
+ "internalType": "uint256",
1145
+ "name": "",
1146
+ "type": "uint256"
1147
+ }
1148
+ ],
1149
+ "stateMutability": "view",
1150
+ "type": "function"
1151
+ },
1152
+ {
1153
+ "inputs": [],
1154
+ "name": "feeSharesClever",
1155
+ "outputs": [
1156
+ {
1157
+ "internalType": "uint256",
1158
+ "name": "",
1159
+ "type": "uint256"
1160
+ }
1161
+ ],
1162
+ "stateMutability": "view",
1163
+ "type": "function"
1164
+ },
1165
+ {
1166
+ "inputs": [],
1167
+ "name": "feeSharesTreasury",
1168
+ "outputs": [
1169
+ {
1170
+ "internalType": "uint256",
1171
+ "name": "",
1172
+ "type": "uint256"
1173
+ }
1174
+ ],
1175
+ "stateMutability": "view",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [],
1180
+ "name": "getCurrentEpoch",
1181
+ "outputs": [
1182
+ {
1183
+ "internalType": "uint256",
1184
+ "name": "",
1185
+ "type": "uint256"
1186
+ }
1187
+ ],
1188
+ "stateMutability": "view",
1189
+ "type": "function"
1190
+ },
1191
+ {
1192
+ "inputs": [
1193
+ {
1194
+ "internalType": "bytes32",
1195
+ "name": "role",
1196
+ "type": "bytes32"
1197
+ }
1198
+ ],
1199
+ "name": "getRoleAdmin",
1200
+ "outputs": [
1201
+ {
1202
+ "internalType": "bytes32",
1203
+ "name": "",
1204
+ "type": "bytes32"
1205
+ }
1206
+ ],
1207
+ "stateMutability": "view",
1208
+ "type": "function"
1209
+ },
1210
+ {
1211
+ "inputs": [
1212
+ {
1213
+ "internalType": "address",
1214
+ "name": "_account",
1215
+ "type": "address"
1216
+ }
1217
+ ],
1218
+ "name": "getUserInfo",
1219
+ "outputs": [
1220
+ {
1221
+ "internalType": "uint256",
1222
+ "name": "totalDeposited",
1223
+ "type": "uint256"
1224
+ },
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "totalPendingUnlocked",
1228
+ "type": "uint256"
1229
+ },
1230
+ {
1231
+ "internalType": "uint256",
1232
+ "name": "totalUnlocked",
1233
+ "type": "uint256"
1234
+ },
1235
+ {
1236
+ "internalType": "uint256",
1237
+ "name": "totalBorrowed",
1238
+ "type": "uint256"
1239
+ },
1240
+ {
1241
+ "internalType": "uint256",
1242
+ "name": "totalReward",
1243
+ "type": "uint256"
1244
+ }
1245
+ ],
1246
+ "stateMutability": "view",
1247
+ "type": "function"
1248
+ },
1249
+ {
1250
+ "inputs": [
1251
+ {
1252
+ "internalType": "address",
1253
+ "name": "_account",
1254
+ "type": "address"
1255
+ }
1256
+ ],
1257
+ "name": "getUserLocks",
1258
+ "outputs": [
1259
+ {
1260
+ "components": [
1261
+ {
1262
+ "internalType": "uint192",
1263
+ "name": "pendingUnlock",
1264
+ "type": "uint192"
1265
+ },
1266
+ {
1267
+ "internalType": "uint64",
1268
+ "name": "unlockEpoch",
1269
+ "type": "uint64"
1270
+ },
1271
+ {
1272
+ "internalType": "bool",
1273
+ "name": "reserved",
1274
+ "type": "bool"
1275
+ }
1276
+ ],
1277
+ "internalType": "struct RAACLiquidLocker.EpochUnlockInfo[]",
1278
+ "name": "pendingUnlocks",
1279
+ "type": "tuple[]"
1280
+ }
1281
+ ],
1282
+ "stateMutability": "view",
1283
+ "type": "function"
1284
+ },
1285
+ {
1286
+ "inputs": [
1287
+ {
1288
+ "internalType": "bytes32",
1289
+ "name": "role",
1290
+ "type": "bytes32"
1291
+ },
1292
+ {
1293
+ "internalType": "address",
1294
+ "name": "account",
1295
+ "type": "address"
1296
+ }
1297
+ ],
1298
+ "name": "grantRole",
1299
+ "outputs": [],
1300
+ "stateMutability": "nonpayable",
1301
+ "type": "function"
1302
+ },
1303
+ {
1304
+ "inputs": [
1305
+ {
1306
+ "internalType": "address",
1307
+ "name": "_recipient",
1308
+ "type": "address"
1309
+ },
1310
+ {
1311
+ "internalType": "uint256",
1312
+ "name": "_minimunOut",
1313
+ "type": "uint256"
1314
+ }
1315
+ ],
1316
+ "name": "harvest",
1317
+ "outputs": [
1318
+ {
1319
+ "internalType": "uint256",
1320
+ "name": "",
1321
+ "type": "uint256"
1322
+ }
1323
+ ],
1324
+ "stateMutability": "nonpayable",
1325
+ "type": "function"
1326
+ },
1327
+ {
1328
+ "inputs": [],
1329
+ "name": "harvestBountyPercentage",
1330
+ "outputs": [
1331
+ {
1332
+ "internalType": "uint256",
1333
+ "name": "",
1334
+ "type": "uint256"
1335
+ }
1336
+ ],
1337
+ "stateMutability": "view",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [
1342
+ {
1343
+ "internalType": "bytes32",
1344
+ "name": "role",
1345
+ "type": "bytes32"
1346
+ },
1347
+ {
1348
+ "internalType": "address",
1349
+ "name": "account",
1350
+ "type": "address"
1351
+ }
1352
+ ],
1353
+ "name": "hasRole",
1354
+ "outputs": [
1355
+ {
1356
+ "internalType": "bool",
1357
+ "name": "",
1358
+ "type": "bool"
1359
+ }
1360
+ ],
1361
+ "stateMutability": "view",
1362
+ "type": "function"
1363
+ },
1364
+ {
1365
+ "inputs": [
1366
+ {
1367
+ "internalType": "address",
1368
+ "name": "_raac",
1369
+ "type": "address"
1370
+ },
1371
+ {
1372
+ "internalType": "address",
1373
+ "name": "_leRAAC",
1374
+ "type": "address"
1375
+ },
1376
+ {
1377
+ "internalType": "address",
1378
+ "name": "_veRAAC",
1379
+ "type": "address"
1380
+ },
1381
+ {
1382
+ "internalType": "address",
1383
+ "name": "_maturityVault",
1384
+ "type": "address"
1385
+ },
1386
+ {
1387
+ "internalType": "address",
1388
+ "name": "_zap",
1389
+ "type": "address"
1390
+ },
1391
+ {
1392
+ "internalType": "address",
1393
+ "name": "_intermediateRewardToken",
1394
+ "type": "address"
1395
+ },
1396
+ {
1397
+ "internalType": "address",
1398
+ "name": "_treasury",
1399
+ "type": "address"
1400
+ },
1401
+ {
1402
+ "internalType": "address",
1403
+ "name": "_cleverFeeRecipient",
1404
+ "type": "address"
1405
+ },
1406
+ {
1407
+ "internalType": "address",
1408
+ "name": "_raacBotLocker",
1409
+ "type": "address"
1410
+ },
1411
+ {
1412
+ "internalType": "uint256",
1413
+ "name": "_treasuryFeePercentage",
1414
+ "type": "uint256"
1415
+ },
1416
+ {
1417
+ "internalType": "uint256",
1418
+ "name": "_harvestBountyPercentage",
1419
+ "type": "uint256"
1420
+ },
1421
+ {
1422
+ "internalType": "uint256",
1423
+ "name": "_feeSharesBots",
1424
+ "type": "uint256"
1425
+ },
1426
+ {
1427
+ "internalType": "uint256",
1428
+ "name": "_feeSharesClever",
1429
+ "type": "uint256"
1430
+ },
1431
+ {
1432
+ "internalType": "uint256",
1433
+ "name": "_feeSharesTreasury",
1434
+ "type": "uint256"
1435
+ }
1436
+ ],
1437
+ "name": "initialize",
1438
+ "outputs": [],
1439
+ "stateMutability": "nonpayable",
1440
+ "type": "function"
1441
+ },
1442
+ {
1443
+ "inputs": [],
1444
+ "name": "intermediateRewardToken",
1445
+ "outputs": [
1446
+ {
1447
+ "internalType": "address",
1448
+ "name": "",
1449
+ "type": "address"
1450
+ }
1451
+ ],
1452
+ "stateMutability": "view",
1453
+ "type": "function"
1454
+ },
1455
+ {
1456
+ "inputs": [
1457
+ {
1458
+ "internalType": "address",
1459
+ "name": "",
1460
+ "type": "address"
1461
+ }
1462
+ ],
1463
+ "name": "isKeeper",
1464
+ "outputs": [
1465
+ {
1466
+ "internalType": "bool",
1467
+ "name": "",
1468
+ "type": "bool"
1469
+ }
1470
+ ],
1471
+ "stateMutability": "view",
1472
+ "type": "function"
1473
+ },
1474
+ {
1475
+ "inputs": [],
1476
+ "name": "leRAAC",
1477
+ "outputs": [
1478
+ {
1479
+ "internalType": "contract ILiquidEscrowedRAAC",
1480
+ "name": "",
1481
+ "type": "address"
1482
+ }
1483
+ ],
1484
+ "stateMutability": "view",
1485
+ "type": "function"
1486
+ },
1487
+ {
1488
+ "inputs": [],
1489
+ "name": "lockDurationEpochs",
1490
+ "outputs": [
1491
+ {
1492
+ "internalType": "uint40",
1493
+ "name": "",
1494
+ "type": "uint40"
1495
+ }
1496
+ ],
1497
+ "stateMutability": "view",
1498
+ "type": "function"
1499
+ },
1500
+ {
1501
+ "inputs": [],
1502
+ "name": "maturityVault",
1503
+ "outputs": [
1504
+ {
1505
+ "internalType": "contract IRAACMaturityVault",
1506
+ "name": "",
1507
+ "type": "address"
1508
+ }
1509
+ ],
1510
+ "stateMutability": "view",
1511
+ "type": "function"
1512
+ },
1513
+ {
1514
+ "inputs": [
1515
+ {
1516
+ "internalType": "uint64",
1517
+ "name": "",
1518
+ "type": "uint64"
1519
+ }
1520
+ ],
1521
+ "name": "oldToNewEpochEnds",
1522
+ "outputs": [
1523
+ {
1524
+ "internalType": "uint64",
1525
+ "name": "",
1526
+ "type": "uint64"
1527
+ }
1528
+ ],
1529
+ "stateMutability": "view",
1530
+ "type": "function"
1531
+ },
1532
+ {
1533
+ "inputs": [],
1534
+ "name": "owner",
1535
+ "outputs": [
1536
+ {
1537
+ "internalType": "address",
1538
+ "name": "",
1539
+ "type": "address"
1540
+ }
1541
+ ],
1542
+ "stateMutability": "view",
1543
+ "type": "function"
1544
+ },
1545
+ {
1546
+ "inputs": [],
1547
+ "name": "pause",
1548
+ "outputs": [],
1549
+ "stateMutability": "nonpayable",
1550
+ "type": "function"
1551
+ },
1552
+ {
1553
+ "inputs": [],
1554
+ "name": "paused",
1555
+ "outputs": [
1556
+ {
1557
+ "internalType": "bool",
1558
+ "name": "",
1559
+ "type": "bool"
1560
+ }
1561
+ ],
1562
+ "stateMutability": "view",
1563
+ "type": "function"
1564
+ },
1565
+ {
1566
+ "inputs": [],
1567
+ "name": "pendingCumulatedAmount",
1568
+ "outputs": [
1569
+ {
1570
+ "internalType": "uint256",
1571
+ "name": "",
1572
+ "type": "uint256"
1573
+ }
1574
+ ],
1575
+ "stateMutability": "view",
1576
+ "type": "function"
1577
+ },
1578
+ {
1579
+ "inputs": [],
1580
+ "name": "poolLockedUnderlying",
1581
+ "outputs": [
1582
+ {
1583
+ "internalType": "uint256",
1584
+ "name": "",
1585
+ "type": "uint256"
1586
+ }
1587
+ ],
1588
+ "stateMutability": "view",
1589
+ "type": "function"
1590
+ },
1591
+ {
1592
+ "inputs": [],
1593
+ "name": "processVaultExpiredLocks",
1594
+ "outputs": [],
1595
+ "stateMutability": "nonpayable",
1596
+ "type": "function"
1597
+ },
1598
+ {
1599
+ "inputs": [],
1600
+ "name": "processedEpochIndexes",
1601
+ "outputs": [
1602
+ {
1603
+ "internalType": "uint256",
1604
+ "name": "",
1605
+ "type": "uint256"
1606
+ }
1607
+ ],
1608
+ "stateMutability": "view",
1609
+ "type": "function"
1610
+ },
1611
+ {
1612
+ "inputs": [],
1613
+ "name": "raac",
1614
+ "outputs": [
1615
+ {
1616
+ "internalType": "contract IERC20",
1617
+ "name": "",
1618
+ "type": "address"
1619
+ }
1620
+ ],
1621
+ "stateMutability": "view",
1622
+ "type": "function"
1623
+ },
1624
+ {
1625
+ "inputs": [],
1626
+ "name": "raacBotLocker",
1627
+ "outputs": [
1628
+ {
1629
+ "internalType": "address",
1630
+ "name": "",
1631
+ "type": "address"
1632
+ }
1633
+ ],
1634
+ "stateMutability": "view",
1635
+ "type": "function"
1636
+ },
1637
+ {
1638
+ "inputs": [],
1639
+ "name": "renounceOwnership",
1640
+ "outputs": [],
1641
+ "stateMutability": "nonpayable",
1642
+ "type": "function"
1643
+ },
1644
+ {
1645
+ "inputs": [
1646
+ {
1647
+ "internalType": "bytes32",
1648
+ "name": "role",
1649
+ "type": "bytes32"
1650
+ },
1651
+ {
1652
+ "internalType": "address",
1653
+ "name": "callerConfirmation",
1654
+ "type": "address"
1655
+ }
1656
+ ],
1657
+ "name": "renounceRole",
1658
+ "outputs": [],
1659
+ "stateMutability": "nonpayable",
1660
+ "type": "function"
1661
+ },
1662
+ {
1663
+ "inputs": [
1664
+ {
1665
+ "internalType": "uint256",
1666
+ "name": "_leRAACAmount",
1667
+ "type": "uint256"
1668
+ }
1669
+ ],
1670
+ "name": "repay",
1671
+ "outputs": [],
1672
+ "stateMutability": "nonpayable",
1673
+ "type": "function"
1674
+ },
1675
+ {
1676
+ "inputs": [],
1677
+ "name": "repayFeePercentage",
1678
+ "outputs": [
1679
+ {
1680
+ "internalType": "uint256",
1681
+ "name": "",
1682
+ "type": "uint256"
1683
+ }
1684
+ ],
1685
+ "stateMutability": "view",
1686
+ "type": "function"
1687
+ },
1688
+ {
1689
+ "inputs": [
1690
+ {
1691
+ "internalType": "uint256",
1692
+ "name": "_numLocks",
1693
+ "type": "uint256"
1694
+ }
1695
+ ],
1696
+ "name": "requestUnlock",
1697
+ "outputs": [],
1698
+ "stateMutability": "nonpayable",
1699
+ "type": "function"
1700
+ },
1701
+ {
1702
+ "inputs": [],
1703
+ "name": "reserveRate",
1704
+ "outputs": [
1705
+ {
1706
+ "internalType": "uint256",
1707
+ "name": "",
1708
+ "type": "uint256"
1709
+ }
1710
+ ],
1711
+ "stateMutability": "view",
1712
+ "type": "function"
1713
+ },
1714
+ {
1715
+ "inputs": [
1716
+ {
1717
+ "internalType": "bytes32",
1718
+ "name": "role",
1719
+ "type": "bytes32"
1720
+ },
1721
+ {
1722
+ "internalType": "address",
1723
+ "name": "account",
1724
+ "type": "address"
1725
+ }
1726
+ ],
1727
+ "name": "revokeRole",
1728
+ "outputs": [],
1729
+ "stateMutability": "nonpayable",
1730
+ "type": "function"
1731
+ },
1732
+ {
1733
+ "inputs": [
1734
+ {
1735
+ "internalType": "bytes4",
1736
+ "name": "interfaceId",
1737
+ "type": "bytes4"
1738
+ }
1739
+ ],
1740
+ "name": "supportsInterface",
1741
+ "outputs": [
1742
+ {
1743
+ "internalType": "bool",
1744
+ "name": "",
1745
+ "type": "bool"
1746
+ }
1747
+ ],
1748
+ "stateMutability": "view",
1749
+ "type": "function"
1750
+ },
1751
+ {
1752
+ "inputs": [],
1753
+ "name": "totalDebtGlobal",
1754
+ "outputs": [
1755
+ {
1756
+ "internalType": "uint256",
1757
+ "name": "",
1758
+ "type": "uint256"
1759
+ }
1760
+ ],
1761
+ "stateMutability": "view",
1762
+ "type": "function"
1763
+ },
1764
+ {
1765
+ "inputs": [],
1766
+ "name": "totalLockedGlobal",
1767
+ "outputs": [
1768
+ {
1769
+ "internalType": "uint256",
1770
+ "name": "",
1771
+ "type": "uint256"
1772
+ }
1773
+ ],
1774
+ "stateMutability": "view",
1775
+ "type": "function"
1776
+ },
1777
+ {
1778
+ "inputs": [],
1779
+ "name": "totalRaacInPool",
1780
+ "outputs": [
1781
+ {
1782
+ "internalType": "uint256",
1783
+ "name": "",
1784
+ "type": "uint256"
1785
+ }
1786
+ ],
1787
+ "stateMutability": "view",
1788
+ "type": "function"
1789
+ },
1790
+ {
1791
+ "inputs": [],
1792
+ "name": "totalUnlockedGlobal",
1793
+ "outputs": [
1794
+ {
1795
+ "internalType": "uint256",
1796
+ "name": "",
1797
+ "type": "uint256"
1798
+ }
1799
+ ],
1800
+ "stateMutability": "view",
1801
+ "type": "function"
1802
+ },
1803
+ {
1804
+ "inputs": [
1805
+ {
1806
+ "internalType": "address",
1807
+ "name": "newOwner",
1808
+ "type": "address"
1809
+ }
1810
+ ],
1811
+ "name": "transferOwnership",
1812
+ "outputs": [],
1813
+ "stateMutability": "nonpayable",
1814
+ "type": "function"
1815
+ },
1816
+ {
1817
+ "inputs": [],
1818
+ "name": "treasury",
1819
+ "outputs": [
1820
+ {
1821
+ "internalType": "address",
1822
+ "name": "",
1823
+ "type": "address"
1824
+ }
1825
+ ],
1826
+ "stateMutability": "view",
1827
+ "type": "function"
1828
+ },
1829
+ {
1830
+ "inputs": [],
1831
+ "name": "treasuryFeePercentage",
1832
+ "outputs": [
1833
+ {
1834
+ "internalType": "uint256",
1835
+ "name": "",
1836
+ "type": "uint256"
1837
+ }
1838
+ ],
1839
+ "stateMutability": "view",
1840
+ "type": "function"
1841
+ },
1842
+ {
1843
+ "inputs": [],
1844
+ "name": "unpause",
1845
+ "outputs": [],
1846
+ "stateMutability": "nonpayable",
1847
+ "type": "function"
1848
+ },
1849
+ {
1850
+ "inputs": [
1851
+ {
1852
+ "internalType": "address",
1853
+ "name": "_locker",
1854
+ "type": "address"
1855
+ }
1856
+ ],
1857
+ "name": "updateBotLocker",
1858
+ "outputs": [],
1859
+ "stateMutability": "nonpayable",
1860
+ "type": "function"
1861
+ },
1862
+ {
1863
+ "inputs": [
1864
+ {
1865
+ "internalType": "address",
1866
+ "name": "_recipient",
1867
+ "type": "address"
1868
+ }
1869
+ ],
1870
+ "name": "updateCleverFeeRecipient",
1871
+ "outputs": [],
1872
+ "stateMutability": "nonpayable",
1873
+ "type": "function"
1874
+ },
1875
+ {
1876
+ "inputs": [
1877
+ {
1878
+ "internalType": "uint256",
1879
+ "name": "_feeSharesBots",
1880
+ "type": "uint256"
1881
+ },
1882
+ {
1883
+ "internalType": "uint256",
1884
+ "name": "_feeSharesClever",
1885
+ "type": "uint256"
1886
+ },
1887
+ {
1888
+ "internalType": "uint256",
1889
+ "name": "_feeSharesTreasury",
1890
+ "type": "uint256"
1891
+ },
1892
+ {
1893
+ "internalType": "uint256",
1894
+ "name": "_treasuryFeePercentage",
1895
+ "type": "uint256"
1896
+ }
1897
+ ],
1898
+ "name": "updateFeeShares",
1899
+ "outputs": [],
1900
+ "stateMutability": "nonpayable",
1901
+ "type": "function"
1902
+ },
1903
+ {
1904
+ "inputs": [
1905
+ {
1906
+ "internalType": "uint256",
1907
+ "name": "_percentage",
1908
+ "type": "uint256"
1909
+ }
1910
+ ],
1911
+ "name": "updateHarvestBountyPercentage",
1912
+ "outputs": [],
1913
+ "stateMutability": "nonpayable",
1914
+ "type": "function"
1915
+ },
1916
+ {
1917
+ "inputs": [
1918
+ {
1919
+ "internalType": "address",
1920
+ "name": "_intermediateRewardToken",
1921
+ "type": "address"
1922
+ }
1923
+ ],
1924
+ "name": "updateIntermediateRewardToken",
1925
+ "outputs": [],
1926
+ "stateMutability": "nonpayable",
1927
+ "type": "function"
1928
+ },
1929
+ {
1930
+ "inputs": [
1931
+ {
1932
+ "internalType": "uint256",
1933
+ "name": "_feePercentage",
1934
+ "type": "uint256"
1935
+ }
1936
+ ],
1937
+ "name": "updateRepayFeePercentage",
1938
+ "outputs": [],
1939
+ "stateMutability": "nonpayable",
1940
+ "type": "function"
1941
+ },
1942
+ {
1943
+ "inputs": [
1944
+ {
1945
+ "internalType": "address",
1946
+ "name": "_treasury",
1947
+ "type": "address"
1948
+ }
1949
+ ],
1950
+ "name": "updateTreasury",
1951
+ "outputs": [],
1952
+ "stateMutability": "nonpayable",
1953
+ "type": "function"
1954
+ },
1955
+ {
1956
+ "inputs": [
1957
+ {
1958
+ "internalType": "address",
1959
+ "name": "_keeper",
1960
+ "type": "address"
1961
+ },
1962
+ {
1963
+ "internalType": "bool",
1964
+ "name": "_status",
1965
+ "type": "bool"
1966
+ }
1967
+ ],
1968
+ "name": "updateWhitelist",
1969
+ "outputs": [],
1970
+ "stateMutability": "nonpayable",
1971
+ "type": "function"
1972
+ },
1973
+ {
1974
+ "inputs": [
1975
+ {
1976
+ "internalType": "address",
1977
+ "name": "_zap",
1978
+ "type": "address"
1979
+ }
1980
+ ],
1981
+ "name": "updateZap",
1982
+ "outputs": [],
1983
+ "stateMutability": "nonpayable",
1984
+ "type": "function"
1985
+ },
1986
+ {
1987
+ "inputs": [
1988
+ {
1989
+ "internalType": "address",
1990
+ "name": "",
1991
+ "type": "address"
1992
+ }
1993
+ ],
1994
+ "name": "userInfo",
1995
+ "outputs": [
1996
+ {
1997
+ "internalType": "uint128",
1998
+ "name": "totalDebt",
1999
+ "type": "uint128"
2000
+ },
2001
+ {
2002
+ "internalType": "uint128",
2003
+ "name": "rewards",
2004
+ "type": "uint128"
2005
+ },
2006
+ {
2007
+ "internalType": "uint256",
2008
+ "name": "rewardPerSharePaid",
2009
+ "type": "uint256"
2010
+ },
2011
+ {
2012
+ "internalType": "uint112",
2013
+ "name": "totalLocked",
2014
+ "type": "uint112"
2015
+ },
2016
+ {
2017
+ "internalType": "uint112",
2018
+ "name": "totalUnlocked",
2019
+ "type": "uint112"
2020
+ },
2021
+ {
2022
+ "internalType": "uint32",
2023
+ "name": "nextUnlockIndex",
2024
+ "type": "uint32"
2025
+ },
2026
+ {
2027
+ "internalType": "uint64",
2028
+ "name": "lastProcessedEpoch",
2029
+ "type": "uint64"
2030
+ }
2031
+ ],
2032
+ "stateMutability": "view",
2033
+ "type": "function"
2034
+ },
2035
+ {
2036
+ "inputs": [],
2037
+ "name": "veRAAC",
2038
+ "outputs": [
2039
+ {
2040
+ "internalType": "contract IveRAACToken",
2041
+ "name": "",
2042
+ "type": "address"
2043
+ }
2044
+ ],
2045
+ "stateMutability": "view",
2046
+ "type": "function"
2047
+ },
2048
+ {
2049
+ "inputs": [
2050
+ {
2051
+ "internalType": "address",
2052
+ "name": "_controller",
2053
+ "type": "address"
2054
+ },
2055
+ {
2056
+ "internalType": "address",
2057
+ "name": "_gauge",
2058
+ "type": "address"
2059
+ },
2060
+ {
2061
+ "internalType": "uint256",
2062
+ "name": "_weight",
2063
+ "type": "uint256"
2064
+ }
2065
+ ],
2066
+ "name": "voteGauge",
2067
+ "outputs": [],
2068
+ "stateMutability": "nonpayable",
2069
+ "type": "function"
2070
+ },
2071
+ {
2072
+ "inputs": [
2073
+ {
2074
+ "internalType": "address",
2075
+ "name": "_governance",
2076
+ "type": "address"
2077
+ },
2078
+ {
2079
+ "internalType": "uint256",
2080
+ "name": "_proposalId",
2081
+ "type": "uint256"
2082
+ },
2083
+ {
2084
+ "internalType": "bool",
2085
+ "name": "_support",
2086
+ "type": "bool"
2087
+ }
2088
+ ],
2089
+ "name": "voteGovernance",
2090
+ "outputs": [
2091
+ {
2092
+ "internalType": "uint256",
2093
+ "name": "",
2094
+ "type": "uint256"
2095
+ }
2096
+ ],
2097
+ "stateMutability": "nonpayable",
2098
+ "type": "function"
2099
+ },
2100
+ {
2101
+ "inputs": [
2102
+ {
2103
+ "internalType": "address",
2104
+ "name": "_token",
2105
+ "type": "address"
2106
+ },
2107
+ {
2108
+ "internalType": "address",
2109
+ "name": "_gauge",
2110
+ "type": "address"
2111
+ },
2112
+ {
2113
+ "internalType": "uint256",
2114
+ "name": "_amount",
2115
+ "type": "uint256"
2116
+ },
2117
+ {
2118
+ "internalType": "uint256",
2119
+ "name": "_minOut",
2120
+ "type": "uint256"
2121
+ },
2122
+ {
2123
+ "internalType": "address",
2124
+ "name": "_to",
2125
+ "type": "address"
2126
+ }
2127
+ ],
2128
+ "name": "withdrawFromGauge",
2129
+ "outputs": [],
2130
+ "stateMutability": "nonpayable",
2131
+ "type": "function"
2132
+ },
2133
+ {
2134
+ "inputs": [],
2135
+ "name": "withdrawUnlocked",
2136
+ "outputs": [],
2137
+ "stateMutability": "nonpayable",
2138
+ "type": "function"
2139
+ },
2140
+ {
2141
+ "inputs": [],
2142
+ "name": "zap",
2143
+ "outputs": [
2144
+ {
2145
+ "internalType": "address",
2146
+ "name": "",
2147
+ "type": "address"
2148
+ }
2149
+ ],
2150
+ "stateMutability": "view",
2151
+ "type": "function"
2152
+ }
2153
+ ],
2154
+ "bytecode": "0x6080806040523460aa575f5160206153155f395f51905f525460ff8160401c16609b576002600160401b03196001600160401b038216016049575b60405161526690816100af8239f35b6001600160401b0319166001600160401b039081175f5160206153155f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80603a565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063018ee9b714612b4857806301ffc9a714612af25780630858cf9814612ad557806308d43ff714612a6d5780630af88574146128905780630d392cd9146128135780630f7acc87146127c05780631959a002146127275780631fdcf32b146126ff57806320583c001461266e57806323a35de9146123b9578063248a9ca31461239357806325cc4fe71461236b578063262d615214612343578063279cdb66146122d55780632e84deff146122ad5780632f2ff15d1461227c57806335c807e61461221457806336568abe146121d0578063371fd8e614612048578063381386c01461202b5780633ca4d9f414611f845780633dbe439114611f4a5780633f4ba83a14611ecc578063409f521a14611eaf5780634296cfd814611dac5780634b69c6b214611d8f5780634c09f37c14611d725780634e143baf14611d1a5780635078a03014611cf25780635804810a14611cae57806358d7bf8014611c915780635c975abb14611c635780635fe1437414611c465780636119b1b114611c1e57806361d027b314611bf65780636386c1c71461190e57806364e21132146118885780636919db5c146118605780636a423727146118435780636ba42aaa146118065780636fcd112b146116a8578063715018a6146116545780637f51bb1f146115ec57806383dd4f69146115cf5780638456cb591461150c5780638cd013071461126e5780638da5cb5b1461123a57806391d14854146111e5578063939d6237146111c8578063949ba627146110d85780639995a334146110135780639e42157d14610ff6578063a217fddf14610fdc578063a3b6aeda14610ee1578063b6b55f2514610e8a578063b758ba8814610e63578063b97dd9e214610e43578063c3ade01214610e26578063c4d381df14610e09578063c9d2ff9d14610b76578063d09729ad14610b4c578063d1b5172f14610af9578063d547741f14610ac3578063d5c8ff9814610a9c578063d8b09c0c14610a34578063e36a6b83146109dc578063e63a391f146109be578063e63ab1e914610997578063e668efe2146105cf578063ed4a7084146105a8578063f14faf6f14610548578063f2eda13b146103a8578063f2fde38b1461037d5763fbb12d0714610352575f80fd5b34610379575f3660031901126103795760206040515f5160206150f15f395f51905f528152f35b5f80fd5b34610379576020366003190112610379576103a66103996132f6565b6103a1613b21565b613650565b005b34610379576103b6366133a0565b916103bf613cf7565b6103c76136ae565b8215610539576004906103d86136d5565b60035460405163c4f59f9b60e01b8152925f9184919082906001600160a01b03165afa91821561050a575f92610515575b5091926001600160a01b03831692905f5b8351811015610454576001600160a01b0361043582866134d5565b511685146104455760010161041a565b63c1ab6dc160e01b5f5260045ffd5b508461047782828761046883303384614206565b61047282826137ef565b6138a1565b6001600160a01b031691823b156103795760405163534a7e1d60e11b815260048101839052915f8360248183885af192831561050a577f57a6edf74f7cdf69723cf14427405d5ab3e4b8e1600a4d8b7e01ea3c95ccd3a0936104fa575b506104e460405192839283613637565b0390a260015f5160206151b15f395f51905f5255005b5f61050491613411565b846104d4565b6040513d5f823e3d90fd5b6105329192503d805f833e61052a8183613411565b81019061344b565b9084610409565b63e320176b60e01b5f5260045ffd5b34610379576020366003190112610379576004356105646136ae565b80156105395761059590610576613cf7565b5f54610590908290309033906001600160a01b0316614206565b613958565b60015f5160206151b15f395f51905f5255005b34610379575f366003190112610379575f546040516001600160a01b039091168152602090f35b34610379576101c0366003190112610379576105e96132f6565b6105f161330c565b906105fa613338565b61060261334e565b9261060b613322565b60a43592906001600160a01b03841684036103795760c4356001600160a01b03811681036103795760e435906001600160a01b03821682036103795761010435926001600160a01b0384168403610379575f5160206152115f395f51905f5254610164359990986101843596906101a435906001600160401b038c161580610989575b6001600160401b038d16600114908161097f575b159081610976575b50610967575f5160206152115f395f51905f5280546001600160401b031916600117905560408c901c60ff1615610943575b6106e4615045565b6106ec615045565b6106f533613650565b6106fd615045565b610705615045565b61070d615045565b60015f5160206151b15f395f51905f5255610726615045565b6001600160a01b0316918215610934576001600160a01b0316988915610934576001600160a01b0316928315610934576001600160a01b0316938415610934576001600160a01b0316978815610934576001600160a01b038b1615610934576001600160a01b03861615610934576001600160a01b03871615610934576001600160a01b0388161561093457631dcd65006101243511610925576305f5e1006101443511610925578c6107e6836107e18461012435946134e9565b6134e9565b036109165760119c909c5560129b909b5560139a909a5560018054600380546001600160a01b0319908116909a1790555f80548a169c909c17909b5560028054891692909217909155600480548816929092179091556010805487166001600160a01b039384161790556015805487169383169390931790925560148054861693821693909317909255600c8054909416929092179092556001600160c81b0319909416911617600d60a21b1790915561012435600f5561014435600e55631dcd6500600b5560ff906108b833613b54565b5060401c16156108c457005b60ff60401b195f5160206152115f395f51905f5254165f5160206152115f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b638b9126fd60e01b5f5260045ffd5b637e2df70960e11b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b5f5160206152115f395f51905f52805460ff60401b1916600160401b1790556106dc565b63f92ee8a960e01b5f5260045ffd5b9050158e6106aa565b303b1591506106a2565b5060ff8c60401c161561068e565b34610379575f3660031901126103795760206040515f5160206151315f395f51905f528152f35b34610379575f366003190112610379576020604051633b9aca008152f35b34610379576020366003190112610379576004356109f8613b21565b6305f5e1008111610925576020817fc69cbab065ddb19d4ee1f9cfe242c82b8facbd1e93c89e5830dfe0d4fb25985392600e55604051908152a1005b3461037957602036600319011261037957610a4d6132f6565b610a55613b21565b6001600160a01b0316801561093457601480546001600160a01b031916821790557fbd89165bc0f9810151bd7f1a3ec6e5a9c70832f15628e9416507ef061525d1a35f80a2005b34610379575f36600319011261037957602064ffffffffff60015460a01c16604051908152f35b34610379576040366003190112610379576103a6600435610ae261330c565b90610af4610aef82613619565b613731565b613c5b565b34610379575f36600319011261037957335f52601660205260ff60405f20541615610b3e57610b26613cf7565b610b2e6136ae565b610b36614864565b610595614963565b6282b42960e81b5f5260045ffd5b34610379576020366003190112610379576004355f526018602052602060405f2054604051908152f35b3461037957602036600319011261037957600435801561053957610b98613cf7565b610ba06136ae565b610ba933613d8e565b610bb2336140c6565b335f908152600a6020526040812060028101548154600490920192916001600160801b0316906001600160701b0381169062093a80420490849060e01c5b878754821015610dfc5750610c058188613d2f565b508054908160c01c91858311801590610dee575b610de3576001600160c01b03169081151580610dd4575b610c42575b5050506001905b01610bf0565b600190989492939801600160ff1982541617905562093a8083029280840462093a801490151715610d8357601a5491600160401b831015610dc057610ccd93610c96846001610cc79601601a55601a61338b565b81549060031b9083821b915f19901b19161790555f52601860205260405f20610cc08382546134e9565b90556134e9565b9161360b565b9487808714610cdd578980610c35565b93949592505094505b03610db157808311610da257829081811115610d9757610d1291610d0991613550565b600b549061351f565b633b9aca00820291808304633b9aca001490151715610d835710610d745760405191825260208201527ff7870c5b224cbc19873599e46ccfc7103934650509b1af0c3ce90138377c200460403392a260015f5160206151b15f395f51905f5255005b633a23d82560e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b5050610d125f610d09565b633e9b09d160e01b5f5260045ffd5b6341bbfa8360e11b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b5060ff60018201541615610c30565b505050600190610c3c565b5060ff600183015416610c19565b9394959250509450610ce6565b34610379575f366003190112610379576020600954604051908152f35b34610379575f366003190112610379576020600754604051908152f35b34610379575f36600319011261037957602062093a804204604051908152f35b34610379575f3660031901126103795760206040515f5160206150b15f395f51905f528152f35b346103795760203660031901126103795760043580156105395761059590610eb0613cf7565b610eb86136ae565b610ec133613d8e565b5f54610edb908290309033906001600160a01b0316614206565b33614261565b3461037957608036600319011261037957610efa6132f6565b60243590610f06613338565b91610f0f61334e565b92610f186136d5565b811561053957610f266136ae565b6040516362d1e52360e11b81526001600160a01b03948516600482018190526024820193909352928416604484018190529293166020846064815f855af192831561050a575f93610fa7575b602094507ff296c40090a5aae193d87e3a7d65806ef8931893887d285677e13e3eeff4d37485604051868152a4604051908152f35b92506020843d602011610fd4575b81610fc260209383613411565b81010312610379576020935192610f72565b3d9150610fb5565b34610379575f3660031901126103795760206040515f8152f35b34610379575f366003190112610379576020600554604051908152f35b3461037957611021366133a0565b6010549092906001600160a01b03163303610b3e5761103e6136ae565b6001600160a01b0316908115610934576001600160a01b03811692831561093457823b15610379575f81611087936040519485928392632fba5def60e11b84526004840161355d565b038183875af190811561050a577f5966fa360f56e87c95a4fdc802065489925e68179cbdc1d4b19834ca5827e840926020926110c8575b50604051908152a3005b5f6110d291613411565b856110be565b34610379576060366003190112610379576110f16132f6565b60243560443591821515809303610379576010546001600160a01b03163303610b3e5761111c6136ae565b6001600160a01b031690811561093457604051916315373e3d60e01b83528160048401528360248401526020836044815f855af192831561050a575f93611185575b505f5160206151d15f395f51905f52604060209581519081528587820152a3604051908152f35b9392506020843d6020116111c0575b816111a160209383613411565b8101031261037957925191925f5160206151d15f395f51905f5261115e565b3d9150611194565b34610379575f366003190112610379576020600854604051908152f35b34610379576040366003190112610379576111fe61330c565b6004355f525f5160206151715f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610379575f366003190112610379575f5160206150d15f395f51905f52546040516001600160a01b039091168152602090f35b346103795760403660031901126103795760043561128a613364565b811561053957611298613cf7565b6112a06136ae565b6112a933613d8e565b6112b2336140c6565b335f908152600a60205260409020805460801c838110611447576112ec91906001600160801b03906112e5908690613550565b1690613d6b565b156113ee576002546004546001600160a01b039081169116803b15610379576040516340c10f1960e01b8152915f838061132a87306004840161355d565b038183865af191821561050a576113489385936113de575b506138a1565b6004546001600160a01b0316803b15610379575f60405180926317a790f160e11b825281838161137c88336004840161355d565b03925af1801561050a576113ce575b505b60405190815233907f312a5e5e1079f5dda4e95dbbd0b908b291fd5b992ef22073643ab691572c5b5260203392a360015f5160206151b15f395f51905f5255005b5f6113d891613411565b8161138b565b5f6113e891613411565b85611342565b6002546001600160a01b0316803b15610379575f60405180926340c10f1960e01b825281838161142288336004840161355d565b03925af1801561050a57611437575b5061138d565b5f61144191613411565b81611431565b81546001600160801b0316825561145e9084613550565b8061146b575b50506112ec565b600282015482546001600160801b031692906001600160701b0316801561150257600b546114989161351f565b6114a283856134e9565b90633b9aca00820291808304633b9aca001490151715610d835710610d74576114f8926001600160801b039081906114db9085906134e9565b83546001600160801b0319169116919091161790556007546134e9565b6007558280611464565b506114985f610d09565b34610379575f36600319011261037957335f9081527f75442b0a96088b5456bc4ed01394c96a4feec0f883c9494257d76b96ab1c9b6b602052604090205460ff16156115ab5761155a6136ae565b600160ff195f5160206151915f395f51905f525416175f5160206151915f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b63e2517d3f60e01b5f52336004525f5160206151315f395f51905f5260245260445ffd5b34610379575f366003190112610379576020601254604051908152f35b34610379576020366003190112610379576116056132f6565b61160d613b21565b6001600160a01b0316801561093457601080546001600160a01b031916821790557f1f54d231bb9d500b1923e4a1cb25e600f366a8368873d9af7c1c623814df19fc5f80a2005b34610379575f3660031901126103795761166c613b21565b5f5160206150d15f395f51905f5280546001600160a01b031981169091555f906001600160a01b03165f5160206151515f395f51905f528280a3005b34610379575f366003190112610379576116c0613cf7565b6116c86136ae565b6116d133613d8e565b6116da336140c6565b335f908152600a60205260409020600281018054607081901c6001600160701b031692919083156117f75791545f926001600160801b039091169084906001600160701b0316818111156117ec5761173591610d0991613550565b633b9aca00820291808304633b9aca001490151715610d8357106117d8575b8054600160701b600160e01b0319169055600654611773908390613550565b6006551561178e5760015f5160206151b15f395f51905f5255005b5f546117a690829033906001600160a01b03166137b3565b6040519081527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436460203392a280610595565b90506117e48233614261565b600190611754565b50506117355f610d09565b6313424e8d60e31b5f5260045ffd5b34610379576020366003190112610379576001600160a01b036118276132f6565b165f526016602052602060ff60405f2054166040519015158152f35b34610379575f366003190112610379576020600e54604051908152f35b34610379575f366003190112610379576014546040516001600160a01b039091168152602090f35b34610379575f366003190112610379575f546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa801561050a575f906118db575b602090604051908152f35b506020813d602011611906575b816118f560209383613411565b8101031261037957602090516118d0565b3d91506118e8565b34610379576020366003190112610379576119276132f6565b6001600160a01b0381165f908152600a6020526040808220905190929161194d826133da565b83546001600160801b0381168352608090811c6020840190815260018601546040850190815260028701546001600160701b0380821660608801908152607083901c90911694870194855260e09190911c60a0870190815260038901546001600160401b031660c088015260049098018054929893929091906119cf81613434565b926119dd6040519485613411565b81845260208401905f5260205f205f915b838310611bae575050505060e08701829052519551935192516001600160701b039687169662093a804204959416936001600160801b03169063ffffffff165b8251811015611b1c57611a4181846134d5565b516020810180516001600160401b03168810611aee576040820151611a84575b50505b6001810180911115611a2e57634e487b7160e01b5f52601160045260245ffd5b51919890959250611ae691611ad590611ab1908390611aab906001600160401b03166144e4565b8d614674565b506001600160801b03908116885288519116946001600160c01b03909116906134e9565b95516001600160c01b031690613550565b968a80611a61565b506040810151611aff575b50611a64565b519096611b15916001600160c01b0316906134e9565b958a611af9565b60a088888488611b598f670de0b6b3a7640000611b5287611b4d8e60018060801b0390511694600854905190613550565b61351f565b04906134e9565b9282611b7c575b6040519485526020850152604084015260608301526080820152f35b9092909190818110611b9a5790611b9291613550565b915f91611b60565b611ba691939293613550565b905f92611b60565b600260206001929a9e9a604051611bc4816133f6565b8554858060c01b038116825260c01c8382015260ff8587015416151560408201528152019201920191909b979b6119ee565b34610379575f366003190112610379576010546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576004546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576020601754604051908152f35b34610379575f36600319011261037957602060ff5f5160206151915f395f51905f5254166040519015158152f35b34610379575f366003190112610379576020600b54604051908152f35b34610379576020366003190112610379576004356001600160401b03811690819003610379575f526019602052602060018060401b0360405f205416604051908152f35b34610379575f366003190112610379576001546040516001600160a01b039091168152602090f35b3461037957602036600319011261037957600435611d36613b21565b6305f5e1008111610925576020817f2131421f1667d3206b261152a6f4fb7037f9790b64a6bb0154cf17c6265b6acb92600d55604051908152a1005b34610379575f366003190112610379576020600f54604051908152f35b34610379575f366003190112610379576020600654604051908152f35b346103795760a036600319011261037957611dc56132f6565b611dcd61330c565b60443591611dd9613322565b91611de26136ae565b611dea613cf7565b831561053957611df86136d5565b6001600160a01b03831615610934576001600160a01b031692833b1561037957604051632e1a7d4d60e01b8152600481018290525f8160248183895af1801561050a57611e9f575b506064358110611e90577f6121f81122dd3b5439a5eceba3952f7457af801dc975675861d69c3f488c1e5992611e819082906001600160a01b0385166137b3565b6104e460405192839283613637565b63bb2875c360e01b5f5260045ffd5b5f611ea991613411565b84611e40565b34610379575f366003190112610379576020601354604051908152f35b34610379575f36600319011261037957611ee4613b21565b5f5160206151915f395f51905f525460ff811615611f3b5760ff19165f5160206151915f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610379575f3660031901126103795760206040517f362a445c70d77815b624f5a6cc74953d94aaf7101c9d0facdcff0dac594b80ce8152f35b3461037957604036600319011261037957611f9d6132f6565b602435611fa8613cf7565b611fb06136ae565b336001600160a01b038316141580611ff3575b610b3e5781611fd461059593613d8e565b5f54611fee908390309033906001600160a01b0316614206565b614261565b50335f9081527fcefab08a000590e672d943fcf088128d1be97c1c08b29f5e8036c045c753e7f4602052604090205460ff1615611fc3565b34610379575f366003190112610379576020601154604051908152f35b346103795760203660031901126103795760043580156105395761206a613cf7565b6120726136ae565b61207b33613d8e565b612084336140c6565b335f52600a60205260405f2060018060801b038154169160075490836120b75760015f5160206151b15f395f51905f5255005b838111156121c757506120e2835b633b9aca006120d6600d548361351f565b0490816121a257613550565b9260018060a01b036002541690813b15610379575f604051809363079cc67960e41b82528183816121178b336004840161355d565b03925af191821561050a578580926121389261213e95612192575b50613550565b92613550565b926040519081527f5c16de4f8b59bd9caf0f49a545f25819a895ed223294290b408242e72a59423160203392a281546001600160801b0319166001600160801b039190911617905560075580808080610595565b5f61219c91613411565b88612132565b6002546010546121c29184916001600160a01b0390811691339116614206565b613550565b6120e2906120c5565b34610379576040366003190112610379576121e961330c565b336001600160a01b03821603612205576103a690600435613c5b565b63334bd91960e11b5f5260045ffd5b346103795760203660031901126103795761222d6132f6565b612235613b21565b6001600160a01b0316801561093457600c80546001600160a01b031916821790557f03e59dbc22b06c47327d520cddc8bf2923ac525a1742732bf344562d7f72d0f55f80a2005b34610379576040366003190112610379576103a660043561229b61330c565b906122a8610aef82613619565b613bca565b34610379575f366003190112610379576002546040516001600160a01b039091168152602090f35b3461037957602036600319011261037957600435601a5481101561037957601a5481101561232f57601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0154604051908152602090f35b634e487b7160e01b5f52603260045260245ffd5b34610379575f36600319011261037957600c546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576003546040516001600160a01b039091168152602090f35b346103795760203660031901126103795760206123b1600435613619565b604051908152f35b34610379576020366003190112610379576001600160a01b036123da6132f6565b165f52600a60205261247660405f20604051906123f6826133da565b80546001600160801b0381168352608090811c60208401526001820154604084015260028201546001600160701b038082166060860152607082901c169184019190915260e01c60a0830190815260038201546001600160401b031660c084015260049091018054909261246982613434565b9160405195869384613411565b80835260208301945f5260205f205f905b8282106126225760e08401859052855163ffffffff16855f62093a804204835b83518110156124eb57816001600160401b0360206124c584886134d5565b51015116116124d7575b6001016124a7565b916124e360019161360b565b9290506124cf565b50926124f682613434565b916125046040519384613411565b808352612513601f1991613434565b015f5b8181106125f95750505f905b835181101561258757846001600160401b03602061254084886134d5565b5101511611612552575b600101612522565b9061257f60019161256384876134d5565b5161256e82876134d5565b5261257981866134d5565b5061360b565b91905061254a565b826040518091602082016020835281518091526020604084019201905f5b8181106125b3575050500390f35b825180516001600160c01b031685526020818101516001600160401b031681870152604091820151151591860191909152869550606090940193909201916001016125a5565b602090604051612608816133f6565b5f81525f838201525f604082015282828701015201612516565b9193509193946002602060019260405161263b816133f6565b8554858060c01b038116825260c01c8382015260ff85870154161515604082015281520192019201869391959492612487565b3461037957608036600319011261037957604435602435600435606435612693613b21565b6126a1846107e185856134e9565b631dcd65008211610925578103610916577f0e517b12ad92714324ac71e14f9443dee3b82d6ab434a8e543e0d35ba1ab86239360809382600f55836011558060125581601355604051938452602084015260408301526060820152a1005b34610379575f366003190112610379576015546040516001600160a01b039091168152602090f35b34610379576020366003190112610379576001600160a01b036127486132f6565b165f908152600a602090815260409182902080546001820154600283015460039093015485516001600160801b0384168152608093841c95810195909552948401526001600160701b038083166060850152607083901c169083015260e090811c60a08301526001600160401b0390921660c0820152f35b34610379575f36600319011261037957600354604051632c9aab9b60e11b815230600482015290602090829060249082906001600160a01b03165afa801561050a575f906118db57602090604051908152f35b346103795760403660031901126103795761282c6132f6565b7f08b2c0469ecd1d7a21d7e1492f0fc75fc7e8e0fa4fdf4275949c90875f5ebdf56020612857613364565b92612860613b21565b6001600160a01b03165f8181526016835260409020805460ff191660ff86151516179055926040519015158152a2005b34610379576020366003190112610379576128a96132f6565b6128b1613b21565b6001600160a01b03811690811561093457600c545f805460405163d85c32c760e01b81526001600160a01b039182169593909116929181806128f78888600484016135f1565b0381865afa90811561050a575f91612a53575b5051156129ba5760035460405163c4f59f9b60e01b815294905f90869060049082906001600160a01b03165afa94851561050a575f95612a37575b505f5b85518110156129fe57846001600160a01b0361296483896134d5565b511684811480156129f5575b6129eb5760405163d85c32c760e01b8152915f91839182916129969190600484016135f1565b0381885afa90811561050a575f916129c9575b5051156129ba576001905b01612948565b6304aaa4ed60e11b5f5260045ffd5b6129e591503d805f833e6129dd8183613411565b810190613578565b876129a9565b50506001906129b4565b50838114612970565b600180546001600160a01b03191684179055827f324fd48573b0802abed4c31efc8338504f98ae1bd2b045423422dba22c1554255f80a2005b612a4c9195503d805f833e61052a8183613411565b9385612945565b612a6791503d805f833e6129dd8183613411565b8561290a565b3461037957602036600319011261037957612a866132f6565b612a8e613b21565b6001600160a01b0316801561093457601580546001600160a01b031916821790557f6ed4d486ce0e38e85cb51baae9e1cb00e9083a1639004e21a191b499a4ffdb455f80a2005b34610379575f366003190112610379576020600d54604051908152f35b346103795760203660031901126103795760043563ffffffff60e01b811680910361037957602090637965db0b60e01b8114908115612b37575b506040519015158152f35b6301ffc9a760e01b14905082612b2c565b3461037957604036600319011261037957612b616132f6565b612b696136ae565b335f9081527f746b0a0656f1e921a3c755e7657adb0436c6a5319b34f1edafabefd764826119602052604090205460ff16156132d25760035460405163c4f59f9b60e01b8152905f90829060049082906001600160a01b03165afa90811561050a575f916132b8575b5060018060a01b035f541690805192612bea84613434565b93612bf86040519586613411565b808552612c07601f1991613434565b013660208601375f5b8251811015612eac576001600160a01b03612c2b82856134d5565b516040516370a0823160e01b8152306004820152929116602083602481845afa92831561050a575f93612e79575b5060035460405163a88557c560e01b8152906001600160a01b031660208280612c868630600484016135f1565b0381845afa91821561050a575f92612e46575b508115612e2e57803b15610379576040516305d38c7160e21b8152915f918391829084908290612ccd90896004840161355d565b03925af19081612e1e575b50612d7a57600192503d15612d62575f5160206150915f395f51905f52612d2b3d612d0281613777565b90612d106040519283613411565b81523d5f602083013e5b5f612d25868c6134d5565b52614e39565b60408051809260208252612d4e8151809281602086015260208686019101613792565b601f01601f19168101030190a25b01612c10565b5f5160206150915f395f51905f52612d2b6060612d1a565b6040516370a0823160e01b8152306004820152602081602481855afa90811561050a575f91612dec575b506020612dd46001957f7aa3ce5172359784bf5bceffaa37a2c70ac97903138f07c51fa940da3750968b93613550565b80612ddf868c6134d5565b52604051908152a2612d5c565b90506020813d8211612e16575b81612e0660209383613411565b8101031261037957516020612da4565b3d9150612df9565b5f612e2891613411565b88612cd8565b505050600191505f612e4082886134d5565b52612d5c565b9091506020813d8211612e71575b81612e6160209383613411565b8101031261037957519089612c99565b3d9150612e54565b9092506020813d8211612ea4575b81612e9460209383613411565b8101031261037957519187612c59565b3d9150612e87565b50828480518451036132a957600c546001600160a01b0316935f9283929190835b8251811015612ff3576001600160a01b03612ee882856134d5565b5116612ef482866134d5565b519081612f08575b50506001905b01612ecd565b600154929791926001600160a01b03168114612fde575f546001600160a01b03168103612f425750600191612f3c916134e9565b95612f02565b9096959180612f546020928c856137b3565b6001546040516349df439160e01b81529384928392612f83926001600160a01b039091169190600485016134f6565b03815f8d5af190811561050a575f91612fac575b50612fa4906001926134e9565b949089612efc565b90506020813d8211612fd6575b81612fc660209383613411565b8101031261037957516001612f97565b3d9150612fb9565b509594600191612fed916134e9565b94612f02565b50858486838a83613210575b50506024358210611e9057613013916134e9565b600f549091829180156132055761302f633b9aca00918561351f565b0493601154946012549361304f61304686896134e9565b601354906134e9565b9082156131f657508061307661307b6130829361307661306f878c613550565b998761351f565b613532565b988461351f565b95613091816121c28985613550565b806131d9575b50806131bc575b508561312c575b60209550905b600e5492836130fd575b50506130c083613958565b6040519283528483015260408201527f4534f107610758c3931de9ad1e176476fcfb8c74adf920167e1d54ee84fcfe7660603392a2604051908152f35b936131259194633b9aca0061311561311f968461351f565b0494858093613550565b956137b3565b85806130b5565b601454613142906001600160a01b0316836137ef565b60145461315a9087906001600160a01b0316846138a1565b6014546001600160a01b0316803b156103795760405163d5a4ee6f60e01b8152965f91889182908490829061319390896004840161355d565b03925af195861561050a576020966131ac575b506130a5565b5f6131b691613411565b866131a6565b6015546131d391906001600160a01b0316846137b3565b8661309e565b6010546131f091906001600160a01b0316856137b3565b87613097565b94505050602094505f906130ab565b506020935f906130ab565b90818461322e61325c959660209560018060a01b03600154166137b3565b6001546040516349df439160e01b815295869485935f9385939291906001600160a01b0316600485016134f6565b03925af190811561050a575f91613277575b50908385612fff565b90506020813d6020116132a1575b8161329260209383613411565b8101031261037957518461326e565b3d9150613285565b63251f56a160e21b5f5260045ffd5b6132cc91503d805f833e61052a8183613411565b82612bd2565b63e2517d3f60e01b5f52336004525f5160206150f15f395f51905f5260245260445ffd5b600435906001600160a01b038216820361037957565b602435906001600160a01b038216820361037957565b608435906001600160a01b038216820361037957565b604435906001600160a01b038216820361037957565b606435906001600160a01b038216820361037957565b60243590811515820361037957565b601b5481101561232f57601b5f5260205f2001905f90565b805482101561232f575f5260205f2001905f90565b6060906003190112610379576004356001600160a01b038116810361037957906024356001600160a01b0381168103610379579060443590565b61010081019081106001600160401b03821117610dc057604052565b606081019081106001600160401b03821117610dc057604052565b601f909101601f19168101906001600160401b03821190821017610dc057604052565b6001600160401b038111610dc05760051b60200190565b602081830312610379578051906001600160401b03821161037957019080601f830112156103795781519061347f82613434565b9261348d6040519485613411565b82845260208085019360051b82010191821161037957602001915b8183106134b55750505090565b82516001600160a01b0381168103610379578152602092830192016134a8565b805182101561232f5760209160051b010190565b91908201809211610d8357565b6001600160a01b039182168152602081019290925290911660408201525f606082015260800190565b81810292918115918404141715610d8357565b811561353c570490565b634e487b7160e01b5f52601260045260245ffd5b91908203918211610d8357565b6001600160a01b039091168152602081019190915260400190565b602081830312610379578051906001600160401b03821161037957019080601f830112156103795781516135ab81613434565b926135b96040519485613411565b81845260208085019260051b82010192831161037957602001905b8282106135e15750505090565b81518152602091820191016135d4565b6001600160a01b0391821681529116602082015260400190565b5f198114610d835760010190565b5f525f5160206151715f395f51905f52602052600160405f20015490565b9081526001600160a01b03909116602082015260400190565b6001600160a01b0316801561369b575f5160206150d15f395f51905f5280546001600160a01b0319811683179091556001600160a01b03165f5160206151515f395f51905f525f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b60ff5f5160206151915f395f51905f5254166136c657565b63d93c066560e01b5f5260045ffd5b335f9081527f1e7544249be4928fb5cf2beb807aabc803ed444c9068375a77ce1bbd0a7dbef7602052604090205460ff161561370d57565b63e2517d3f60e01b5f52336004525f5160206150b15f395f51905f5260245260445ffd5b5f8181525f5160206151715f395f51905f526020908152604080832033845290915290205460ff16156137615750565b63e2517d3f60e01b5f523360045260245260445ffd5b6001600160401b038111610dc057601f01601f191660200190565b5f5b8381106137a35750505f910152565b8181015183820152602001613794565b6137e86137ed93926137da60405194859263a9059cbb60e01b60208501526024840161355d565b03601f198101845283613411565b614faf565b565b6040519060205f8184019463095ea7b360e01b865260018060a01b03169485602486015281604486015260448552613828606486613411565b84519082855af15f513d8261387c575b50501561384457505050565b6137e86137ed936040519063095ea7b360e01b602083015260248201525f604482015260448152613876606482613411565b82614faf565b90915061389957506001600160a01b0381163b15155b5f80613838565b600114613892565b91909160205f604051936138d8856138ca8582019363095ea7b360e01b8552896024840161355d565b03601f198101875286613411565b84519082855af15f513d82613933575b5050156138f457505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448085019190915283526137ed926137e890613876606482613411565b90915061395057506001600160a01b0381163b15155b5f806138e8565b600114613949565b613960614864565b6005545f90829080613a40575b50506004545f546001600160a01b03918216939161398f9183918691166138a1565b6004546001600160a01b0316803b1561037957604051631f72642160e31b8152915f9183918290849082906139c890306004840161355d565b03925af19081613a2b575b50613a2757546139ec92506001600160a01b03166137ef565b60405162461bcd60e51b8152602060048201526013602482015272111a5cdd1c9a589d5d1a5bdb8819985a5b1959606a1b6044820152606490fd5b5050565b613a389192505f90613411565b5f905f6139d3565b9091925060095490613a5283836134e9565b90670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610d8357613a7d91613532565b908115613b10575090613a95613aa1926008546134e9565b600855600954906134e9565b905f60095562093a804204805f52601c60205260405f205415613ad6575b600854905f52601c60205260405f20555f8061396d565b601b54600160401b811015610dc057806001613af79201601b55601b61338b565b81549060031b9083821b915f19901b1916179055613abf565b9050613b1c92506134e9565b600955565b5f5160206150d15f395f51905f52546001600160a01b03163303613b4157565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b0381165f9081525f5160206151115f395f51905f52602052604090205460ff16613bc5576001600160a01b03165f8181525f5160206151115f395f51905f5260205260408120805460ff191660011790553391905f5160206150715f395f51905f528180a4600190565b505f90565b5f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16613c55575f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291905f5160206150715f395f51905f529080a4600190565b50505f90565b5f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615613c55575f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60025f5160206151b15f395f51905f525414613d205760025f5160206151b15f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b805482101561232f575f5260205f209060011b01905f90565b80546001600160c01b031660c09290921b6001600160c01b031916919091179055565b80546001600160801b031660809290921b6001600160801b031916919091179055565b613d96614864565b60018060a01b0381165f52600a60205260405f209060048201916002810191825460e01c9362093a80420494600384019660018060401b0388541687106140b757815b835481101561401d57613dec8185613d2f565b50805460c01c808a1015613e1d575b50506001810180911115613dd957634e487b7160e01b5f52601160045260245ffd5b600182015460ff1615613f1e575080546001600160c01b0381169081613e49575b5050505b5f80613dfb565b613e559060c01c6144e4565b8954613e9890613e6f906001600160701b0316838b614674565b60018d01949094558b546001600160801b0319166001600160801b03928316178c55168a613d6b565b6007558854613eb490829060701c6001600160701b03166134e9565b8954600160701b600160e01b0319811660709290921b600160701b600160e01b0316919091178a556001600160701b03918291613ef391908316613550565b8a546001600160701b03191691169190911617885580546001600160c01b03191690555f8080613e3e565b5f9a9693979491999895929a52601960205260018060401b0360405f2054165b6001600160401b0381169089821161400b57505f908152601960205260409020546001600160401b031680613f3e5799919497989093969295995b6001600160401b03811615613f97575b613f9291613d48565b613e42565b5064ffffffffff60015460a01c1662093a8081029080820462093a801490151715610d8357613fc690426134e9565b90613fd082615007565b918211156140025762093a7f198201918211610d8357613f92915b90915062093a8090046001600160401b0316613f89565b613f9291613feb565b90509991949798909396929599613f79565b50959350959391508054955b8681108061409b575b1561405757600181018091111561402957634e487b7160e01b5f52601160045260245ffd5b82546001600160e01b031660e09190911b6001600160e01b031916179091555081546001600160401b0319166001600160401b0390911617905590506137ed614963565b506140a68183613d2f565b50546001600160c01b031615614032565b63b7d0949760e01b5f5260045ffd5b6001600160a01b03165f908152600a60205260409020600754815460085460018401805493946001600160801b038416949093929190808311156141fe5761410e9083613550565b925b60801c92801515806141e8575b6141bc575b50558261417f575b6001600160801b038311614170576001600160801b0381116141705781546001600160801b0319166001600160801b0393841617825561416b921690613d6b565b600755565b63162908e360e11b5f5260045ffd5b909291908181106141a057906121388161419893613550565b915f9161412a565b6141af816141b5939594613550565b93613550565b905f61412a565b92670de0b6b3a7640000611b526141e1939560018060701b036002890154169061351f565b915f614122565b5060028501546001600160701b0316151561411d565b505f92614110565b6040516323b872dd60e01b60208201526001600160a01b0392831660248201529290911660448301526064808301939093529181526137ed916137e8608483613411565b90815264ffffffffff909116602082015260400190565b9061426b826140c6565b5f805460035491939161428c9184916001600160a01b0390811691166138a1565b60035460015460a01c64ffffffffff16906001600160a01b0316803b1561037957604051630f069e4160e01b8152915f9183918290849082906142d3908a6004840161424a565b03925af1801561050a576144cf575b506001600160a01b0316808352600a602052604083206002810180549294926001600160701b03908116858216019081116144bb5781546001600160701b0319166001600160701b039091161790556001546004919091019062093a8060a09190911c64ffffffffff168181029181159183041417156144a25761437861437161436c83426134e9565b615007565b91426134e9565b8111156144b65762093a7f1981019081116144a2575b60405161439a816133f6565b6001600160c01b038516815262093a809091046001600160401b0316602082019081526040820184815283549093919291600160401b82101561448e57906143e791600182018155613d2f565b94909461447a57505183546001600160c01b0319166001600160c01b03919091161783555161443d9291600191614427906001600160401b031684613d48565b51151591019060ff801983541691151516179055565b614449816005546134e9565b6005556040519081527f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f6260203392a3565b634e487b7160e01b81526004819052602490fd5b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b83526011600452602483fd5b61438e565b634e487b7160e01b84526011600452602484fd5b6144dc9193505f90613411565b5f915f6142e2565b601b549190826144f457505f9150565b601b541561232f57601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc154811061466e575f198301928311610d83575f9280600181166146585760011c9190915b915b60018501808611610d8357811115614629578161456384613373565b90549060031b1c145f1461459457505061457e919250613373565b90549060031b1c5f52601c60205260405f205490565b816145a0849394613373565b90549060031b1c115f1461460357505b60016145bc82866134e9565b166145d6576145cb81856134e9565b60011c5b9190614547565b6145e081856134e9565b60011c60018101809111156145cf57634e487b7160e01b5f52601160045260245ffd5b908261460e82613373565b90549060031b1c10614621575b506145b0565b93505f61461b565b915092919261463782613373565b90549060031b1c111561464e575061457e90613373565b61457e9150613373565b60011c60018101809111610d8357919091614545565b505f9150565b6001600160a01b03165f908152600a60205260409081902090519193909261469b836133da565b83546001600160801b0381168452608090811c6020850190815260018601546040860190815260028701546001600160701b0380821660608901908152607083901c9091169488019490945260e01c60a087015260038701546001600160401b031660c0870152600490960180549697929691929161471981613434565b916147276040519384613411565b81835260208301905f5260205f205f915b838310614822575050505060e0860152600754945196516001600160801b0390971696808211156148195761476c91613550565b905b516001600160801b0316948115159081614805575b506147e5575b5050836147af575b6001600160801b038411614170576001600160801b03831161417057565b9290918181106147ce5790612138816147c793613550565b5f92614791565b6141af816147dd939594613550565b915f91614791565b611b526147fd939592670de0b6b3a76400009261351f565b915f80614789565b516001600160701b0316151590505f614783565b50505f9061476e565b60026020600192604051614835816133f6565b8554858060c01b038116825260c01c8382015260ff858701541615156040820152815201920192019190614738565b6040519081826020601a549283815201601a5f5260205f20925f5b81811061494a57505061489492500383613411565b601754805b8351811015614944576148ac81856134d5565b51805f52601860205260405f2054814210158061492f575b6148d3575b5050600101614899565b806148e36148ee92600554613550565b6005556006546134e9565b6006555f5260186020525f604081205580821461490d575b5f806148c9565b9061492760019161491f60175461360b565b60175561360b565b919050614906565b50815f52601860205260405f205415156148c4565b50509050565b845483526001948501948794506020909301920161487f565b60035460405163719f308960e01b8152306004820152905f90829060249082906001600160a01b03165afa90811561050a575f91614d53575b5064ffffffffff60015460a01c1662093a8081029080820462093a801490151715610d83576149d161437161436c83426134e9565b811115614d495762093a7f198101908111610d835762093a80905b045f5b8251811015614d41576020614a0482856134d5565b51015162093a8064ffffffffff91821690810490911691904210614a51575f9182526019602052604090912080546001600160401b0319166001600160401b0384161790556001016149ef565b505050505b5f546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa90811561050a575f91614d0f575b50600354604051633ccfd60b60e01b815290602090829060049082905f906001600160a01b03165af19081614ce0575b50614ac75750565b5f546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa801561050a575f90614cac575b614b089250613550565b614b17600654600954906134e9565b6040516370a0823160e01b81523060048201529290602084602481855afa93841561050a575f94614c78575b505f93818111614c65575b505060035460405163089cc3b760e31b81526001600160a01b039091169190602081600481865afa90811561050a575f91614c33575b50841015614bab575b50505f5160206151f15f395f51905f529150602090604051908152a1565b614bb69184916138a1565b60018060a01b03600354169164ffffffffff60015460a01c16833b1561037957614bf9935f9283604051809781958294630f069e4160e01b84526004840161424a565b03925af190811561050a575f5160206151f15f395f51905f5292602092614c23575b819250614b8d565b5f614c2d91613411565b5f614c1b565b90506020813d602011614c5d575b81614c4e60209383613411565b8101031261037957515f614b84565b3d9150614c41565b614c70929450613550565b915f80614b4e565b9093506020813d602011614ca4575b81614c9460209383613411565b810103126103795751925f614b43565b3d9150614c87565b506020823d602011614cd8575b81614cc660209383613411565b8101031261037957614b089151614afe565b3d9150614cb9565b6020813d602011614d07575b81614cf960209383613411565b810103126103795751614abf565b3d9150614cec565b90506020813d602011614d39575b81614d2a60209383613411565b8101031261037957515f614a8f565b3d9150614d1d565b505050614a56565b62093a80906149ec565b90503d805f833e614d648183613411565b810190602081830312610379578051906001600160401b038211610379570181601f8201121561037957805190614d9a82613434565b92614da86040519485613411565b82845260208085019360061b8301019181831161037957602001925b828410614dd557505050505f61499c565b6040848303126103795760408051919082016001600160401b03811183821017610dc05760405284516001600160701b038116810361037957825260208501519064ffffffffff821682036103795782602092836040950152815201930192614dc4565b6004815110614f7b5760208101516001600160e01b0319169062461bcd60e51b8214614ec35750634e487b7160e01b14614e9757604051614e7b604082613411565b600c81526b21bab9ba37b69032b93937b960a11b602082015290565b604051614ea5604082613411565b600e81526d50616e69632875696e743235362960901b602082015290565b9050604481511015614f055750604051614ede604082613411565b6017815276115c9c9bdc8a1cdd1c9a5b99ca481b585b199bdc9b5959604a1b602082015290565b6004810151810160248101919060209082900312610379576024810151906001600160401b038211610379570181604382011215610379576024810151614f4b81613777565b92614f596040519485613411565b8184526044838301011161037957614f78916044602085019101613792565b90565b50604051614f8a604082613411565b60158152742932bb32b93a103bb4ba34103737903932b0b9b7b760591b602082015290565b905f602091828151910182855af11561050a575f513d614ffe57506001600160a01b0381163b155b614fde5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415614fd7565b62093a80810462093a8081029080820462093a801490151715610d835762093a80614f789206155f1461503b575f906134e9565b62093a80906134e9565b60ff5f5160206152115f395f51905f525460401c161561506157565b631afcd79f60e31b5f5260045ffdfe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d2d5fb609dbfa835eb28ecbbdf51204e96ee9af7cafdcc13c8a82323c158b48cf62229496573be0b0846a2fb48a94de962b501adb0b8eaf7f99924b10a81a19fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090ff0fdc2a5e2f52090b2c8a629804c58d5c1156b5405c8437a00da5abba239cb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f001a24d9e293955b2f174e8efe4262a5c3d06777298ea45a1a260bfef613edf4e00543f5a965a495a7e9851f0c93e6a59699d038592d1ea9f4396bce934929efd0f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a337fbc28d99cc8cbc6ca511c8f4fe0adc27b3196395585fc255a51a34c7184d64736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
2155
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c8063018ee9b714612b4857806301ffc9a714612af25780630858cf9814612ad557806308d43ff714612a6d5780630af88574146128905780630d392cd9146128135780630f7acc87146127c05780631959a002146127275780631fdcf32b146126ff57806320583c001461266e57806323a35de9146123b9578063248a9ca31461239357806325cc4fe71461236b578063262d615214612343578063279cdb66146122d55780632e84deff146122ad5780632f2ff15d1461227c57806335c807e61461221457806336568abe146121d0578063371fd8e614612048578063381386c01461202b5780633ca4d9f414611f845780633dbe439114611f4a5780633f4ba83a14611ecc578063409f521a14611eaf5780634296cfd814611dac5780634b69c6b214611d8f5780634c09f37c14611d725780634e143baf14611d1a5780635078a03014611cf25780635804810a14611cae57806358d7bf8014611c915780635c975abb14611c635780635fe1437414611c465780636119b1b114611c1e57806361d027b314611bf65780636386c1c71461190e57806364e21132146118885780636919db5c146118605780636a423727146118435780636ba42aaa146118065780636fcd112b146116a8578063715018a6146116545780637f51bb1f146115ec57806383dd4f69146115cf5780638456cb591461150c5780638cd013071461126e5780638da5cb5b1461123a57806391d14854146111e5578063939d6237146111c8578063949ba627146110d85780639995a334146110135780639e42157d14610ff6578063a217fddf14610fdc578063a3b6aeda14610ee1578063b6b55f2514610e8a578063b758ba8814610e63578063b97dd9e214610e43578063c3ade01214610e26578063c4d381df14610e09578063c9d2ff9d14610b76578063d09729ad14610b4c578063d1b5172f14610af9578063d547741f14610ac3578063d5c8ff9814610a9c578063d8b09c0c14610a34578063e36a6b83146109dc578063e63a391f146109be578063e63ab1e914610997578063e668efe2146105cf578063ed4a7084146105a8578063f14faf6f14610548578063f2eda13b146103a8578063f2fde38b1461037d5763fbb12d0714610352575f80fd5b34610379575f3660031901126103795760206040515f5160206150f15f395f51905f528152f35b5f80fd5b34610379576020366003190112610379576103a66103996132f6565b6103a1613b21565b613650565b005b34610379576103b6366133a0565b916103bf613cf7565b6103c76136ae565b8215610539576004906103d86136d5565b60035460405163c4f59f9b60e01b8152925f9184919082906001600160a01b03165afa91821561050a575f92610515575b5091926001600160a01b03831692905f5b8351811015610454576001600160a01b0361043582866134d5565b511685146104455760010161041a565b63c1ab6dc160e01b5f5260045ffd5b508461047782828761046883303384614206565b61047282826137ef565b6138a1565b6001600160a01b031691823b156103795760405163534a7e1d60e11b815260048101839052915f8360248183885af192831561050a577f57a6edf74f7cdf69723cf14427405d5ab3e4b8e1600a4d8b7e01ea3c95ccd3a0936104fa575b506104e460405192839283613637565b0390a260015f5160206151b15f395f51905f5255005b5f61050491613411565b846104d4565b6040513d5f823e3d90fd5b6105329192503d805f833e61052a8183613411565b81019061344b565b9084610409565b63e320176b60e01b5f5260045ffd5b34610379576020366003190112610379576004356105646136ae565b80156105395761059590610576613cf7565b5f54610590908290309033906001600160a01b0316614206565b613958565b60015f5160206151b15f395f51905f5255005b34610379575f366003190112610379575f546040516001600160a01b039091168152602090f35b34610379576101c0366003190112610379576105e96132f6565b6105f161330c565b906105fa613338565b61060261334e565b9261060b613322565b60a43592906001600160a01b03841684036103795760c4356001600160a01b03811681036103795760e435906001600160a01b03821682036103795761010435926001600160a01b0384168403610379575f5160206152115f395f51905f5254610164359990986101843596906101a435906001600160401b038c161580610989575b6001600160401b038d16600114908161097f575b159081610976575b50610967575f5160206152115f395f51905f5280546001600160401b031916600117905560408c901c60ff1615610943575b6106e4615045565b6106ec615045565b6106f533613650565b6106fd615045565b610705615045565b61070d615045565b60015f5160206151b15f395f51905f5255610726615045565b6001600160a01b0316918215610934576001600160a01b0316988915610934576001600160a01b0316928315610934576001600160a01b0316938415610934576001600160a01b0316978815610934576001600160a01b038b1615610934576001600160a01b03861615610934576001600160a01b03871615610934576001600160a01b0388161561093457631dcd65006101243511610925576305f5e1006101443511610925578c6107e6836107e18461012435946134e9565b6134e9565b036109165760119c909c5560129b909b5560139a909a5560018054600380546001600160a01b0319908116909a1790555f80548a169c909c17909b5560028054891692909217909155600480548816929092179091556010805487166001600160a01b039384161790556015805487169383169390931790925560148054861693821693909317909255600c8054909416929092179092556001600160c81b0319909416911617600d60a21b1790915561012435600f5561014435600e55631dcd6500600b5560ff906108b833613b54565b5060401c16156108c457005b60ff60401b195f5160206152115f395f51905f5254165f5160206152115f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b638b9126fd60e01b5f5260045ffd5b637e2df70960e11b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b5f5160206152115f395f51905f52805460ff60401b1916600160401b1790556106dc565b63f92ee8a960e01b5f5260045ffd5b9050158e6106aa565b303b1591506106a2565b5060ff8c60401c161561068e565b34610379575f3660031901126103795760206040515f5160206151315f395f51905f528152f35b34610379575f366003190112610379576020604051633b9aca008152f35b34610379576020366003190112610379576004356109f8613b21565b6305f5e1008111610925576020817fc69cbab065ddb19d4ee1f9cfe242c82b8facbd1e93c89e5830dfe0d4fb25985392600e55604051908152a1005b3461037957602036600319011261037957610a4d6132f6565b610a55613b21565b6001600160a01b0316801561093457601480546001600160a01b031916821790557fbd89165bc0f9810151bd7f1a3ec6e5a9c70832f15628e9416507ef061525d1a35f80a2005b34610379575f36600319011261037957602064ffffffffff60015460a01c16604051908152f35b34610379576040366003190112610379576103a6600435610ae261330c565b90610af4610aef82613619565b613731565b613c5b565b34610379575f36600319011261037957335f52601660205260ff60405f20541615610b3e57610b26613cf7565b610b2e6136ae565b610b36614864565b610595614963565b6282b42960e81b5f5260045ffd5b34610379576020366003190112610379576004355f526018602052602060405f2054604051908152f35b3461037957602036600319011261037957600435801561053957610b98613cf7565b610ba06136ae565b610ba933613d8e565b610bb2336140c6565b335f908152600a6020526040812060028101548154600490920192916001600160801b0316906001600160701b0381169062093a80420490849060e01c5b878754821015610dfc5750610c058188613d2f565b508054908160c01c91858311801590610dee575b610de3576001600160c01b03169081151580610dd4575b610c42575b5050506001905b01610bf0565b600190989492939801600160ff1982541617905562093a8083029280840462093a801490151715610d8357601a5491600160401b831015610dc057610ccd93610c96846001610cc79601601a55601a61338b565b81549060031b9083821b915f19901b19161790555f52601860205260405f20610cc08382546134e9565b90556134e9565b9161360b565b9487808714610cdd578980610c35565b93949592505094505b03610db157808311610da257829081811115610d9757610d1291610d0991613550565b600b549061351f565b633b9aca00820291808304633b9aca001490151715610d835710610d745760405191825260208201527ff7870c5b224cbc19873599e46ccfc7103934650509b1af0c3ce90138377c200460403392a260015f5160206151b15f395f51905f5255005b633a23d82560e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b5050610d125f610d09565b633e9b09d160e01b5f5260045ffd5b6341bbfa8360e11b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b5060ff60018201541615610c30565b505050600190610c3c565b5060ff600183015416610c19565b9394959250509450610ce6565b34610379575f366003190112610379576020600954604051908152f35b34610379575f366003190112610379576020600754604051908152f35b34610379575f36600319011261037957602062093a804204604051908152f35b34610379575f3660031901126103795760206040515f5160206150b15f395f51905f528152f35b346103795760203660031901126103795760043580156105395761059590610eb0613cf7565b610eb86136ae565b610ec133613d8e565b5f54610edb908290309033906001600160a01b0316614206565b33614261565b3461037957608036600319011261037957610efa6132f6565b60243590610f06613338565b91610f0f61334e565b92610f186136d5565b811561053957610f266136ae565b6040516362d1e52360e11b81526001600160a01b03948516600482018190526024820193909352928416604484018190529293166020846064815f855af192831561050a575f93610fa7575b602094507ff296c40090a5aae193d87e3a7d65806ef8931893887d285677e13e3eeff4d37485604051868152a4604051908152f35b92506020843d602011610fd4575b81610fc260209383613411565b81010312610379576020935192610f72565b3d9150610fb5565b34610379575f3660031901126103795760206040515f8152f35b34610379575f366003190112610379576020600554604051908152f35b3461037957611021366133a0565b6010549092906001600160a01b03163303610b3e5761103e6136ae565b6001600160a01b0316908115610934576001600160a01b03811692831561093457823b15610379575f81611087936040519485928392632fba5def60e11b84526004840161355d565b038183875af190811561050a577f5966fa360f56e87c95a4fdc802065489925e68179cbdc1d4b19834ca5827e840926020926110c8575b50604051908152a3005b5f6110d291613411565b856110be565b34610379576060366003190112610379576110f16132f6565b60243560443591821515809303610379576010546001600160a01b03163303610b3e5761111c6136ae565b6001600160a01b031690811561093457604051916315373e3d60e01b83528160048401528360248401526020836044815f855af192831561050a575f93611185575b505f5160206151d15f395f51905f52604060209581519081528587820152a3604051908152f35b9392506020843d6020116111c0575b816111a160209383613411565b8101031261037957925191925f5160206151d15f395f51905f5261115e565b3d9150611194565b34610379575f366003190112610379576020600854604051908152f35b34610379576040366003190112610379576111fe61330c565b6004355f525f5160206151715f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610379575f366003190112610379575f5160206150d15f395f51905f52546040516001600160a01b039091168152602090f35b346103795760403660031901126103795760043561128a613364565b811561053957611298613cf7565b6112a06136ae565b6112a933613d8e565b6112b2336140c6565b335f908152600a60205260409020805460801c838110611447576112ec91906001600160801b03906112e5908690613550565b1690613d6b565b156113ee576002546004546001600160a01b039081169116803b15610379576040516340c10f1960e01b8152915f838061132a87306004840161355d565b038183865af191821561050a576113489385936113de575b506138a1565b6004546001600160a01b0316803b15610379575f60405180926317a790f160e11b825281838161137c88336004840161355d565b03925af1801561050a576113ce575b505b60405190815233907f312a5e5e1079f5dda4e95dbbd0b908b291fd5b992ef22073643ab691572c5b5260203392a360015f5160206151b15f395f51905f5255005b5f6113d891613411565b8161138b565b5f6113e891613411565b85611342565b6002546001600160a01b0316803b15610379575f60405180926340c10f1960e01b825281838161142288336004840161355d565b03925af1801561050a57611437575b5061138d565b5f61144191613411565b81611431565b81546001600160801b0316825561145e9084613550565b8061146b575b50506112ec565b600282015482546001600160801b031692906001600160701b0316801561150257600b546114989161351f565b6114a283856134e9565b90633b9aca00820291808304633b9aca001490151715610d835710610d74576114f8926001600160801b039081906114db9085906134e9565b83546001600160801b0319169116919091161790556007546134e9565b6007558280611464565b506114985f610d09565b34610379575f36600319011261037957335f9081527f75442b0a96088b5456bc4ed01394c96a4feec0f883c9494257d76b96ab1c9b6b602052604090205460ff16156115ab5761155a6136ae565b600160ff195f5160206151915f395f51905f525416175f5160206151915f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b63e2517d3f60e01b5f52336004525f5160206151315f395f51905f5260245260445ffd5b34610379575f366003190112610379576020601254604051908152f35b34610379576020366003190112610379576116056132f6565b61160d613b21565b6001600160a01b0316801561093457601080546001600160a01b031916821790557f1f54d231bb9d500b1923e4a1cb25e600f366a8368873d9af7c1c623814df19fc5f80a2005b34610379575f3660031901126103795761166c613b21565b5f5160206150d15f395f51905f5280546001600160a01b031981169091555f906001600160a01b03165f5160206151515f395f51905f528280a3005b34610379575f366003190112610379576116c0613cf7565b6116c86136ae565b6116d133613d8e565b6116da336140c6565b335f908152600a60205260409020600281018054607081901c6001600160701b031692919083156117f75791545f926001600160801b039091169084906001600160701b0316818111156117ec5761173591610d0991613550565b633b9aca00820291808304633b9aca001490151715610d8357106117d8575b8054600160701b600160e01b0319169055600654611773908390613550565b6006551561178e5760015f5160206151b15f395f51905f5255005b5f546117a690829033906001600160a01b03166137b3565b6040519081527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436460203392a280610595565b90506117e48233614261565b600190611754565b50506117355f610d09565b6313424e8d60e31b5f5260045ffd5b34610379576020366003190112610379576001600160a01b036118276132f6565b165f526016602052602060ff60405f2054166040519015158152f35b34610379575f366003190112610379576020600e54604051908152f35b34610379575f366003190112610379576014546040516001600160a01b039091168152602090f35b34610379575f366003190112610379575f546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa801561050a575f906118db575b602090604051908152f35b506020813d602011611906575b816118f560209383613411565b8101031261037957602090516118d0565b3d91506118e8565b34610379576020366003190112610379576119276132f6565b6001600160a01b0381165f908152600a6020526040808220905190929161194d826133da565b83546001600160801b0381168352608090811c6020840190815260018601546040850190815260028701546001600160701b0380821660608801908152607083901c90911694870194855260e09190911c60a0870190815260038901546001600160401b031660c088015260049098018054929893929091906119cf81613434565b926119dd6040519485613411565b81845260208401905f5260205f205f915b838310611bae575050505060e08701829052519551935192516001600160701b039687169662093a804204959416936001600160801b03169063ffffffff165b8251811015611b1c57611a4181846134d5565b516020810180516001600160401b03168810611aee576040820151611a84575b50505b6001810180911115611a2e57634e487b7160e01b5f52601160045260245ffd5b51919890959250611ae691611ad590611ab1908390611aab906001600160401b03166144e4565b8d614674565b506001600160801b03908116885288519116946001600160c01b03909116906134e9565b95516001600160c01b031690613550565b968a80611a61565b506040810151611aff575b50611a64565b519096611b15916001600160c01b0316906134e9565b958a611af9565b60a088888488611b598f670de0b6b3a7640000611b5287611b4d8e60018060801b0390511694600854905190613550565b61351f565b04906134e9565b9282611b7c575b6040519485526020850152604084015260608301526080820152f35b9092909190818110611b9a5790611b9291613550565b915f91611b60565b611ba691939293613550565b905f92611b60565b600260206001929a9e9a604051611bc4816133f6565b8554858060c01b038116825260c01c8382015260ff8587015416151560408201528152019201920191909b979b6119ee565b34610379575f366003190112610379576010546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576004546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576020601754604051908152f35b34610379575f36600319011261037957602060ff5f5160206151915f395f51905f5254166040519015158152f35b34610379575f366003190112610379576020600b54604051908152f35b34610379576020366003190112610379576004356001600160401b03811690819003610379575f526019602052602060018060401b0360405f205416604051908152f35b34610379575f366003190112610379576001546040516001600160a01b039091168152602090f35b3461037957602036600319011261037957600435611d36613b21565b6305f5e1008111610925576020817f2131421f1667d3206b261152a6f4fb7037f9790b64a6bb0154cf17c6265b6acb92600d55604051908152a1005b34610379575f366003190112610379576020600f54604051908152f35b34610379575f366003190112610379576020600654604051908152f35b346103795760a036600319011261037957611dc56132f6565b611dcd61330c565b60443591611dd9613322565b91611de26136ae565b611dea613cf7565b831561053957611df86136d5565b6001600160a01b03831615610934576001600160a01b031692833b1561037957604051632e1a7d4d60e01b8152600481018290525f8160248183895af1801561050a57611e9f575b506064358110611e90577f6121f81122dd3b5439a5eceba3952f7457af801dc975675861d69c3f488c1e5992611e819082906001600160a01b0385166137b3565b6104e460405192839283613637565b63bb2875c360e01b5f5260045ffd5b5f611ea991613411565b84611e40565b34610379575f366003190112610379576020601354604051908152f35b34610379575f36600319011261037957611ee4613b21565b5f5160206151915f395f51905f525460ff811615611f3b5760ff19165f5160206151915f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610379575f3660031901126103795760206040517f362a445c70d77815b624f5a6cc74953d94aaf7101c9d0facdcff0dac594b80ce8152f35b3461037957604036600319011261037957611f9d6132f6565b602435611fa8613cf7565b611fb06136ae565b336001600160a01b038316141580611ff3575b610b3e5781611fd461059593613d8e565b5f54611fee908390309033906001600160a01b0316614206565b614261565b50335f9081527fcefab08a000590e672d943fcf088128d1be97c1c08b29f5e8036c045c753e7f4602052604090205460ff1615611fc3565b34610379575f366003190112610379576020601154604051908152f35b346103795760203660031901126103795760043580156105395761206a613cf7565b6120726136ae565b61207b33613d8e565b612084336140c6565b335f52600a60205260405f2060018060801b038154169160075490836120b75760015f5160206151b15f395f51905f5255005b838111156121c757506120e2835b633b9aca006120d6600d548361351f565b0490816121a257613550565b9260018060a01b036002541690813b15610379575f604051809363079cc67960e41b82528183816121178b336004840161355d565b03925af191821561050a578580926121389261213e95612192575b50613550565b92613550565b926040519081527f5c16de4f8b59bd9caf0f49a545f25819a895ed223294290b408242e72a59423160203392a281546001600160801b0319166001600160801b039190911617905560075580808080610595565b5f61219c91613411565b88612132565b6002546010546121c29184916001600160a01b0390811691339116614206565b613550565b6120e2906120c5565b34610379576040366003190112610379576121e961330c565b336001600160a01b03821603612205576103a690600435613c5b565b63334bd91960e11b5f5260045ffd5b346103795760203660031901126103795761222d6132f6565b612235613b21565b6001600160a01b0316801561093457600c80546001600160a01b031916821790557f03e59dbc22b06c47327d520cddc8bf2923ac525a1742732bf344562d7f72d0f55f80a2005b34610379576040366003190112610379576103a660043561229b61330c565b906122a8610aef82613619565b613bca565b34610379575f366003190112610379576002546040516001600160a01b039091168152602090f35b3461037957602036600319011261037957600435601a5481101561037957601a5481101561232f57601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0154604051908152602090f35b634e487b7160e01b5f52603260045260245ffd5b34610379575f36600319011261037957600c546040516001600160a01b039091168152602090f35b34610379575f366003190112610379576003546040516001600160a01b039091168152602090f35b346103795760203660031901126103795760206123b1600435613619565b604051908152f35b34610379576020366003190112610379576001600160a01b036123da6132f6565b165f52600a60205261247660405f20604051906123f6826133da565b80546001600160801b0381168352608090811c60208401526001820154604084015260028201546001600160701b038082166060860152607082901c169184019190915260e01c60a0830190815260038201546001600160401b031660c084015260049091018054909261246982613434565b9160405195869384613411565b80835260208301945f5260205f205f905b8282106126225760e08401859052855163ffffffff16855f62093a804204835b83518110156124eb57816001600160401b0360206124c584886134d5565b51015116116124d7575b6001016124a7565b916124e360019161360b565b9290506124cf565b50926124f682613434565b916125046040519384613411565b808352612513601f1991613434565b015f5b8181106125f95750505f905b835181101561258757846001600160401b03602061254084886134d5565b5101511611612552575b600101612522565b9061257f60019161256384876134d5565b5161256e82876134d5565b5261257981866134d5565b5061360b565b91905061254a565b826040518091602082016020835281518091526020604084019201905f5b8181106125b3575050500390f35b825180516001600160c01b031685526020818101516001600160401b031681870152604091820151151591860191909152869550606090940193909201916001016125a5565b602090604051612608816133f6565b5f81525f838201525f604082015282828701015201612516565b9193509193946002602060019260405161263b816133f6565b8554858060c01b038116825260c01c8382015260ff85870154161515604082015281520192019201869391959492612487565b3461037957608036600319011261037957604435602435600435606435612693613b21565b6126a1846107e185856134e9565b631dcd65008211610925578103610916577f0e517b12ad92714324ac71e14f9443dee3b82d6ab434a8e543e0d35ba1ab86239360809382600f55836011558060125581601355604051938452602084015260408301526060820152a1005b34610379575f366003190112610379576015546040516001600160a01b039091168152602090f35b34610379576020366003190112610379576001600160a01b036127486132f6565b165f908152600a602090815260409182902080546001820154600283015460039093015485516001600160801b0384168152608093841c95810195909552948401526001600160701b038083166060850152607083901c169083015260e090811c60a08301526001600160401b0390921660c0820152f35b34610379575f36600319011261037957600354604051632c9aab9b60e11b815230600482015290602090829060249082906001600160a01b03165afa801561050a575f906118db57602090604051908152f35b346103795760403660031901126103795761282c6132f6565b7f08b2c0469ecd1d7a21d7e1492f0fc75fc7e8e0fa4fdf4275949c90875f5ebdf56020612857613364565b92612860613b21565b6001600160a01b03165f8181526016835260409020805460ff191660ff86151516179055926040519015158152a2005b34610379576020366003190112610379576128a96132f6565b6128b1613b21565b6001600160a01b03811690811561093457600c545f805460405163d85c32c760e01b81526001600160a01b039182169593909116929181806128f78888600484016135f1565b0381865afa90811561050a575f91612a53575b5051156129ba5760035460405163c4f59f9b60e01b815294905f90869060049082906001600160a01b03165afa94851561050a575f95612a37575b505f5b85518110156129fe57846001600160a01b0361296483896134d5565b511684811480156129f5575b6129eb5760405163d85c32c760e01b8152915f91839182916129969190600484016135f1565b0381885afa90811561050a575f916129c9575b5051156129ba576001905b01612948565b6304aaa4ed60e11b5f5260045ffd5b6129e591503d805f833e6129dd8183613411565b810190613578565b876129a9565b50506001906129b4565b50838114612970565b600180546001600160a01b03191684179055827f324fd48573b0802abed4c31efc8338504f98ae1bd2b045423422dba22c1554255f80a2005b612a4c9195503d805f833e61052a8183613411565b9385612945565b612a6791503d805f833e6129dd8183613411565b8561290a565b3461037957602036600319011261037957612a866132f6565b612a8e613b21565b6001600160a01b0316801561093457601580546001600160a01b031916821790557f6ed4d486ce0e38e85cb51baae9e1cb00e9083a1639004e21a191b499a4ffdb455f80a2005b34610379575f366003190112610379576020600d54604051908152f35b346103795760203660031901126103795760043563ffffffff60e01b811680910361037957602090637965db0b60e01b8114908115612b37575b506040519015158152f35b6301ffc9a760e01b14905082612b2c565b3461037957604036600319011261037957612b616132f6565b612b696136ae565b335f9081527f746b0a0656f1e921a3c755e7657adb0436c6a5319b34f1edafabefd764826119602052604090205460ff16156132d25760035460405163c4f59f9b60e01b8152905f90829060049082906001600160a01b03165afa90811561050a575f916132b8575b5060018060a01b035f541690805192612bea84613434565b93612bf86040519586613411565b808552612c07601f1991613434565b013660208601375f5b8251811015612eac576001600160a01b03612c2b82856134d5565b516040516370a0823160e01b8152306004820152929116602083602481845afa92831561050a575f93612e79575b5060035460405163a88557c560e01b8152906001600160a01b031660208280612c868630600484016135f1565b0381845afa91821561050a575f92612e46575b508115612e2e57803b15610379576040516305d38c7160e21b8152915f918391829084908290612ccd90896004840161355d565b03925af19081612e1e575b50612d7a57600192503d15612d62575f5160206150915f395f51905f52612d2b3d612d0281613777565b90612d106040519283613411565b81523d5f602083013e5b5f612d25868c6134d5565b52614e39565b60408051809260208252612d4e8151809281602086015260208686019101613792565b601f01601f19168101030190a25b01612c10565b5f5160206150915f395f51905f52612d2b6060612d1a565b6040516370a0823160e01b8152306004820152602081602481855afa90811561050a575f91612dec575b506020612dd46001957f7aa3ce5172359784bf5bceffaa37a2c70ac97903138f07c51fa940da3750968b93613550565b80612ddf868c6134d5565b52604051908152a2612d5c565b90506020813d8211612e16575b81612e0660209383613411565b8101031261037957516020612da4565b3d9150612df9565b5f612e2891613411565b88612cd8565b505050600191505f612e4082886134d5565b52612d5c565b9091506020813d8211612e71575b81612e6160209383613411565b8101031261037957519089612c99565b3d9150612e54565b9092506020813d8211612ea4575b81612e9460209383613411565b8101031261037957519187612c59565b3d9150612e87565b50828480518451036132a957600c546001600160a01b0316935f9283929190835b8251811015612ff3576001600160a01b03612ee882856134d5565b5116612ef482866134d5565b519081612f08575b50506001905b01612ecd565b600154929791926001600160a01b03168114612fde575f546001600160a01b03168103612f425750600191612f3c916134e9565b95612f02565b9096959180612f546020928c856137b3565b6001546040516349df439160e01b81529384928392612f83926001600160a01b039091169190600485016134f6565b03815f8d5af190811561050a575f91612fac575b50612fa4906001926134e9565b949089612efc565b90506020813d8211612fd6575b81612fc660209383613411565b8101031261037957516001612f97565b3d9150612fb9565b509594600191612fed916134e9565b94612f02565b50858486838a83613210575b50506024358210611e9057613013916134e9565b600f549091829180156132055761302f633b9aca00918561351f565b0493601154946012549361304f61304686896134e9565b601354906134e9565b9082156131f657508061307661307b6130829361307661306f878c613550565b998761351f565b613532565b988461351f565b95613091816121c28985613550565b806131d9575b50806131bc575b508561312c575b60209550905b600e5492836130fd575b50506130c083613958565b6040519283528483015260408201527f4534f107610758c3931de9ad1e176476fcfb8c74adf920167e1d54ee84fcfe7660603392a2604051908152f35b936131259194633b9aca0061311561311f968461351f565b0494858093613550565b956137b3565b85806130b5565b601454613142906001600160a01b0316836137ef565b60145461315a9087906001600160a01b0316846138a1565b6014546001600160a01b0316803b156103795760405163d5a4ee6f60e01b8152965f91889182908490829061319390896004840161355d565b03925af195861561050a576020966131ac575b506130a5565b5f6131b691613411565b866131a6565b6015546131d391906001600160a01b0316846137b3565b8661309e565b6010546131f091906001600160a01b0316856137b3565b87613097565b94505050602094505f906130ab565b506020935f906130ab565b90818461322e61325c959660209560018060a01b03600154166137b3565b6001546040516349df439160e01b815295869485935f9385939291906001600160a01b0316600485016134f6565b03925af190811561050a575f91613277575b50908385612fff565b90506020813d6020116132a1575b8161329260209383613411565b8101031261037957518461326e565b3d9150613285565b63251f56a160e21b5f5260045ffd5b6132cc91503d805f833e61052a8183613411565b82612bd2565b63e2517d3f60e01b5f52336004525f5160206150f15f395f51905f5260245260445ffd5b600435906001600160a01b038216820361037957565b602435906001600160a01b038216820361037957565b608435906001600160a01b038216820361037957565b604435906001600160a01b038216820361037957565b606435906001600160a01b038216820361037957565b60243590811515820361037957565b601b5481101561232f57601b5f5260205f2001905f90565b805482101561232f575f5260205f2001905f90565b6060906003190112610379576004356001600160a01b038116810361037957906024356001600160a01b0381168103610379579060443590565b61010081019081106001600160401b03821117610dc057604052565b606081019081106001600160401b03821117610dc057604052565b601f909101601f19168101906001600160401b03821190821017610dc057604052565b6001600160401b038111610dc05760051b60200190565b602081830312610379578051906001600160401b03821161037957019080601f830112156103795781519061347f82613434565b9261348d6040519485613411565b82845260208085019360051b82010191821161037957602001915b8183106134b55750505090565b82516001600160a01b0381168103610379578152602092830192016134a8565b805182101561232f5760209160051b010190565b91908201809211610d8357565b6001600160a01b039182168152602081019290925290911660408201525f606082015260800190565b81810292918115918404141715610d8357565b811561353c570490565b634e487b7160e01b5f52601260045260245ffd5b91908203918211610d8357565b6001600160a01b039091168152602081019190915260400190565b602081830312610379578051906001600160401b03821161037957019080601f830112156103795781516135ab81613434565b926135b96040519485613411565b81845260208085019260051b82010192831161037957602001905b8282106135e15750505090565b81518152602091820191016135d4565b6001600160a01b0391821681529116602082015260400190565b5f198114610d835760010190565b5f525f5160206151715f395f51905f52602052600160405f20015490565b9081526001600160a01b03909116602082015260400190565b6001600160a01b0316801561369b575f5160206150d15f395f51905f5280546001600160a01b0319811683179091556001600160a01b03165f5160206151515f395f51905f525f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b60ff5f5160206151915f395f51905f5254166136c657565b63d93c066560e01b5f5260045ffd5b335f9081527f1e7544249be4928fb5cf2beb807aabc803ed444c9068375a77ce1bbd0a7dbef7602052604090205460ff161561370d57565b63e2517d3f60e01b5f52336004525f5160206150b15f395f51905f5260245260445ffd5b5f8181525f5160206151715f395f51905f526020908152604080832033845290915290205460ff16156137615750565b63e2517d3f60e01b5f523360045260245260445ffd5b6001600160401b038111610dc057601f01601f191660200190565b5f5b8381106137a35750505f910152565b8181015183820152602001613794565b6137e86137ed93926137da60405194859263a9059cbb60e01b60208501526024840161355d565b03601f198101845283613411565b614faf565b565b6040519060205f8184019463095ea7b360e01b865260018060a01b03169485602486015281604486015260448552613828606486613411565b84519082855af15f513d8261387c575b50501561384457505050565b6137e86137ed936040519063095ea7b360e01b602083015260248201525f604482015260448152613876606482613411565b82614faf565b90915061389957506001600160a01b0381163b15155b5f80613838565b600114613892565b91909160205f604051936138d8856138ca8582019363095ea7b360e01b8552896024840161355d565b03601f198101875286613411565b84519082855af15f513d82613933575b5050156138f457505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448085019190915283526137ed926137e890613876606482613411565b90915061395057506001600160a01b0381163b15155b5f806138e8565b600114613949565b613960614864565b6005545f90829080613a40575b50506004545f546001600160a01b03918216939161398f9183918691166138a1565b6004546001600160a01b0316803b1561037957604051631f72642160e31b8152915f9183918290849082906139c890306004840161355d565b03925af19081613a2b575b50613a2757546139ec92506001600160a01b03166137ef565b60405162461bcd60e51b8152602060048201526013602482015272111a5cdd1c9a589d5d1a5bdb8819985a5b1959606a1b6044820152606490fd5b5050565b613a389192505f90613411565b5f905f6139d3565b9091925060095490613a5283836134e9565b90670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610d8357613a7d91613532565b908115613b10575090613a95613aa1926008546134e9565b600855600954906134e9565b905f60095562093a804204805f52601c60205260405f205415613ad6575b600854905f52601c60205260405f20555f8061396d565b601b54600160401b811015610dc057806001613af79201601b55601b61338b565b81549060031b9083821b915f19901b1916179055613abf565b9050613b1c92506134e9565b600955565b5f5160206150d15f395f51905f52546001600160a01b03163303613b4157565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b0381165f9081525f5160206151115f395f51905f52602052604090205460ff16613bc5576001600160a01b03165f8181525f5160206151115f395f51905f5260205260408120805460ff191660011790553391905f5160206150715f395f51905f528180a4600190565b505f90565b5f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16613c55575f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291905f5160206150715f395f51905f529080a4600190565b50505f90565b5f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615613c55575f8181525f5160206151715f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60025f5160206151b15f395f51905f525414613d205760025f5160206151b15f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b805482101561232f575f5260205f209060011b01905f90565b80546001600160c01b031660c09290921b6001600160c01b031916919091179055565b80546001600160801b031660809290921b6001600160801b031916919091179055565b613d96614864565b60018060a01b0381165f52600a60205260405f209060048201916002810191825460e01c9362093a80420494600384019660018060401b0388541687106140b757815b835481101561401d57613dec8185613d2f565b50805460c01c808a1015613e1d575b50506001810180911115613dd957634e487b7160e01b5f52601160045260245ffd5b600182015460ff1615613f1e575080546001600160c01b0381169081613e49575b5050505b5f80613dfb565b613e559060c01c6144e4565b8954613e9890613e6f906001600160701b0316838b614674565b60018d01949094558b546001600160801b0319166001600160801b03928316178c55168a613d6b565b6007558854613eb490829060701c6001600160701b03166134e9565b8954600160701b600160e01b0319811660709290921b600160701b600160e01b0316919091178a556001600160701b03918291613ef391908316613550565b8a546001600160701b03191691169190911617885580546001600160c01b03191690555f8080613e3e565b5f9a9693979491999895929a52601960205260018060401b0360405f2054165b6001600160401b0381169089821161400b57505f908152601960205260409020546001600160401b031680613f3e5799919497989093969295995b6001600160401b03811615613f97575b613f9291613d48565b613e42565b5064ffffffffff60015460a01c1662093a8081029080820462093a801490151715610d8357613fc690426134e9565b90613fd082615007565b918211156140025762093a7f198201918211610d8357613f92915b90915062093a8090046001600160401b0316613f89565b613f9291613feb565b90509991949798909396929599613f79565b50959350959391508054955b8681108061409b575b1561405757600181018091111561402957634e487b7160e01b5f52601160045260245ffd5b82546001600160e01b031660e09190911b6001600160e01b031916179091555081546001600160401b0319166001600160401b0390911617905590506137ed614963565b506140a68183613d2f565b50546001600160c01b031615614032565b63b7d0949760e01b5f5260045ffd5b6001600160a01b03165f908152600a60205260409020600754815460085460018401805493946001600160801b038416949093929190808311156141fe5761410e9083613550565b925b60801c92801515806141e8575b6141bc575b50558261417f575b6001600160801b038311614170576001600160801b0381116141705781546001600160801b0319166001600160801b0393841617825561416b921690613d6b565b600755565b63162908e360e11b5f5260045ffd5b909291908181106141a057906121388161419893613550565b915f9161412a565b6141af816141b5939594613550565b93613550565b905f61412a565b92670de0b6b3a7640000611b526141e1939560018060701b036002890154169061351f565b915f614122565b5060028501546001600160701b0316151561411d565b505f92614110565b6040516323b872dd60e01b60208201526001600160a01b0392831660248201529290911660448301526064808301939093529181526137ed916137e8608483613411565b90815264ffffffffff909116602082015260400190565b9061426b826140c6565b5f805460035491939161428c9184916001600160a01b0390811691166138a1565b60035460015460a01c64ffffffffff16906001600160a01b0316803b1561037957604051630f069e4160e01b8152915f9183918290849082906142d3908a6004840161424a565b03925af1801561050a576144cf575b506001600160a01b0316808352600a602052604083206002810180549294926001600160701b03908116858216019081116144bb5781546001600160701b0319166001600160701b039091161790556001546004919091019062093a8060a09190911c64ffffffffff168181029181159183041417156144a25761437861437161436c83426134e9565b615007565b91426134e9565b8111156144b65762093a7f1981019081116144a2575b60405161439a816133f6565b6001600160c01b038516815262093a809091046001600160401b0316602082019081526040820184815283549093919291600160401b82101561448e57906143e791600182018155613d2f565b94909461447a57505183546001600160c01b0319166001600160c01b03919091161783555161443d9291600191614427906001600160401b031684613d48565b51151591019060ff801983541691151516179055565b614449816005546134e9565b6005556040519081527f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f6260203392a3565b634e487b7160e01b81526004819052602490fd5b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b83526011600452602483fd5b61438e565b634e487b7160e01b84526011600452602484fd5b6144dc9193505f90613411565b5f915f6142e2565b601b549190826144f457505f9150565b601b541561232f57601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc154811061466e575f198301928311610d83575f9280600181166146585760011c9190915b915b60018501808611610d8357811115614629578161456384613373565b90549060031b1c145f1461459457505061457e919250613373565b90549060031b1c5f52601c60205260405f205490565b816145a0849394613373565b90549060031b1c115f1461460357505b60016145bc82866134e9565b166145d6576145cb81856134e9565b60011c5b9190614547565b6145e081856134e9565b60011c60018101809111156145cf57634e487b7160e01b5f52601160045260245ffd5b908261460e82613373565b90549060031b1c10614621575b506145b0565b93505f61461b565b915092919261463782613373565b90549060031b1c111561464e575061457e90613373565b61457e9150613373565b60011c60018101809111610d8357919091614545565b505f9150565b6001600160a01b03165f908152600a60205260409081902090519193909261469b836133da565b83546001600160801b0381168452608090811c6020850190815260018601546040860190815260028701546001600160701b0380821660608901908152607083901c9091169488019490945260e01c60a087015260038701546001600160401b031660c0870152600490960180549697929691929161471981613434565b916147276040519384613411565b81835260208301905f5260205f205f915b838310614822575050505060e0860152600754945196516001600160801b0390971696808211156148195761476c91613550565b905b516001600160801b0316948115159081614805575b506147e5575b5050836147af575b6001600160801b038411614170576001600160801b03831161417057565b9290918181106147ce5790612138816147c793613550565b5f92614791565b6141af816147dd939594613550565b915f91614791565b611b526147fd939592670de0b6b3a76400009261351f565b915f80614789565b516001600160701b0316151590505f614783565b50505f9061476e565b60026020600192604051614835816133f6565b8554858060c01b038116825260c01c8382015260ff858701541615156040820152815201920192019190614738565b6040519081826020601a549283815201601a5f5260205f20925f5b81811061494a57505061489492500383613411565b601754805b8351811015614944576148ac81856134d5565b51805f52601860205260405f2054814210158061492f575b6148d3575b5050600101614899565b806148e36148ee92600554613550565b6005556006546134e9565b6006555f5260186020525f604081205580821461490d575b5f806148c9565b9061492760019161491f60175461360b565b60175561360b565b919050614906565b50815f52601860205260405f205415156148c4565b50509050565b845483526001948501948794506020909301920161487f565b60035460405163719f308960e01b8152306004820152905f90829060249082906001600160a01b03165afa90811561050a575f91614d53575b5064ffffffffff60015460a01c1662093a8081029080820462093a801490151715610d83576149d161437161436c83426134e9565b811115614d495762093a7f198101908111610d835762093a80905b045f5b8251811015614d41576020614a0482856134d5565b51015162093a8064ffffffffff91821690810490911691904210614a51575f9182526019602052604090912080546001600160401b0319166001600160401b0384161790556001016149ef565b505050505b5f546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa90811561050a575f91614d0f575b50600354604051633ccfd60b60e01b815290602090829060049082905f906001600160a01b03165af19081614ce0575b50614ac75750565b5f546040516370a0823160e01b81523060048201526001600160a01b0390911691602082602481865afa801561050a575f90614cac575b614b089250613550565b614b17600654600954906134e9565b6040516370a0823160e01b81523060048201529290602084602481855afa93841561050a575f94614c78575b505f93818111614c65575b505060035460405163089cc3b760e31b81526001600160a01b039091169190602081600481865afa90811561050a575f91614c33575b50841015614bab575b50505f5160206151f15f395f51905f529150602090604051908152a1565b614bb69184916138a1565b60018060a01b03600354169164ffffffffff60015460a01c16833b1561037957614bf9935f9283604051809781958294630f069e4160e01b84526004840161424a565b03925af190811561050a575f5160206151f15f395f51905f5292602092614c23575b819250614b8d565b5f614c2d91613411565b5f614c1b565b90506020813d602011614c5d575b81614c4e60209383613411565b8101031261037957515f614b84565b3d9150614c41565b614c70929450613550565b915f80614b4e565b9093506020813d602011614ca4575b81614c9460209383613411565b810103126103795751925f614b43565b3d9150614c87565b506020823d602011614cd8575b81614cc660209383613411565b8101031261037957614b089151614afe565b3d9150614cb9565b6020813d602011614d07575b81614cf960209383613411565b810103126103795751614abf565b3d9150614cec565b90506020813d602011614d39575b81614d2a60209383613411565b8101031261037957515f614a8f565b3d9150614d1d565b505050614a56565b62093a80906149ec565b90503d805f833e614d648183613411565b810190602081830312610379578051906001600160401b038211610379570181601f8201121561037957805190614d9a82613434565b92614da86040519485613411565b82845260208085019360061b8301019181831161037957602001925b828410614dd557505050505f61499c565b6040848303126103795760408051919082016001600160401b03811183821017610dc05760405284516001600160701b038116810361037957825260208501519064ffffffffff821682036103795782602092836040950152815201930192614dc4565b6004815110614f7b5760208101516001600160e01b0319169062461bcd60e51b8214614ec35750634e487b7160e01b14614e9757604051614e7b604082613411565b600c81526b21bab9ba37b69032b93937b960a11b602082015290565b604051614ea5604082613411565b600e81526d50616e69632875696e743235362960901b602082015290565b9050604481511015614f055750604051614ede604082613411565b6017815276115c9c9bdc8a1cdd1c9a5b99ca481b585b199bdc9b5959604a1b602082015290565b6004810151810160248101919060209082900312610379576024810151906001600160401b038211610379570181604382011215610379576024810151614f4b81613777565b92614f596040519485613411565b8184526044838301011161037957614f78916044602085019101613792565b90565b50604051614f8a604082613411565b60158152742932bb32b93a103bb4ba34103737903932b0b9b7b760591b602082015290565b905f602091828151910182855af11561050a575f513d614ffe57506001600160a01b0381163b155b614fde5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415614fd7565b62093a80810462093a8081029080820462093a801490151715610d835762093a80614f789206155f1461503b575f906134e9565b62093a80906134e9565b60ff5f5160206152115f395f51905f525460401c161561506157565b631afcd79f60e31b5f5260045ffdfe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d2d5fb609dbfa835eb28ecbbdf51204e96ee9af7cafdcc13c8a82323c158b48cf62229496573be0b0846a2fb48a94de962b501adb0b8eaf7f99924b10a81a19fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930090ff0fdc2a5e2f52090b2c8a629804c58d5c1156b5405c8437a00da5abba239cb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f001a24d9e293955b2f174e8efe4262a5c3d06777298ea45a1a260bfef613edf4e00543f5a965a495a7e9851f0c93e6a59699d038592d1ea9f4396bce934929efd0f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a337fbc28d99cc8cbc6ca511c8f4fe0adc27b3196395585fc255a51a34c7184d64736f6c634300081e0033",
2156
+ "linkReferences": {},
2157
+ "deployedLinkReferences": {}
2158
+ }