@pendle/core-v2 0.9.4-beta → 0.10.2-testnet

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 (360) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +7 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol}/PendleYearnVaultSCY.json +3 -3
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  23. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json +67 -5
  27. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json +63 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +65 -3
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +74 -10
  33. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +79 -15
  35. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +204 -123
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +127 -73
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +93 -34
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +90 -14
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +14 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +139 -37
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +84 -56
  50. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +122 -11
  53. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  56. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +96 -40
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  60. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1025 -0
  62. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  64. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  65. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +622 -0
  66. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  67. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +35 -0
  68. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +459 -0
  70. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  71. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +459 -0
  72. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/actions/base/{ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json → ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json} +2 -2
  74. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +24 -0
  80. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/{IPActionCore.sol/IPActionCore.json → IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json} +141 -912
  88. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +4 -0
  89. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +598 -0
  90. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +35 -0
  92. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +4 -0
  93. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +435 -0
  94. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +4 -0
  95. package/build/artifacts/contracts/interfaces/{IPActionYT.sol/IPActionYT.json → IPActionSwapYT.sol/IPActionSwapYT.json} +23 -11
  96. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +323 -47
  98. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +4 -0
  99. package/build/artifacts/contracts/{core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json → interfaces/IPGauge.sol/IPGauge.json} +5 -5
  100. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +72 -29
  106. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +0 -11
  108. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -37
  115. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +1 -1
  125. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +4 -0
  138. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +74 -0
  139. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  140. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  144. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  146. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  149. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  150. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  152. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  153. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  154. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  155. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  156. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  157. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  158. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  159. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +4 -0
  161. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +93 -0
  162. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +427 -39
  164. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
  165. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +86 -0
  166. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
  167. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +37 -0
  168. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  169. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  170. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +8 -0
  171. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +1 -1
  172. package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +11 -5
  173. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -1
  174. package/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol} +0 -0
  175. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +1 -0
  176. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
  177. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +7 -7
  178. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +7 -6
  179. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -5
  180. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -3
  181. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +6 -3
  182. package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
  183. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +22 -28
  184. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +71 -13
  185. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +7 -4
  186. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -2
  187. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +4 -3
  188. package/contracts/core/Market/PendleMarket.sol +93 -57
  189. package/contracts/core/Market/PendleMarketFactory.sol +18 -33
  190. package/contracts/core/PendleRouter.sol +60 -52
  191. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +12 -12
  192. package/contracts/core/YieldContracts/PendleYieldToken.sol +1 -1
  193. package/contracts/core/actions/ActionAddRemoveLiq.sol +366 -0
  194. package/contracts/core/actions/ActionCallback.sol +6 -6
  195. package/contracts/core/actions/ActionMintRedeem.sol +124 -0
  196. package/contracts/core/actions/ActionMisc.sol +24 -0
  197. package/contracts/core/actions/ActionSwapPT.sol +199 -0
  198. package/contracts/core/actions/{base/ActionSCYAndYTBase.sol → ActionSwapYT.sol} +109 -74
  199. package/contracts/core/actions/base/{ActionSCYAndPYBase.sol → ActionBaseMintRedeem.sol} +9 -8
  200. package/contracts/interfaces/IBenQiComptroller.sol +2 -0
  201. package/contracts/interfaces/IPActionAddRemoveLiq.sol +188 -0
  202. package/contracts/interfaces/IPActionMintRedeem.sol +115 -0
  203. package/contracts/interfaces/IPActionMisc.sol +9 -0
  204. package/contracts/interfaces/IPActionSwapPT.sol +69 -0
  205. package/contracts/interfaces/{IPActionYT.sol → IPActionSwapYT.sol} +12 -10
  206. package/contracts/interfaces/IPAllAction.sol +12 -3
  207. package/contracts/interfaces/IPGauge.sol +6 -0
  208. package/contracts/interfaces/IPGaugeController.sol +0 -2
  209. package/contracts/interfaces/IPMarket.sol +28 -10
  210. package/contracts/interfaces/IPMarketFactory.sol +1 -7
  211. package/contracts/interfaces/IPVeToken.sol +1 -1
  212. package/contracts/interfaces/IPVotingController.sol +0 -2
  213. package/contracts/interfaces/IRewardManager.sol +1 -1
  214. package/contracts/libraries/OracleLib.sol +214 -0
  215. package/contracts/libraries/RewardManagerAbstract.sol +1 -1
  216. package/contracts/libraries/math/MarketApproxLib.sol +227 -14
  217. package/contracts/libraries/math/MarketMathCore.sol +0 -33
  218. package/contracts/offchain-helpers/MarketMathStatic.sol +565 -0
  219. package/contracts/offchain-helpers/RouterStatic.sol +187 -251
  220. package/contracts/periphery/BoringOwnableUpgradeable.sol +62 -0
  221. package/deployments/43113-core.json +7 -8
  222. package/deployments/43113-markets/benqi-market-590025.json +8 -0
  223. package/deployments/43113-markets/benqi-market-c93916.json +8 -0
  224. package/deployments/80001-core.json +6 -7
  225. package/deployments/80001-markets/benqi-market-3b8BD1.json +8 -0
  226. package/deployments/80001-markets/benqi-market-b61e7f.json +8 -0
  227. package/package.json +11 -11
  228. package/typechain-types/ActionAddRemoveLiq.ts +1037 -0
  229. package/typechain-types/ActionBaseMintRedeem.ts +87 -0
  230. package/typechain-types/ActionCore.ts +21 -20
  231. package/typechain-types/ActionMintRedeem.ts +665 -0
  232. package/typechain-types/ActionMisc.ts +105 -0
  233. package/typechain-types/ActionSwapPT.ts +515 -0
  234. package/typechain-types/ActionSwapYT.ts +515 -0
  235. package/typechain-types/ActionYT.ts +5 -4
  236. package/typechain-types/BoringOwnable.ts +194 -0
  237. package/typechain-types/BoringOwnableData.ts +100 -0
  238. package/typechain-types/BoringOwnableUpgradeable.ts +194 -0
  239. package/typechain-types/BoringOwnableUpgradeableData.ts +100 -0
  240. package/typechain-types/CelerReceiverUpg.ts +124 -19
  241. package/typechain-types/CelerSenderUpg.ts +116 -11
  242. package/typechain-types/IBenQiComptroller.ts +39 -0
  243. package/typechain-types/IPActionAddRemoveLiq.ts +1018 -0
  244. package/typechain-types/IPActionCore.ts +21 -20
  245. package/typechain-types/IPActionMintRedeem.ts +646 -0
  246. package/typechain-types/IPActionMisc.ts +105 -0
  247. package/typechain-types/IPActionSwapPT.ts +496 -0
  248. package/typechain-types/IPActionSwapYT.ts +496 -0
  249. package/typechain-types/IPActionYT.ts +5 -4
  250. package/typechain-types/IPAllAction.ts +431 -193
  251. package/typechain-types/IPGauge.ts +87 -0
  252. package/typechain-types/IPMarket.ts +133 -50
  253. package/typechain-types/IPMarketFactory.ts +7 -17
  254. package/typechain-types/IPVeToken.ts +8 -8
  255. package/typechain-types/IPVotingController.ts +0 -20
  256. package/typechain-types/IPYieldToken.ts +3 -3
  257. package/typechain-types/IRewardManager.ts +3 -3
  258. package/typechain-types/MarketMathStatic.ts +198 -0
  259. package/typechain-types/OracleLib.ts +124 -0
  260. package/typechain-types/PendleGaugeControllerBaseUpg.ts +118 -15
  261. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +136 -9
  262. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +138 -11
  263. package/typechain-types/PendleMarket.ts +178 -59
  264. package/typechain-types/PendleMarketFactory.ts +135 -61
  265. package/typechain-types/PendleRouter.ts +201 -31
  266. package/typechain-types/PendleVotingControllerUpg.ts +325 -149
  267. package/typechain-types/PendleYieldContractFactory.ts +144 -21
  268. package/typechain-types/RouterStatic.ts +344 -64
  269. package/typechain-types/VotingControllerStorageUpg.ts +182 -113
  270. package/typechain-types/VotingEscrowPendleMainchain.ts +170 -63
  271. package/typechain-types/VotingEscrowPendleSidechain.ts +163 -17
  272. package/typechain-types/VotingEscrowTokenBase.ts +27 -8
  273. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1083 -0
  274. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +43 -0
  275. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  276. package/typechain-types/factories/ActionCore__factory.ts +6 -6
  277. package/typechain-types/factories/ActionMintRedeem__factory.ts +680 -0
  278. package/typechain-types/factories/ActionMisc__factory.ts +85 -0
  279. package/typechain-types/factories/ActionSwapPT__factory.ts +514 -0
  280. package/typechain-types/factories/ActionSwapYT__factory.ts +514 -0
  281. package/typechain-types/factories/ActionYT__factory.ts +2 -2
  282. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  283. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +96 -0
  284. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +143 -0
  285. package/typechain-types/factories/BoringOwnable__factory.ts +141 -0
  286. package/typechain-types/factories/CelerReceiverUpg__factory.ts +67 -5
  287. package/typechain-types/factories/CelerSenderUpg__factory.ts +63 -1
  288. package/typechain-types/factories/IBenQiComptroller__factory.ts +24 -0
  289. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1020 -0
  290. package/typechain-types/factories/IPActionCore__factory.ts +5 -5
  291. package/typechain-types/factories/IPActionMintRedeem__factory.ts +613 -0
  292. package/typechain-types/factories/IPActionMisc__factory.ts +47 -0
  293. package/typechain-types/factories/IPActionSwapPT__factory.ts +450 -0
  294. package/typechain-types/factories/IPActionSwapYT__factory.ts +450 -0
  295. package/typechain-types/factories/IPActionYT__factory.ts +1 -1
  296. package/typechain-types/factories/IPAllAction__factory.ts +323 -47
  297. package/typechain-types/factories/IPGauge__factory.ts +36 -0
  298. package/typechain-types/factories/IPMarketFactory__factory.ts +0 -11
  299. package/typechain-types/factories/IPMarket__factory.ts +72 -29
  300. package/typechain-types/factories/IPVeToken__factory.ts +1 -1
  301. package/typechain-types/factories/IPVotingController__factory.ts +0 -37
  302. package/typechain-types/factories/IPYieldToken__factory.ts +1 -1
  303. package/typechain-types/factories/IRewardManager__factory.ts +1 -1
  304. package/typechain-types/factories/MarketMathStatic__factory.ts +146 -0
  305. package/typechain-types/factories/OracleLib__factory.ts +124 -0
  306. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  307. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  308. package/typechain-types/factories/PendleEulerSCY__factory.ts +10 -1
  309. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +65 -3
  310. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +73 -13
  311. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +79 -23
  312. package/typechain-types/factories/PendleMarketFactory__factory.ts +84 -86
  313. package/typechain-types/factories/PendleMarket__factory.ts +131 -37
  314. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  315. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  316. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  317. package/typechain-types/factories/PendleRouter__factory.ts +141 -22
  318. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  319. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  321. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +203 -129
  322. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  324. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +97 -72
  325. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  326. package/typechain-types/factories/RouterStatic__factory.ts +233 -39
  327. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +126 -72
  328. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +93 -41
  329. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +90 -17
  330. package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +14 -1
  331. package/typechain-types/hardhat.d.ts +162 -0
  332. package/typechain-types/index.ts +36 -0
  333. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +0 -4
  334. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +0 -4
  335. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +0 -1801
  336. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +0 -4
  337. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +0 -447
  338. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +0 -4
  339. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +0 -4
  340. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +0 -4
  341. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -24
  342. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +0 -4
  343. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +0 -4
  344. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +0 -4
  345. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -874
  346. package/contracts/core/actions/ActionCore.sol +0 -382
  347. package/contracts/core/actions/ActionYT.sol +0 -93
  348. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +0 -303
  349. package/contracts/interfaces/IPActionCore.sol +0 -306
  350. package/contracts/interfaces/IPRouterStatic.sol +0 -152
  351. package/deployments/43113-markets/benqi-market-599408.json +0 -7
  352. package/deployments/43113-markets/benqi-market-93bbf0.json +0 -7
  353. package/deployments/43113-markets/benqi-market-95E744.json +0 -7
  354. package/deployments/43113-markets/benqi-market-D91a3F.json +0 -7
  355. package/deployments/80001-markets/benqi-market-007811.json +0 -7
  356. package/deployments/80001-markets/benqi-market-3fe528.json +0 -7
  357. package/typechain-types/FeeDistributorAbstract.ts +0 -164
  358. package/typechain-types/IPVotingControllerStorage.ts +0 -169
  359. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -90
  360. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/987b355c42d305653de3414653194fca.json"
3
+ "buildInfo": "../../../../../build-info/492a77e993ce31b17542cf37561d3792.json"
4
4
  }
@@ -55,9 +55,28 @@
55
55
  "stateMutability": "view",
56
56
  "type": "function"
57
57
  },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "uint64",
62
+ "name": "chainId",
63
+ "type": "uint64"
64
+ }
65
+ ],
66
+ "name": "getActiveChainPools",
67
+ "outputs": [
68
+ {
69
+ "internalType": "address[]",
70
+ "name": "",
71
+ "type": "address[]"
72
+ }
73
+ ],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ },
58
77
  {
59
78
  "inputs": [],
60
- "name": "getAllAcitvePools",
79
+ "name": "getAllActivePools",
61
80
  "outputs": [
62
81
  {
63
82
  "internalType": "address[]",
@@ -99,20 +118,105 @@
99
118
  },
100
119
  {
101
120
  "inputs": [
121
+ {
122
+ "internalType": "address",
123
+ "name": "pool",
124
+ "type": "address"
125
+ },
126
+ {
127
+ "internalType": "uint128[]",
128
+ "name": "wTimes",
129
+ "type": "uint128[]"
130
+ }
131
+ ],
132
+ "name": "getPoolData",
133
+ "outputs": [
102
134
  {
103
135
  "internalType": "uint64",
104
136
  "name": "chainId",
105
137
  "type": "uint64"
138
+ },
139
+ {
140
+ "internalType": "uint128",
141
+ "name": "lastSlopeChangeAppliedAt",
142
+ "type": "uint128"
143
+ },
144
+ {
145
+ "components": [
146
+ {
147
+ "internalType": "uint128",
148
+ "name": "bias",
149
+ "type": "uint128"
150
+ },
151
+ {
152
+ "internalType": "uint128",
153
+ "name": "slope",
154
+ "type": "uint128"
155
+ }
156
+ ],
157
+ "internalType": "struct VeBalance",
158
+ "name": "totalVote",
159
+ "type": "tuple"
160
+ },
161
+ {
162
+ "internalType": "uint128[]",
163
+ "name": "slopeChanges",
164
+ "type": "uint128[]"
106
165
  }
107
166
  ],
108
- "name": "getChainPools",
109
- "outputs": [
167
+ "stateMutability": "view",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "address",
174
+ "name": "user",
175
+ "type": "address"
176
+ },
110
177
  {
111
178
  "internalType": "address[]",
112
- "name": "",
179
+ "name": "pools",
113
180
  "type": "address[]"
114
181
  }
115
182
  ],
183
+ "name": "getUserData",
184
+ "outputs": [
185
+ {
186
+ "internalType": "uint64",
187
+ "name": "totalVotedWeight",
188
+ "type": "uint64"
189
+ },
190
+ {
191
+ "components": [
192
+ {
193
+ "internalType": "uint64",
194
+ "name": "weight",
195
+ "type": "uint64"
196
+ },
197
+ {
198
+ "components": [
199
+ {
200
+ "internalType": "uint128",
201
+ "name": "bias",
202
+ "type": "uint128"
203
+ },
204
+ {
205
+ "internalType": "uint128",
206
+ "name": "slope",
207
+ "type": "uint128"
208
+ }
209
+ ],
210
+ "internalType": "struct VeBalance",
211
+ "name": "vote",
212
+ "type": "tuple"
213
+ }
214
+ ],
215
+ "internalType": "struct VotingControllerStorageUpg.UserPoolData[]",
216
+ "name": "voteForPools",
217
+ "type": "tuple[]"
218
+ }
219
+ ],
116
220
  "stateMutability": "view",
117
221
  "type": "function"
118
222
  },
@@ -194,73 +298,47 @@
194
298
  "type": "function"
195
299
  },
196
300
  {
197
- "inputs": [],
198
- "name": "pendlePerSec",
199
- "outputs": [
301
+ "inputs": [
200
302
  {
201
303
  "internalType": "uint128",
202
- "name": "",
304
+ "name": "wTime",
203
305
  "type": "uint128"
204
- }
205
- ],
206
- "stateMutability": "view",
207
- "type": "function"
208
- },
209
- {
210
- "inputs": [
306
+ },
211
307
  {
212
- "internalType": "address",
213
- "name": "",
214
- "type": "address"
308
+ "internalType": "address[]",
309
+ "name": "pools",
310
+ "type": "address[]"
215
311
  }
216
312
  ],
217
- "name": "poolData",
313
+ "name": "getWeekData",
218
314
  "outputs": [
219
315
  {
220
- "internalType": "uint64",
221
- "name": "chainId",
222
- "type": "uint64"
316
+ "internalType": "bool",
317
+ "name": "isEpochFinalized",
318
+ "type": "bool"
223
319
  },
224
320
  {
225
321
  "internalType": "uint128",
226
- "name": "lastSlopeChangeAppliedAt",
322
+ "name": "totalVotes",
227
323
  "type": "uint128"
228
324
  },
229
325
  {
230
- "components": [
231
- {
232
- "internalType": "uint128",
233
- "name": "bias",
234
- "type": "uint128"
235
- },
236
- {
237
- "internalType": "uint128",
238
- "name": "slope",
239
- "type": "uint128"
240
- }
241
- ],
242
- "internalType": "struct VeBalance",
243
- "name": "totalVote",
244
- "type": "tuple"
326
+ "internalType": "uint128[]",
327
+ "name": "poolVotes",
328
+ "type": "uint128[]"
245
329
  }
246
330
  ],
247
331
  "stateMutability": "view",
248
332
  "type": "function"
249
333
  },
250
334
  {
251
- "inputs": [
252
- {
253
- "internalType": "address",
254
- "name": "",
255
- "type": "address"
256
- }
257
- ],
258
- "name": "userData",
335
+ "inputs": [],
336
+ "name": "pendlePerSec",
259
337
  "outputs": [
260
338
  {
261
- "internalType": "uint64",
262
- "name": "totalVotedWeight",
263
- "type": "uint64"
339
+ "internalType": "uint128",
340
+ "name": "",
341
+ "type": "uint128"
264
342
  }
265
343
  ],
266
344
  "stateMutability": "view",
@@ -278,30 +356,6 @@
278
356
  ],
279
357
  "stateMutability": "view",
280
358
  "type": "function"
281
- },
282
- {
283
- "inputs": [
284
- {
285
- "internalType": "uint128",
286
- "name": "",
287
- "type": "uint128"
288
- }
289
- ],
290
- "name": "weekData",
291
- "outputs": [
292
- {
293
- "internalType": "bool",
294
- "name": "isEpochFinalized",
295
- "type": "bool"
296
- },
297
- {
298
- "internalType": "uint128",
299
- "name": "totalVotes",
300
- "type": "uint128"
301
- }
302
- ],
303
- "stateMutability": "view",
304
- "type": "function"
305
359
  }
306
360
  ],
307
361
  "bytecode": "0x",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/987b355c42d305653de3414653194fca.json"
3
+ "buildInfo": "../../../../../build-info/492a77e993ce31b17542cf37561d3792.json"
4
4
  }
@@ -9,11 +9,6 @@
9
9
  "internalType": "contract IERC20",
10
10
  "name": "_pendle",
11
11
  "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_governanceManager",
16
- "type": "address"
17
12
  }
18
13
  ],
19
14
  "stateMutability": "nonpayable",
@@ -94,6 +89,25 @@
94
89
  "name": "NewLockPosition",
95
90
  "type": "event"
96
91
  },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": true,
97
+ "internalType": "address",
98
+ "name": "previousOwner",
99
+ "type": "address"
100
+ },
101
+ {
102
+ "indexed": true,
103
+ "internalType": "address",
104
+ "name": "newOwner",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "OwnershipTransferred",
109
+ "type": "event"
110
+ },
97
111
  {
98
112
  "anonymous": false,
99
113
  "inputs": [
@@ -128,7 +142,7 @@
128
142
  },
129
143
  {
130
144
  "inputs": [],
131
- "name": "WEEK",
145
+ "name": "MIN_LOCK_TIME",
132
146
  "outputs": [
133
147
  {
134
148
  "internalType": "uint128",
@@ -140,21 +154,16 @@
140
154
  "type": "function"
141
155
  },
142
156
  {
143
- "inputs": [
144
- {
145
- "internalType": "address",
146
- "name": "user",
147
- "type": "address"
148
- },
157
+ "inputs": [],
158
+ "name": "WEEK",
159
+ "outputs": [
149
160
  {
150
- "internalType": "uint256[]",
151
- "name": "chainIds",
152
- "type": "uint256[]"
161
+ "internalType": "uint128",
162
+ "name": "",
163
+ "type": "uint128"
153
164
  }
154
165
  ],
155
- "name": "_broadcastPosition",
156
- "outputs": [],
157
- "stateMutability": "payable",
166
+ "stateMutability": "view",
158
167
  "type": "function"
159
168
  },
160
169
  {
@@ -238,6 +247,13 @@
238
247
  "stateMutability": "view",
239
248
  "type": "function"
240
249
  },
250
+ {
251
+ "inputs": [],
252
+ "name": "claimOwnership",
253
+ "outputs": [],
254
+ "stateMutability": "nonpayable",
255
+ "type": "function"
256
+ },
241
257
  {
242
258
  "inputs": [],
243
259
  "name": "getAllDestinationContracts",
@@ -318,19 +334,6 @@
318
334
  "stateMutability": "view",
319
335
  "type": "function"
320
336
  },
321
- {
322
- "inputs": [],
323
- "name": "governanceManager",
324
- "outputs": [
325
- {
326
- "internalType": "address",
327
- "name": "",
328
- "type": "address"
329
- }
330
- ],
331
- "stateMutability": "view",
332
- "type": "function"
333
- },
334
337
  {
335
338
  "inputs": [
336
339
  {
@@ -384,6 +387,13 @@
384
387
  "stateMutability": "payable",
385
388
  "type": "function"
386
389
  },
390
+ {
391
+ "inputs": [],
392
+ "name": "initialize",
393
+ "outputs": [],
394
+ "stateMutability": "nonpayable",
395
+ "type": "function"
396
+ },
387
397
  {
388
398
  "inputs": [],
389
399
  "name": "lastSlopeChangeAppliedAt",
@@ -397,6 +407,32 @@
397
407
  "stateMutability": "view",
398
408
  "type": "function"
399
409
  },
410
+ {
411
+ "inputs": [],
412
+ "name": "owner",
413
+ "outputs": [
414
+ {
415
+ "internalType": "address",
416
+ "name": "",
417
+ "type": "address"
418
+ }
419
+ ],
420
+ "stateMutability": "view",
421
+ "type": "function"
422
+ },
423
+ {
424
+ "inputs": [],
425
+ "name": "pendingOwner",
426
+ "outputs": [
427
+ {
428
+ "internalType": "address",
429
+ "name": "",
430
+ "type": "address"
431
+ }
432
+ ],
433
+ "stateMutability": "view",
434
+ "type": "function"
435
+ },
400
436
  {
401
437
  "inputs": [],
402
438
  "name": "pendle",
@@ -474,7 +510,7 @@
474
510
  "type": "address"
475
511
  }
476
512
  ],
477
- "name": "totalSupplyAndBlanaceCurrent",
513
+ "name": "totalSupplyAndBalanceCurrent",
478
514
  "outputs": [
479
515
  {
480
516
  "internalType": "uint128",
@@ -535,6 +571,29 @@
535
571
  "stateMutability": "view",
536
572
  "type": "function"
537
573
  },
574
+ {
575
+ "inputs": [
576
+ {
577
+ "internalType": "address",
578
+ "name": "newOwner",
579
+ "type": "address"
580
+ },
581
+ {
582
+ "internalType": "bool",
583
+ "name": "direct",
584
+ "type": "bool"
585
+ },
586
+ {
587
+ "internalType": "bool",
588
+ "name": "renounce",
589
+ "type": "bool"
590
+ }
591
+ ],
592
+ "name": "transferOwnership",
593
+ "outputs": [],
594
+ "stateMutability": "nonpayable",
595
+ "type": "function"
596
+ },
538
597
  {
539
598
  "inputs": [],
540
599
  "name": "withdraw",
@@ -549,8 +608,8 @@
549
608
  "type": "function"
550
609
  }
551
610
  ],
552
- "bytecode": "0x60c06040523480156200001157600080fd5b50604051620027d6380380620027d6833981016040819052620000349162000122565b80806200004b620000d360201b62000f3c1760201c565b600180546001600160801b0319166001600160801b03929092169190911790556001600160a01b038116620000b55760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b039081166080529290921660a05250620001d49050565b6000620000e042620000e5565b905090565b600062093a80620000f7818462000161565b62000103919062000196565b92915050565b6001600160a01b03811681146200011f57600080fd5b50565b600080604083850312156200013657600080fd5b8251620001438162000109565b6020840151909250620001568162000109565b809150509250929050565b60006001600160801b03838116806200018a57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006001600160801b0382811684821681151582840482111615620001cb57634e487b7160e01b600052601160045260246000fd5b02949350505050565b60805160a0516125c76200020f600039600081816102f2015281816107890152610bc90152600081816103cd015261106101526125c76000f3fe6080604052600436106101265760003560e01c80630b9efa221461012b5780631dbcbc5414610140578063210490281461017757806323342c381461018a57806330d981af146101aa5780633b16c126146101cc5780633ccfd60b146101fa5780633e39b6501461020f5780635cc049681461023257806370a082311461026a578063814b2cac1461028a578063947975d9146102aa578063a2c530da146102e0578063b92e106a14610314578063bd4d66e314610327578063c8121ec214610347578063cb6b4f3c14610367578063cc471bb8146103a8578063d2e6d1c3146103bb578063d88e92a9146103ef578063e139a48d14610425578063ef1c243a14610445578063f4359ce51461045a578063f5853a8f14610471578063fa78668f14610484575b600080fd5b61013e610139366004611f4e565b61049c565b005b34801561014c57600080fd5b5061016061015b366004611fa2565b61050b565b60405161016e929190611fbf565b60405180910390f35b61013e610185366004611fd9565b610528565b34801561019657600080fd5b5061013e6101a5366004611fa2565b61057b565b3480156101b657600080fd5b506101bf6105d5565b60405161016e9190612005565b3480156101d857600080fd5b506101ec6101e7366004612019565b6105f2565b60405190815260200161016e565b34801561020657600080fd5b506101bf6106b9565b34801561021b57600080fd5b506102246107fe565b60405161016e92919061205a565b34801561023e57600080fd5b50606754610252906001600160a01b031681565b6040516001600160a01b03909116815260200161016e565b34801561027657600080fd5b506101bf610285366004611fa2565b610912565b34801561029657600080fd5b506001546101bf906001600160801b031681565b3480156102b657600080fd5b506101bf6102c53660046120fa565b60d0602052600090815260409020546001600160801b031681565b3480156102ec57600080fd5b506102527f000000000000000000000000000000000000000000000000000000000000000081565b61013e610322366004612019565b610965565b34801561033357600080fd5b506101bf610342366004612115565b610981565b34801561035357600080fd5b506101bf61036236600461214a565b6109ac565b34801561037357600080fd5b50610160610382366004611fa2565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6101bf6103b6366004612166565b610c53565b3480156103c757600080fd5b506102527f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fb57600080fd5b506101bf61040a3660046120fa565b60cf602052600090815260409020546001600160801b031681565b34801561043157600080fd5b506101ec610440366004612019565b610c84565b34801561045157600080fd5b506101bf610cf4565b34801561046657600080fd5b506101bf62093a8081565b61013e61047f366004611f4e565b610d2c565b34801561049057600080fd5b506101bf6303bfc40081565b6001600160a01b0383166104eb5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b60448201526064015b60405180910390fd5b6104f6838383610d2c565b4715610506576105063347610f47565b505050565b60008061051783610912565b61051f6105d5565b91509150915091565b61053061105d565b6001600160a01b0316336001600160a01b0316146105605760405162461bcd60e51b81526004016104e2906121c6565b61056c606882846110e1565b506105778282611101565b5050565b61058361105d565b6001600160a01b0316336001600160a01b0316146105b35760405162461bcd60e51b81526004016104e2906121c6565b606780546001600160a01b0319166001600160a01b0392909216919091179055565b6000806105e0611136565b5090506105ec81611271565b91505090565b6067546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261063a92879291908101612262565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610665919061228b565b602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a6919061229e565b6106b091906122cd565b90505b92915050565b6000336106c581611293565b6107085760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b60448201526064016104e2565b6001600160a01b0381166000908152600260205260409020546001600160801b03169150816107695760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b60448201526064016104e2565b6001600160a01b038082166000908152600260205260408120556107b9907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b0385166112c4565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd6836040516107f29190612005565b60405180910390a25090565b606080600061080d6068611327565b9050806001600160401b03811115610827576108276122ec565b604051908082528060200260200182016040528015610850578160200160208202803683370190505b509250806001600160401b0381111561086b5761086b6122ec565b604051908082528060200260200182016040528015610894578160200160208202803683370190505b50915060005b8181101561090c576108ad606882611332565b8583815181106108bf576108bf612302565b602002602001018584815181106108d8576108d8612302565b60200260200101826001600160a01b03166001600160a01b03168152508281525050508061090590612318565b905061089a565b50509091565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526106b39061096090611350565b611271565b61097160008383610d2c565b4715610577576105773347610f47565b6001600160a01b038216600090815260d1602052604081206106b0906001600160801b038416611396565b6000336109b8836114d6565b80156109cc57506001600160801b03831642105b610a0c5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b60448201526064016104e2565b610a1a6303bfc40042612331565b836001600160801b03161115610a6b5760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b60448201526064016104e2565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610af65760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b60648201526084016104e2565b6001600160a01b038116600090815260026020526040812054610b22906001600160801b031686612349565b90506000816001600160801b031611610b785760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b60448201526064016104e2565b6001600160a01b038216600090815260026020526040812054610bab90600160801b90046001600160801b031686612374565b90506001600160801b03861615610bfa57610bfa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a166114f5565b610c0583878361152d565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610c42929190611fbf565b60405180910390a250505092915050565b6000610c5f85856109ac565b9050610c6c33848461049c565b4715610c7c57610c7c3347610f47565b949350505050565b60675460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610cd59285920161239c565b60408051601f198184030181529082905261063a939291602001612262565b60408051808201909152600080546001600160801b038082168452600160801b90910416602083015290610d2790611271565b905090565b6000819003610d6e5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b60448201526064016104e2565b600080610d79611136565b909250905060006001600160a01b03861615610de6576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052610df6565b6040805160008152602081019091525b905060005b84811015610ea557610e2f868683818110610e1857610e18612302565b90506020020135606861172d90919063ffffffff16565b610e715760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b60448201526064016104e2565b610e95868683818110610e8657610e86612302565b90506020020135848685611739565b610e9e81612318565b9050610dfb565b506001600160a01b03861615610ef957856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b64776838686604051610ef09291906123ef565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051610f2c93929190612403565b60405180910390a1505050505050565b6000610d2742611766565b80471015610f975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104e2565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fe4576040519150601f19603f3d011682016040523d82523d6000602084013e610fe9565b606091505b50509050806105065760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b60648201526084016104e2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d279190612424565b60006110f784846001600160a01b038516611780565b90505b9392505050565b60008061110c611136565b91509150611130838284604051602001604051602081830303815290604052611739565b50505050565b61113e611edb565b60408051808201909152600080546001600160801b038082168452600160801b909104811660208401526001549192911682611178610f3c565b9050806001600160801b0316826001600160801b03161061119d575090939092509050565b806001600160801b0316826001600160801b0316101561122e576111c462093a8083612349565b6001600160801b03808216600090815260cf60205260409020549193506111ee918591168461179d565b92506111fa83836117eb565b6001600160801b03838116600090815260d06020526040902080546001600160801b0319169290911691909117905561119d565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061127c82611809565b1561128957506000919050565b6106b382426117eb565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156106b3565b6040516001600160a01b03831660248201526044810182905261050690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261183a565b60006106b38261190c565b60008080806113418686611917565b909450925050505b9250929050565b611358611edb565b8151611369906303bfc40090612457565b6001600160801b031660208083018290528301516113869161247d565b6001600160801b03168152919050565b60004282106113e75760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e656460448201526064016104e2565b825460005b8181101561145d57600060026114028484612331565b61140c91906124ac565b90508486600001828154811061142457611424612302565b600091825260209091206002909102015463ffffffff16111561144957809250611457565b611454816001612331565b91505b506113ec565b81156114ca576114c5856114726001856124c0565b8154811061148257611482612302565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b9091041691810191909152856117eb565b6114cd565b60005b95945050505050565b60006114e562093a80836124d7565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526111309085906323b872dd60e01b906084016112f0565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b909104169181019190915281611577611136565b50905061159182602001516001600160801b031642101590565b61160b5760006115a083611350565b90506115ac8282611942565b602080830151858201516001600160801b03908116600090815260cf90935260408320805494965091939192916115e591859116612374565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b600060405180604001604052808785600001516116289190612349565b6001600160801b031681526020018685602001516116469190612349565b6001600160801b031690529050600061165e82611350565b905061166a838261198b565b602080830151848201516001600160801b03908116600090815260cf90935260408320805494975091939192916116a391859116612349565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d16815260028252604080822088518985015190871696169094029490941790925560d19052206117189150826119c0565b61172181611271565b98975050505050505050565b60006106b08383611acc565b61113084848484604051602001611752939291906124fd565b604051602081830303815290604052611ad8565b600062093a806117768184612457565b6106b3919061247d565b600082815260028401602052604081208290556110f78484611c2c565b6117a5611edb565b8284602001516117b59190612374565b6001600160801b031660208201526117cd828461247d565b84516117d99190612374565b6001600160801b031681529392505050565b60008183602001516117fd919061247d565b83516106b09190612374565b600081600001516001600160801b0316428360200151611829919061247d565b6001600160801b0316101592915050565b600061188f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c389092919063ffffffff16565b80519091501561050657808060200190518101906118ad9190612516565b6105065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e2565b60006106b382611c47565b600080806119258585611c51565b600081815260029690960160205260409095205494959350505050565b61194a611edb565b815183516119589190612374565b6001600160801b03168152602080830151908401516119779190612374565b6001600160801b0316602082015292915050565b611993611edb565b815183516119a19190612349565b6001600160801b03168152602080830151908401516119779190612349565b81548015801590611a02575042836119d96001846124c0565b815481106119e9576119e9612302565b600091825260209091206002909102015463ffffffff16145b15611a61578183611a146001846124c0565b81548110611a2457611a24612302565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006106b08383611c5d565b611ae360688361172d565b611aef57611aef612538565b6000611afc606884611c69565b60675460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611b3290869060040161228b565b602060405180830381865afa158015611b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b73919061229e565b905080341015611bbe5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b60448201526064016104e2565b606754604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611bf49086908990899060040161254e565b6000604051808303818588803b158015611c0d57600080fd5b505af1158015611c21573d6000803e3d6000fd5b505050505050505050565b60006106b08383611c75565b60606110f78484600085611cbf565b60006106b3825490565b60006106b08383611df0565b60006106b08383611e1a565b60006106b08383611e32565b6000611c818383611e1a565b611cb7575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b3565b5060006106b3565b606082471015611d205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104e2565b6001600160a01b0385163b611d775760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e2565b600080866001600160a01b03168587604051611d939190612575565b60006040518083038185875af1925050503d8060008114611dd0576040519150601f19603f3d011682016040523d82523d6000602084013e611dd5565b606091505b5091509150611de5828286611ea2565b979650505050505050565b6000826000018281548110611e0757611e07612302565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b600081815260028301602052604081205480151580611e565750611e568484611acc565b6106b05760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016104e2565b60608315611eb15750816110fa565b825115611ec15782518084602001fd5b8160405162461bcd60e51b81526004016104e2919061228b565b604080518082019091526000808252602082015290565b6001600160a01b0381168114611f0757600080fd5b50565b60008083601f840112611f1c57600080fd5b5081356001600160401b03811115611f3357600080fd5b6020830191508360208260051b850101111561134957600080fd5b600080600060408486031215611f6357600080fd5b8335611f6e81611ef2565b925060208401356001600160401b03811115611f8957600080fd5b611f9586828701611f0a565b9497909650939450505050565b600060208284031215611fb457600080fd5b81356106b081611ef2565b6001600160801b0392831681529116602082015260400190565b60008060408385031215611fec57600080fd5b8235611ff781611ef2565b946020939093013593505050565b6001600160801b0391909116815260200190565b6000806020838503121561202c57600080fd5b82356001600160401b0381111561204257600080fd5b61204e85828601611f0a565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561209357815184529284019290840190600101612077565b5050508381038285015284518082528583019183019060005b818110156120d15783516001600160a01b0316835292840192918401916001016120ac565b5090979650505050505050565b80356001600160801b03811681146120f557600080fd5b919050565b60006020828403121561210c57600080fd5b6106b0826120de565b6000806040838503121561212857600080fd5b823561213381611ef2565b9150612141602084016120de565b90509250929050565b6000806040838503121561215d57600080fd5b612133836120de565b6000806000806060858703121561217c57600080fd5b612185856120de565b9350612193602086016120de565b925060408501356001600160401b038111156121ae57600080fd5b6121ba87828801611f0a565b95989497509550505050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b8381101561222557818101518382015260200161220d565b838111156111305750506000910152565b6000815180845261224e81602086016020860161220a565b601f01601f19169290920160200192915050565b60ff8416815261227560208201846121ef565b6080606082015260006114cd6080830184612236565b6020815260006106b06020830184612236565b6000602082840312156122b057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156122e7576122e76122b7565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161232a5761232a6122b7565b5060010190565b60008219821115612344576123446122b7565b500190565b60006001600160801b0382811684821680830382111561236b5761236b6122b7565b01949350505050565b60006001600160801b0383811690831681811015612394576123946122b7565b039392505050565b6001600160a01b0383168152606081016110fa60208301846121ef565b81835260006001600160fb1b038311156123d257600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006110f76020830184866123b9565b61240d81856121ef565b6060604082015260006114cd6060830184866123b9565b60006020828403121561243657600080fd5b81516106b081611ef2565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b038381168061247157612471612441565b92169190910492915050565b60006001600160801b03828116848216811515828404821116156124a3576124a36122b7565b02949350505050565b6000826124bb576124bb612441565b500490565b6000828210156124d2576124d26122b7565b500390565b60006001600160801b03838116806124f1576124f1612441565b92169190910692915050565b6001600160801b038416815261227560208201846121ef565b60006020828403121561252857600080fd5b815180151581146106b057600080fd5b634e487b7160e01b600052600160045260246000fd5b60018060a01b03841681528260208201526060604082015260006114cd6060830184612236565b6000825161258781846020870161220a565b919091019291505056fea26469706673582212201fdf0cc1cfd75e4aed189231795c1f4f2df7e7111ddc653c00b1a309a4ef02e864736f6c634300080f0033",
553
- "deployedBytecode": "0x6080604052600436106101265760003560e01c80630b9efa221461012b5780631dbcbc5414610140578063210490281461017757806323342c381461018a57806330d981af146101aa5780633b16c126146101cc5780633ccfd60b146101fa5780633e39b6501461020f5780635cc049681461023257806370a082311461026a578063814b2cac1461028a578063947975d9146102aa578063a2c530da146102e0578063b92e106a14610314578063bd4d66e314610327578063c8121ec214610347578063cb6b4f3c14610367578063cc471bb8146103a8578063d2e6d1c3146103bb578063d88e92a9146103ef578063e139a48d14610425578063ef1c243a14610445578063f4359ce51461045a578063f5853a8f14610471578063fa78668f14610484575b600080fd5b61013e610139366004611f4e565b61049c565b005b34801561014c57600080fd5b5061016061015b366004611fa2565b61050b565b60405161016e929190611fbf565b60405180910390f35b61013e610185366004611fd9565b610528565b34801561019657600080fd5b5061013e6101a5366004611fa2565b61057b565b3480156101b657600080fd5b506101bf6105d5565b60405161016e9190612005565b3480156101d857600080fd5b506101ec6101e7366004612019565b6105f2565b60405190815260200161016e565b34801561020657600080fd5b506101bf6106b9565b34801561021b57600080fd5b506102246107fe565b60405161016e92919061205a565b34801561023e57600080fd5b50606754610252906001600160a01b031681565b6040516001600160a01b03909116815260200161016e565b34801561027657600080fd5b506101bf610285366004611fa2565b610912565b34801561029657600080fd5b506001546101bf906001600160801b031681565b3480156102b657600080fd5b506101bf6102c53660046120fa565b60d0602052600090815260409020546001600160801b031681565b3480156102ec57600080fd5b506102527f000000000000000000000000000000000000000000000000000000000000000081565b61013e610322366004612019565b610965565b34801561033357600080fd5b506101bf610342366004612115565b610981565b34801561035357600080fd5b506101bf61036236600461214a565b6109ac565b34801561037357600080fd5b50610160610382366004611fa2565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6101bf6103b6366004612166565b610c53565b3480156103c757600080fd5b506102527f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fb57600080fd5b506101bf61040a3660046120fa565b60cf602052600090815260409020546001600160801b031681565b34801561043157600080fd5b506101ec610440366004612019565b610c84565b34801561045157600080fd5b506101bf610cf4565b34801561046657600080fd5b506101bf62093a8081565b61013e61047f366004611f4e565b610d2c565b34801561049057600080fd5b506101bf6303bfc40081565b6001600160a01b0383166104eb5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b60448201526064015b60405180910390fd5b6104f6838383610d2c565b4715610506576105063347610f47565b505050565b60008061051783610912565b61051f6105d5565b91509150915091565b61053061105d565b6001600160a01b0316336001600160a01b0316146105605760405162461bcd60e51b81526004016104e2906121c6565b61056c606882846110e1565b506105778282611101565b5050565b61058361105d565b6001600160a01b0316336001600160a01b0316146105b35760405162461bcd60e51b81526004016104e2906121c6565b606780546001600160a01b0319166001600160a01b0392909216919091179055565b6000806105e0611136565b5090506105ec81611271565b91505090565b6067546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261063a92879291908101612262565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610665919061228b565b602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a6919061229e565b6106b091906122cd565b90505b92915050565b6000336106c581611293565b6107085760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b60448201526064016104e2565b6001600160a01b0381166000908152600260205260409020546001600160801b03169150816107695760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b60448201526064016104e2565b6001600160a01b038082166000908152600260205260408120556107b9907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b0385166112c4565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd6836040516107f29190612005565b60405180910390a25090565b606080600061080d6068611327565b9050806001600160401b03811115610827576108276122ec565b604051908082528060200260200182016040528015610850578160200160208202803683370190505b509250806001600160401b0381111561086b5761086b6122ec565b604051908082528060200260200182016040528015610894578160200160208202803683370190505b50915060005b8181101561090c576108ad606882611332565b8583815181106108bf576108bf612302565b602002602001018584815181106108d8576108d8612302565b60200260200101826001600160a01b03166001600160a01b03168152508281525050508061090590612318565b905061089a565b50509091565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526106b39061096090611350565b611271565b61097160008383610d2c565b4715610577576105773347610f47565b6001600160a01b038216600090815260d1602052604081206106b0906001600160801b038416611396565b6000336109b8836114d6565b80156109cc57506001600160801b03831642105b610a0c5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b60448201526064016104e2565b610a1a6303bfc40042612331565b836001600160801b03161115610a6b5760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b60448201526064016104e2565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610af65760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b60648201526084016104e2565b6001600160a01b038116600090815260026020526040812054610b22906001600160801b031686612349565b90506000816001600160801b031611610b785760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b60448201526064016104e2565b6001600160a01b038216600090815260026020526040812054610bab90600160801b90046001600160801b031686612374565b90506001600160801b03861615610bfa57610bfa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a166114f5565b610c0583878361152d565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610c42929190611fbf565b60405180910390a250505092915050565b6000610c5f85856109ac565b9050610c6c33848461049c565b4715610c7c57610c7c3347610f47565b949350505050565b60675460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610cd59285920161239c565b60408051601f198184030181529082905261063a939291602001612262565b60408051808201909152600080546001600160801b038082168452600160801b90910416602083015290610d2790611271565b905090565b6000819003610d6e5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b60448201526064016104e2565b600080610d79611136565b909250905060006001600160a01b03861615610de6576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052610df6565b6040805160008152602081019091525b905060005b84811015610ea557610e2f868683818110610e1857610e18612302565b90506020020135606861172d90919063ffffffff16565b610e715760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b60448201526064016104e2565b610e95868683818110610e8657610e86612302565b90506020020135848685611739565b610e9e81612318565b9050610dfb565b506001600160a01b03861615610ef957856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b64776838686604051610ef09291906123ef565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051610f2c93929190612403565b60405180910390a1505050505050565b6000610d2742611766565b80471015610f975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104e2565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fe4576040519150601f19603f3d011682016040523d82523d6000602084013e610fe9565b606091505b50509050806105065760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b60648201526084016104e2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d279190612424565b60006110f784846001600160a01b038516611780565b90505b9392505050565b60008061110c611136565b91509150611130838284604051602001604051602081830303815290604052611739565b50505050565b61113e611edb565b60408051808201909152600080546001600160801b038082168452600160801b909104811660208401526001549192911682611178610f3c565b9050806001600160801b0316826001600160801b03161061119d575090939092509050565b806001600160801b0316826001600160801b0316101561122e576111c462093a8083612349565b6001600160801b03808216600090815260cf60205260409020549193506111ee918591168461179d565b92506111fa83836117eb565b6001600160801b03838116600090815260d06020526040902080546001600160801b0319169290911691909117905561119d565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061127c82611809565b1561128957506000919050565b6106b382426117eb565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156106b3565b6040516001600160a01b03831660248201526044810182905261050690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261183a565b60006106b38261190c565b60008080806113418686611917565b909450925050505b9250929050565b611358611edb565b8151611369906303bfc40090612457565b6001600160801b031660208083018290528301516113869161247d565b6001600160801b03168152919050565b60004282106113e75760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e656460448201526064016104e2565b825460005b8181101561145d57600060026114028484612331565b61140c91906124ac565b90508486600001828154811061142457611424612302565b600091825260209091206002909102015463ffffffff16111561144957809250611457565b611454816001612331565b91505b506113ec565b81156114ca576114c5856114726001856124c0565b8154811061148257611482612302565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b9091041691810191909152856117eb565b6114cd565b60005b95945050505050565b60006114e562093a80836124d7565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526111309085906323b872dd60e01b906084016112f0565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b909104169181019190915281611577611136565b50905061159182602001516001600160801b031642101590565b61160b5760006115a083611350565b90506115ac8282611942565b602080830151858201516001600160801b03908116600090815260cf90935260408320805494965091939192916115e591859116612374565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b600060405180604001604052808785600001516116289190612349565b6001600160801b031681526020018685602001516116469190612349565b6001600160801b031690529050600061165e82611350565b905061166a838261198b565b602080830151848201516001600160801b03908116600090815260cf90935260408320805494975091939192916116a391859116612349565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d16815260028252604080822088518985015190871696169094029490941790925560d19052206117189150826119c0565b61172181611271565b98975050505050505050565b60006106b08383611acc565b61113084848484604051602001611752939291906124fd565b604051602081830303815290604052611ad8565b600062093a806117768184612457565b6106b3919061247d565b600082815260028401602052604081208290556110f78484611c2c565b6117a5611edb565b8284602001516117b59190612374565b6001600160801b031660208201526117cd828461247d565b84516117d99190612374565b6001600160801b031681529392505050565b60008183602001516117fd919061247d565b83516106b09190612374565b600081600001516001600160801b0316428360200151611829919061247d565b6001600160801b0316101592915050565b600061188f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c389092919063ffffffff16565b80519091501561050657808060200190518101906118ad9190612516565b6105065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e2565b60006106b382611c47565b600080806119258585611c51565b600081815260029690960160205260409095205494959350505050565b61194a611edb565b815183516119589190612374565b6001600160801b03168152602080830151908401516119779190612374565b6001600160801b0316602082015292915050565b611993611edb565b815183516119a19190612349565b6001600160801b03168152602080830151908401516119779190612349565b81548015801590611a02575042836119d96001846124c0565b815481106119e9576119e9612302565b600091825260209091206002909102015463ffffffff16145b15611a61578183611a146001846124c0565b81548110611a2457611a24612302565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006106b08383611c5d565b611ae360688361172d565b611aef57611aef612538565b6000611afc606884611c69565b60675460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611b3290869060040161228b565b602060405180830381865afa158015611b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b73919061229e565b905080341015611bbe5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b60448201526064016104e2565b606754604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611bf49086908990899060040161254e565b6000604051808303818588803b158015611c0d57600080fd5b505af1158015611c21573d6000803e3d6000fd5b505050505050505050565b60006106b08383611c75565b60606110f78484600085611cbf565b60006106b3825490565b60006106b08383611df0565b60006106b08383611e1a565b60006106b08383611e32565b6000611c818383611e1a565b611cb7575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b3565b5060006106b3565b606082471015611d205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104e2565b6001600160a01b0385163b611d775760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e2565b600080866001600160a01b03168587604051611d939190612575565b60006040518083038185875af1925050503d8060008114611dd0576040519150601f19603f3d011682016040523d82523d6000602084013e611dd5565b606091505b5091509150611de5828286611ea2565b979650505050505050565b6000826000018281548110611e0757611e07612302565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b600081815260028301602052604081205480151580611e565750611e568484611acc565b6106b05760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016104e2565b60608315611eb15750816110fa565b825115611ec15782518084602001fd5b8160405162461bcd60e51b81526004016104e2919061228b565b604080518082019091526000808252602082015290565b6001600160a01b0381168114611f0757600080fd5b50565b60008083601f840112611f1c57600080fd5b5081356001600160401b03811115611f3357600080fd5b6020830191508360208260051b850101111561134957600080fd5b600080600060408486031215611f6357600080fd5b8335611f6e81611ef2565b925060208401356001600160401b03811115611f8957600080fd5b611f9586828701611f0a565b9497909650939450505050565b600060208284031215611fb457600080fd5b81356106b081611ef2565b6001600160801b0392831681529116602082015260400190565b60008060408385031215611fec57600080fd5b8235611ff781611ef2565b946020939093013593505050565b6001600160801b0391909116815260200190565b6000806020838503121561202c57600080fd5b82356001600160401b0381111561204257600080fd5b61204e85828601611f0a565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561209357815184529284019290840190600101612077565b5050508381038285015284518082528583019183019060005b818110156120d15783516001600160a01b0316835292840192918401916001016120ac565b5090979650505050505050565b80356001600160801b03811681146120f557600080fd5b919050565b60006020828403121561210c57600080fd5b6106b0826120de565b6000806040838503121561212857600080fd5b823561213381611ef2565b9150612141602084016120de565b90509250929050565b6000806040838503121561215d57600080fd5b612133836120de565b6000806000806060858703121561217c57600080fd5b612185856120de565b9350612193602086016120de565b925060408501356001600160401b038111156121ae57600080fd5b6121ba87828801611f0a565b95989497509550505050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b8381101561222557818101518382015260200161220d565b838111156111305750506000910152565b6000815180845261224e81602086016020860161220a565b601f01601f19169290920160200192915050565b60ff8416815261227560208201846121ef565b6080606082015260006114cd6080830184612236565b6020815260006106b06020830184612236565b6000602082840312156122b057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156122e7576122e76122b7565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161232a5761232a6122b7565b5060010190565b60008219821115612344576123446122b7565b500190565b60006001600160801b0382811684821680830382111561236b5761236b6122b7565b01949350505050565b60006001600160801b0383811690831681811015612394576123946122b7565b039392505050565b6001600160a01b0383168152606081016110fa60208301846121ef565b81835260006001600160fb1b038311156123d257600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006110f76020830184866123b9565b61240d81856121ef565b6060604082015260006114cd6060830184866123b9565b60006020828403121561243657600080fd5b81516106b081611ef2565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b038381168061247157612471612441565b92169190910492915050565b60006001600160801b03828116848216811515828404821116156124a3576124a36122b7565b02949350505050565b6000826124bb576124bb612441565b500490565b6000828210156124d2576124d26122b7565b500390565b60006001600160801b03838116806124f1576124f1612441565b92169190910692915050565b6001600160801b038416815261227560208201846121ef565b60006020828403121561252857600080fd5b815180151581146106b057600080fd5b634e487b7160e01b600052600160045260246000fd5b60018060a01b03841681528260208201526060604082015260006114cd6060830184612236565b6000825161258781846020870161220a565b919091019291505056fea26469706673582212201fdf0cc1cfd75e4aed189231795c1f4f2df7e7111ddc653c00b1a309a4ef02e864736f6c634300080f0033",
611
+ "bytecode": "0x60a06040523480156200001157600080fd5b5060405162002aeb38038062002aeb8339810160408190526200003491620000b1565b620000496200007b60201b6200105d1760201c565b600180546001600160801b0319166001600160801b03929092169190911790556001600160a01b031660805262000156565b600062000088426200008d565b905090565b600062093a806200009f8184620000e3565b620000ab919062000118565b92915050565b600060208284031215620000c457600080fd5b81516001600160a01b0381168114620000dc57600080fd5b9392505050565b60006001600160801b03838116806200010c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006001600160801b03828116848216811515828404821116156200014d57634e487b7160e01b600052601160045260246000fd5b02949350505050565b60805161296b6200018060003960008181610371015281816108bb0152610edd015261296b6000f3fe6080604052600436106101525760003560e01c8063078dfbe7146101575780630b9efa2214610179578063210490281461018c57806323342c381461019f57806330d981af146101bf5780633b16c126146101ea5780633ccfd60b146102185780633e39b6501461022d5780633ff03207146102505780634e71e0c8146102675780635cc049681461027c57806370a08231146102b45780638129fc1c146102d4578063814b2cac146102e95780638da5cb5b14610309578063947975d914610329578063a2c530da1461035f578063b92e106a14610393578063bd4d66e3146103a6578063c8121ec2146103c6578063cb6b4f3c146103e6578063cc471bb814610435578063d88e92a914610448578063e139a48d1461047e578063e268b3a41461049e578063e30c3978146104be578063ef1c243a146104de578063f4359ce514610250578063fa78668f146104f3575b600080fd5b34801561016357600080fd5b50610177610172366004612268565b61050b565b005b6101776101873660046122f5565b610611565b61017761019a366004612347565b610676565b3480156101ab57600080fd5b506101776101ba366004612371565b6106bb565b3480156101cb57600080fd5b506101d4610707565b6040516101e1919061238c565b60405180910390f35b3480156101f657600080fd5b5061020a6102053660046123a0565b610724565b6040519081526020016101e1565b34801561022457600080fd5b506101d46107eb565b34801561023957600080fd5b50610242610930565b6040516101e19291906123e1565b34801561025c57600080fd5b506101d462093a8081565b34801561027357600080fd5b50610177610a44565b34801561028857600080fd5b5060355461029c906001600160a01b031681565b6040516001600160a01b0390911681526020016101e1565b3480156102c057600080fd5b506101d46102cf366004612371565b610af0565b3480156102e057600080fd5b50610177610b43565b3480156102f557600080fd5b506001546101d4906001600160801b031681565b34801561031557600080fd5b5060035461029c906001600160a01b031681565b34801561033557600080fd5b506101d461034436600461247c565b609e602052600090815260409020546001600160801b031681565b34801561036b57600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b6101776103a13660046123a0565b610c1b565b3480156103b257600080fd5b506101d46103c1366004612497565b610c37565b3480156103d257600080fd5b506101d46103e13660046124ca565b610c62565b3480156103f257600080fd5b50610427610401366004612371565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6040516101e19291906124e6565b6101d4610443366004612500565b610f67565b34801561045457600080fd5b506101d461046336600461247c565b609d602052600090815260409020546001600160801b031681565b34801561048a57600080fd5b5061020a6104993660046123a0565b610f98565b3480156104aa57600080fd5b506104276104b9366004612371565b611008565b3480156104ca57600080fd5b5060045461029c906001600160a01b031681565b3480156104ea57600080fd5b506101d4611025565b3480156104ff57600080fd5b506101d46303bfc40081565b6003546001600160a01b0316331461053e5760405162461bcd60e51b815260040161053590612560565b60405180910390fd5b81156105f0576001600160a01b0383161515806105585750805b61059c5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610535565b6003546040516001600160a01b0380861692169060008051602061291683398151915290600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055505050565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b03831661065b5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b6044820152606401610535565b610666838383611068565b471561060c5761060c3347611278565b6003546001600160a01b031633146106a05760405162461bcd60e51b815260040161053590612560565b6106ac6036828461138e565b506106b782826113ae565b5050565b6003546001600160a01b031633146106e55760405162461bcd60e51b815260040161053590612560565b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107126113e3565b50905061071e8161151e565b91505090565b6035546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261076c92879291908101612608565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016107979190612631565b602060405180830381865afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612644565b6107e29190612673565b90505b92915050565b6000336107f781611540565b61083a5760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b031691508161089b5760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b6044820152606401610535565b6001600160a01b038082166000908152600260205260408120556108eb907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b038516611571565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd683604051610924919061238c565b60405180910390a25090565b606080600061093f60366115d4565b9050806001600160401b0381111561095957610959612692565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b509250806001600160401b0381111561099d5761099d612692565b6040519080825280602002602001820160405280156109c6578160200160208202803683370190505b50915060005b81811015610a3e576109df6036826115df565b8583815181106109f1576109f16126a8565b60200260200101858481518110610a0a57610a0a6126a8565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610a37906126be565b90506109cc565b50509091565b6004546001600160a01b0316338114610a9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610535565b6003546040516001600160a01b0380841692169060008051602061291683398151915290600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526107e590610b3e906115fd565b61151e565b600454600160a81b900460ff16610b6757600454600160a01b900460ff1615610b6f565b610b6f611643565b610bd25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610535565b600454600160a81b900460ff16158015610bfc576004805461ffff60a01b191661010160a01b1790555b610c04611654565b8015610c18576004805460ff60a81b191690555b50565b610c2760008383611068565b47156106b7576106b73347611278565b6001600160a01b0382166000908152609f602052604081206107e2906001600160801b0384166116d5565b600033610c6e83611815565b8015610c8257506001600160801b03831642105b610cc25760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b6044820152606401610535565b610cd06303bfc400426126d7565b836001600160801b03161115610d215760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b6044820152606401610535565b610d2e62093a80426126d7565b836001600160801b03161015610d7f5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c6f636b2074696d6560501b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610e0a5760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b6064820152608401610535565b6001600160a01b038116600090815260026020526040812054610e36906001600160801b0316866126ef565b90506000816001600160801b031611610e8c5760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b6044820152606401610535565b6001600160a01b038216600090815260026020526040812054610ebf90600160801b90046001600160801b03168661271a565b90506001600160801b03861615610f0e57610f0e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a16611834565b610f1983878361186c565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610f569291906124e6565b60405180910390a250505092915050565b6000610f738585610c62565b9050610f80338484610611565b4715610f9057610f903347611278565b949350505050565b60355460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610fe992859201612742565b60408051601f198184030181529082905261076c939291602001612608565b600080611013610707565b61101c84610af0565b91509150915091565b60408051808201909152600080546001600160801b038082168452600160801b909104166020830152906110589061151e565b905090565b600061105842611a6c565b60008190036110aa5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b6044820152606401610535565b6000806110b56113e3565b909250905060006001600160a01b03861615611122576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052611132565b6040805160008152602081019091525b905060005b848110156111e15761116b868683818110611154576111546126a8565b905060200201356036611a8690919063ffffffff16565b6111ad5760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b6044820152606401610535565b6111d18686838181106111c2576111c26126a8565b90506020020135848685611a92565b6111da816126be565b9050611137565b506001600160a01b0386161561123557856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b6477683868660405161122c929190612795565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051611268939291906127a9565b60405180910390a1505050505050565b804710156112c85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610535565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611315576040519150601f19603f3d011682016040523d82523d6000602084013e61131a565b606091505b505090508061060c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610535565b60006113a484846001600160a01b038516611abf565b90505b9392505050565b6000806113b96113e3565b915091506113dd838284604051602001604051602081830303815290604052611a92565b50505050565b6113eb612227565b60408051808201909152600080546001600160801b038082168452600160801b90910481166020840152600154919291168261142561105d565b9050806001600160801b0316826001600160801b03161061144a575090939092509050565b806001600160801b0316826001600160801b031610156114db5761147162093a80836126ef565b6001600160801b038082166000908152609d602052604090205491935061149b9185911684611adc565b92506114a78383611b2a565b6001600160801b038381166000908152609e6020526040902080546001600160801b0319169290911691909117905561144a565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061152982611b48565b1561153657506000919050565b6107e58242611b2a565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156107e5565b6040516001600160a01b03831660248201526044810182905261060c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b79565b60006107e582611c4b565b60008080806115ee8686611c56565b909450925050505b9250929050565b611605612227565b8151611616906303bfc400906127e0565b6001600160801b0316602080830182905283015161163391612806565b6001600160801b03168152919050565b600061164e30611c81565b15905090565b600454600160a81b900460ff166116c15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610535565b600380546001600160a01b03191633179055565b60004282106117265760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610535565b825460005b8181101561179c576000600261174184846126d7565b61174b9190612835565b905084866000018281548110611763576117636126a8565b600091825260209091206002909102015463ffffffff16111561178857809250611796565b6117938160016126d7565b91505b5061172b565b811561180957611804856117b1600185612849565b815481106117c1576117c16126a8565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611b2a565b61180c565b60005b95945050505050565b600061182462093a8083612860565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526113dd9085906323b872dd60e01b9060840161159d565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810191909152816118b66113e3565b5090506118d082602001516001600160801b031642101590565b61194a5760006118df836115fd565b90506118eb8282611c90565b602080830151858201516001600160801b039081166000908152609d90935260408320805494965091939192916119249185911661271a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6000604051806040016040528087856000015161196791906126ef565b6001600160801b0316815260200186856020015161198591906126ef565b6001600160801b031690529050600061199d826115fd565b90506119a98382611cd9565b602080830151848201516001600160801b039081166000908152609d90935260408320805494975091939192916119e2918591166126ef565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d168152600282526040808220885189850151908716961690940294909417909255609f905220611a57915082611d0e565b611a608161151e565b98975050505050505050565b600062093a80611a7c81846127e0565b6107e59190612806565b60006107e28383611e1a565b6113dd84848484604051602001611aab93929190612886565b604051602081830303815290604052611e26565b600082815260028401602052604081208290556113a48484611f7a565b611ae4612227565b828460200151611af4919061271a565b6001600160801b03166020820152611b0c8284612806565b8451611b18919061271a565b6001600160801b031681529392505050565b6000818360200151611b3c9190612806565b83516107e2919061271a565b600081600001516001600160801b0316428360200151611b689190612806565b6001600160801b0316101592915050565b6000611bce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611f869092919063ffffffff16565b80519091501561060c5780806020019051810190611bec919061289f565b61060c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610535565b60006107e582611f95565b60008080611c648585611f9f565b600081815260029690960160205260409095205494959350505050565b6001600160a01b03163b151590565b611c98612227565b81518351611ca6919061271a565b6001600160801b0316815260208083015190840151611cc5919061271a565b6001600160801b0316602082015292915050565b611ce1612227565b81518351611cef91906126ef565b6001600160801b0316815260208083015190840151611cc591906126ef565b81548015801590611d5057504283611d27600184612849565b81548110611d3757611d376126a8565b600091825260209091206002909102015463ffffffff16145b15611daf578183611d62600184612849565b81548110611d7257611d726126a8565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006107e28383611fab565b611e31603683611a86565b611e3d57611e3d6128bc565b6000611e4a603684611fb7565b60355460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e80908690600401612631565b602060405180830381865afa158015611e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec19190612644565b905080471015611f0c5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b6044820152606401610535565b603554604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611f42908690899089906004016128d2565b6000604051808303818588803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b505050505050505050565b60006107e28383611fc3565b60606113a4848460008561200d565b60006107e5825490565b60006107e2838361213c565b60006107e28383612166565b60006107e2838361217e565b6000611fcf8383612166565b612005575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e5565b5060006107e5565b60608247101561206e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610535565b61207785611c81565b6120c35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610535565b600080866001600160a01b031685876040516120df91906128f9565b60006040518083038185875af1925050503d806000811461211c576040519150601f19603f3d011682016040523d82523d6000602084013e612121565b606091505b50915091506121318282866121ee565b979650505050505050565b6000826000018281548110612153576121536126a8565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6000818152600283016020526040812054801515806121a257506121a28484611e1a565b6107e25760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610535565b606083156121fd5750816113a7565b82511561220d5782518084602001fd5b8160405162461bcd60e51b81526004016105359190612631565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461225557600080fd5b919050565b8015158114610c1857600080fd5b60008060006060848603121561227d57600080fd5b6122868461223e565b925060208401356122968161225a565b915060408401356122a68161225a565b809150509250925092565b60008083601f8401126122c357600080fd5b5081356001600160401b038111156122da57600080fd5b6020830191508360208260051b85010111156115f657600080fd5b60008060006040848603121561230a57600080fd5b6123138461223e565b925060208401356001600160401b0381111561232e57600080fd5b61233a868287016122b1565b9497909650939450505050565b6000806040838503121561235a57600080fd5b6123638361223e565b946020939093013593505050565b60006020828403121561238357600080fd5b6107e28261223e565b6001600160801b0391909116815260200190565b600080602083850312156123b357600080fd5b82356001600160401b038111156123c957600080fd5b6123d5858286016122b1565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561241a578151845292840192908401906001016123fe565b5050508381038285015284518082528583019183019060005b818110156124585783516001600160a01b031683529284019291840191600101612433565b5090979650505050505050565b80356001600160801b038116811461225557600080fd5b60006020828403121561248e57600080fd5b6107e282612465565b600080604083850312156124aa57600080fd5b6124b38361223e565b91506124c160208401612465565b90509250929050565b600080604083850312156124dd57600080fd5b6124b383612465565b6001600160801b0392831681529116602082015260400190565b6000806000806060858703121561251657600080fd5b61251f85612465565b935061252d60208601612465565b925060408501356001600160401b0381111561254857600080fd5b612554878288016122b1565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b838110156125cb5781810151838201526020016125b3565b838111156113dd5750506000910152565b600081518084526125f48160208601602086016125b0565b601f01601f19169290920160200192915050565b60ff8416815261261b6020820184612595565b60806060820152600061180c60808301846125dc565b6020815260006107e260208301846125dc565b60006020828403121561265657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561268d5761268d61265d565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016126d0576126d061265d565b5060010190565b600082198211156126ea576126ea61265d565b500190565b60006001600160801b038281168482168083038211156127115761271161265d565b01949350505050565b60006001600160801b038381169083168181101561273a5761273a61265d565b039392505050565b6001600160a01b0383168152606081016113a76020830184612595565b81835260006001600160fb1b0383111561277857600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006113a460208301848661275f565b6127b38185612595565b60606040820152600061180c60608301848661275f565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806127fa576127fa6127ca565b92169190910492915050565b60006001600160801b038281168482168115158284048211161561282c5761282c61265d565b02949350505050565b600082612844576128446127ca565b500490565b60008282101561285b5761285b61265d565b500390565b60006001600160801b038381168061287a5761287a6127ca565b92169190910692915050565b6001600160801b038416815261261b6020820184612595565b6000602082840312156128b157600080fd5b81516107e28161225a565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061180c60608301846125dc565b6000825161290b8184602087016125b0565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220e30bbe9c4b09b6341e7b330fb66621575f68e585cf7b3131621c4d0361e1784664736f6c634300080f0033",
612
+ "deployedBytecode": "0x6080604052600436106101525760003560e01c8063078dfbe7146101575780630b9efa2214610179578063210490281461018c57806323342c381461019f57806330d981af146101bf5780633b16c126146101ea5780633ccfd60b146102185780633e39b6501461022d5780633ff03207146102505780634e71e0c8146102675780635cc049681461027c57806370a08231146102b45780638129fc1c146102d4578063814b2cac146102e95780638da5cb5b14610309578063947975d914610329578063a2c530da1461035f578063b92e106a14610393578063bd4d66e3146103a6578063c8121ec2146103c6578063cb6b4f3c146103e6578063cc471bb814610435578063d88e92a914610448578063e139a48d1461047e578063e268b3a41461049e578063e30c3978146104be578063ef1c243a146104de578063f4359ce514610250578063fa78668f146104f3575b600080fd5b34801561016357600080fd5b50610177610172366004612268565b61050b565b005b6101776101873660046122f5565b610611565b61017761019a366004612347565b610676565b3480156101ab57600080fd5b506101776101ba366004612371565b6106bb565b3480156101cb57600080fd5b506101d4610707565b6040516101e1919061238c565b60405180910390f35b3480156101f657600080fd5b5061020a6102053660046123a0565b610724565b6040519081526020016101e1565b34801561022457600080fd5b506101d46107eb565b34801561023957600080fd5b50610242610930565b6040516101e19291906123e1565b34801561025c57600080fd5b506101d462093a8081565b34801561027357600080fd5b50610177610a44565b34801561028857600080fd5b5060355461029c906001600160a01b031681565b6040516001600160a01b0390911681526020016101e1565b3480156102c057600080fd5b506101d46102cf366004612371565b610af0565b3480156102e057600080fd5b50610177610b43565b3480156102f557600080fd5b506001546101d4906001600160801b031681565b34801561031557600080fd5b5060035461029c906001600160a01b031681565b34801561033557600080fd5b506101d461034436600461247c565b609e602052600090815260409020546001600160801b031681565b34801561036b57600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b6101776103a13660046123a0565b610c1b565b3480156103b257600080fd5b506101d46103c1366004612497565b610c37565b3480156103d257600080fd5b506101d46103e13660046124ca565b610c62565b3480156103f257600080fd5b50610427610401366004612371565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6040516101e19291906124e6565b6101d4610443366004612500565b610f67565b34801561045457600080fd5b506101d461046336600461247c565b609d602052600090815260409020546001600160801b031681565b34801561048a57600080fd5b5061020a6104993660046123a0565b610f98565b3480156104aa57600080fd5b506104276104b9366004612371565b611008565b3480156104ca57600080fd5b5060045461029c906001600160a01b031681565b3480156104ea57600080fd5b506101d4611025565b3480156104ff57600080fd5b506101d46303bfc40081565b6003546001600160a01b0316331461053e5760405162461bcd60e51b815260040161053590612560565b60405180910390fd5b81156105f0576001600160a01b0383161515806105585750805b61059c5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610535565b6003546040516001600160a01b0380861692169060008051602061291683398151915290600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055505050565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b03831661065b5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b6044820152606401610535565b610666838383611068565b471561060c5761060c3347611278565b6003546001600160a01b031633146106a05760405162461bcd60e51b815260040161053590612560565b6106ac6036828461138e565b506106b782826113ae565b5050565b6003546001600160a01b031633146106e55760405162461bcd60e51b815260040161053590612560565b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107126113e3565b50905061071e8161151e565b91505090565b6035546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261076c92879291908101612608565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016107979190612631565b602060405180830381865afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612644565b6107e29190612673565b90505b92915050565b6000336107f781611540565b61083a5760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b031691508161089b5760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b6044820152606401610535565b6001600160a01b038082166000908152600260205260408120556108eb907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b038516611571565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd683604051610924919061238c565b60405180910390a25090565b606080600061093f60366115d4565b9050806001600160401b0381111561095957610959612692565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b509250806001600160401b0381111561099d5761099d612692565b6040519080825280602002602001820160405280156109c6578160200160208202803683370190505b50915060005b81811015610a3e576109df6036826115df565b8583815181106109f1576109f16126a8565b60200260200101858481518110610a0a57610a0a6126a8565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610a37906126be565b90506109cc565b50509091565b6004546001600160a01b0316338114610a9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610535565b6003546040516001600160a01b0380841692169060008051602061291683398151915290600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526107e590610b3e906115fd565b61151e565b600454600160a81b900460ff16610b6757600454600160a01b900460ff1615610b6f565b610b6f611643565b610bd25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610535565b600454600160a81b900460ff16158015610bfc576004805461ffff60a01b191661010160a01b1790555b610c04611654565b8015610c18576004805460ff60a81b191690555b50565b610c2760008383611068565b47156106b7576106b73347611278565b6001600160a01b0382166000908152609f602052604081206107e2906001600160801b0384166116d5565b600033610c6e83611815565b8015610c8257506001600160801b03831642105b610cc25760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b6044820152606401610535565b610cd06303bfc400426126d7565b836001600160801b03161115610d215760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b6044820152606401610535565b610d2e62093a80426126d7565b836001600160801b03161015610d7f5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c6f636b2074696d6560501b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610e0a5760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b6064820152608401610535565b6001600160a01b038116600090815260026020526040812054610e36906001600160801b0316866126ef565b90506000816001600160801b031611610e8c5760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b6044820152606401610535565b6001600160a01b038216600090815260026020526040812054610ebf90600160801b90046001600160801b03168661271a565b90506001600160801b03861615610f0e57610f0e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a16611834565b610f1983878361186c565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610f569291906124e6565b60405180910390a250505092915050565b6000610f738585610c62565b9050610f80338484610611565b4715610f9057610f903347611278565b949350505050565b60355460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610fe992859201612742565b60408051601f198184030181529082905261076c939291602001612608565b600080611013610707565b61101c84610af0565b91509150915091565b60408051808201909152600080546001600160801b038082168452600160801b909104166020830152906110589061151e565b905090565b600061105842611a6c565b60008190036110aa5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b6044820152606401610535565b6000806110b56113e3565b909250905060006001600160a01b03861615611122576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052611132565b6040805160008152602081019091525b905060005b848110156111e15761116b868683818110611154576111546126a8565b905060200201356036611a8690919063ffffffff16565b6111ad5760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b6044820152606401610535565b6111d18686838181106111c2576111c26126a8565b90506020020135848685611a92565b6111da816126be565b9050611137565b506001600160a01b0386161561123557856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b6477683868660405161122c929190612795565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051611268939291906127a9565b60405180910390a1505050505050565b804710156112c85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610535565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611315576040519150601f19603f3d011682016040523d82523d6000602084013e61131a565b606091505b505090508061060c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610535565b60006113a484846001600160a01b038516611abf565b90505b9392505050565b6000806113b96113e3565b915091506113dd838284604051602001604051602081830303815290604052611a92565b50505050565b6113eb612227565b60408051808201909152600080546001600160801b038082168452600160801b90910481166020840152600154919291168261142561105d565b9050806001600160801b0316826001600160801b03161061144a575090939092509050565b806001600160801b0316826001600160801b031610156114db5761147162093a80836126ef565b6001600160801b038082166000908152609d602052604090205491935061149b9185911684611adc565b92506114a78383611b2a565b6001600160801b038381166000908152609e6020526040902080546001600160801b0319169290911691909117905561144a565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061152982611b48565b1561153657506000919050565b6107e58242611b2a565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156107e5565b6040516001600160a01b03831660248201526044810182905261060c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b79565b60006107e582611c4b565b60008080806115ee8686611c56565b909450925050505b9250929050565b611605612227565b8151611616906303bfc400906127e0565b6001600160801b0316602080830182905283015161163391612806565b6001600160801b03168152919050565b600061164e30611c81565b15905090565b600454600160a81b900460ff166116c15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610535565b600380546001600160a01b03191633179055565b60004282106117265760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610535565b825460005b8181101561179c576000600261174184846126d7565b61174b9190612835565b905084866000018281548110611763576117636126a8565b600091825260209091206002909102015463ffffffff16111561178857809250611796565b6117938160016126d7565b91505b5061172b565b811561180957611804856117b1600185612849565b815481106117c1576117c16126a8565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611b2a565b61180c565b60005b95945050505050565b600061182462093a8083612860565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526113dd9085906323b872dd60e01b9060840161159d565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810191909152816118b66113e3565b5090506118d082602001516001600160801b031642101590565b61194a5760006118df836115fd565b90506118eb8282611c90565b602080830151858201516001600160801b039081166000908152609d90935260408320805494965091939192916119249185911661271a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6000604051806040016040528087856000015161196791906126ef565b6001600160801b0316815260200186856020015161198591906126ef565b6001600160801b031690529050600061199d826115fd565b90506119a98382611cd9565b602080830151848201516001600160801b039081166000908152609d90935260408320805494975091939192916119e2918591166126ef565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d168152600282526040808220885189850151908716961690940294909417909255609f905220611a57915082611d0e565b611a608161151e565b98975050505050505050565b600062093a80611a7c81846127e0565b6107e59190612806565b60006107e28383611e1a565b6113dd84848484604051602001611aab93929190612886565b604051602081830303815290604052611e26565b600082815260028401602052604081208290556113a48484611f7a565b611ae4612227565b828460200151611af4919061271a565b6001600160801b03166020820152611b0c8284612806565b8451611b18919061271a565b6001600160801b031681529392505050565b6000818360200151611b3c9190612806565b83516107e2919061271a565b600081600001516001600160801b0316428360200151611b689190612806565b6001600160801b0316101592915050565b6000611bce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611f869092919063ffffffff16565b80519091501561060c5780806020019051810190611bec919061289f565b61060c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610535565b60006107e582611f95565b60008080611c648585611f9f565b600081815260029690960160205260409095205494959350505050565b6001600160a01b03163b151590565b611c98612227565b81518351611ca6919061271a565b6001600160801b0316815260208083015190840151611cc5919061271a565b6001600160801b0316602082015292915050565b611ce1612227565b81518351611cef91906126ef565b6001600160801b0316815260208083015190840151611cc591906126ef565b81548015801590611d5057504283611d27600184612849565b81548110611d3757611d376126a8565b600091825260209091206002909102015463ffffffff16145b15611daf578183611d62600184612849565b81548110611d7257611d726126a8565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006107e28383611fab565b611e31603683611a86565b611e3d57611e3d6128bc565b6000611e4a603684611fb7565b60355460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e80908690600401612631565b602060405180830381865afa158015611e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec19190612644565b905080471015611f0c5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b6044820152606401610535565b603554604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611f42908690899089906004016128d2565b6000604051808303818588803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b505050505050505050565b60006107e28383611fc3565b60606113a4848460008561200d565b60006107e5825490565b60006107e2838361213c565b60006107e28383612166565b60006107e2838361217e565b6000611fcf8383612166565b612005575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e5565b5060006107e5565b60608247101561206e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610535565b61207785611c81565b6120c35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610535565b600080866001600160a01b031685876040516120df91906128f9565b60006040518083038185875af1925050503d806000811461211c576040519150601f19603f3d011682016040523d82523d6000602084013e612121565b606091505b50915091506121318282866121ee565b979650505050505050565b6000826000018281548110612153576121536126a8565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6000818152600283016020526040812054801515806121a257506121a28484611e1a565b6107e25760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610535565b606083156121fd5750816113a7565b82511561220d5782518084602001fd5b8160405162461bcd60e51b81526004016105359190612631565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461225557600080fd5b919050565b8015158114610c1857600080fd5b60008060006060848603121561227d57600080fd5b6122868461223e565b925060208401356122968161225a565b915060408401356122a68161225a565b809150509250925092565b60008083601f8401126122c357600080fd5b5081356001600160401b038111156122da57600080fd5b6020830191508360208260051b85010111156115f657600080fd5b60008060006040848603121561230a57600080fd5b6123138461223e565b925060208401356001600160401b0381111561232e57600080fd5b61233a868287016122b1565b9497909650939450505050565b6000806040838503121561235a57600080fd5b6123638361223e565b946020939093013593505050565b60006020828403121561238357600080fd5b6107e28261223e565b6001600160801b0391909116815260200190565b600080602083850312156123b357600080fd5b82356001600160401b038111156123c957600080fd5b6123d5858286016122b1565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561241a578151845292840192908401906001016123fe565b5050508381038285015284518082528583019183019060005b818110156124585783516001600160a01b031683529284019291840191600101612433565b5090979650505050505050565b80356001600160801b038116811461225557600080fd5b60006020828403121561248e57600080fd5b6107e282612465565b600080604083850312156124aa57600080fd5b6124b38361223e565b91506124c160208401612465565b90509250929050565b600080604083850312156124dd57600080fd5b6124b383612465565b6001600160801b0392831681529116602082015260400190565b6000806000806060858703121561251657600080fd5b61251f85612465565b935061252d60208601612465565b925060408501356001600160401b0381111561254857600080fd5b612554878288016122b1565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b838110156125cb5781810151838201526020016125b3565b838111156113dd5750506000910152565b600081518084526125f48160208601602086016125b0565b601f01601f19169290920160200192915050565b60ff8416815261261b6020820184612595565b60806060820152600061180c60808301846125dc565b6020815260006107e260208301846125dc565b60006020828403121561265657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561268d5761268d61265d565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016126d0576126d061265d565b5060010190565b600082198211156126ea576126ea61265d565b500190565b60006001600160801b038281168482168083038211156127115761271161265d565b01949350505050565b60006001600160801b038381169083168181101561273a5761273a61265d565b039392505050565b6001600160a01b0383168152606081016113a76020830184612595565b81835260006001600160fb1b0383111561277857600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006113a460208301848661275f565b6127b38185612595565b60606040820152600061180c60608301848661275f565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806127fa576127fa6127ca565b92169190910492915050565b60006001600160801b038281168482168115158284048211161561282c5761282c61265d565b02949350505050565b600082612844576128446127ca565b500490565b60008282101561285b5761285b61265d565b500390565b60006001600160801b038381168061287a5761287a6127ca565b92169190910692915050565b6001600160801b038416815261261b6020820184612595565b6000602082840312156128b157600080fd5b81516107e28161225a565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061180c60608301846125dc565b6000825161290b8184602087016125b0565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220e30bbe9c4b09b6341e7b330fb66621575f68e585cf7b3131621c4d0361e1784664736f6c634300080f0033",
554
613
  "linkReferences": {},
555
614
  "deployedLinkReferences": {}
556
615
  }