@pendle/core-v2 0.12.2-testnet → 0.13.0-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 (462) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +4 -0
  2. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +3 -3
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +4 -0
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +48 -0
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +4 -0
  6. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +3 -3
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +4 -0
  8. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  10. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/EpochResultManager.sol/EpochResultManager.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  12. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +3 -3
  13. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  14. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +3 -3
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +4 -0
  16. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  18. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +3 -3
  19. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  20. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +3 -3
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +4 -0
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +1084 -0
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +32 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +4 -0
  26. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +3 -3
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +4 -0
  28. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  29. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +4 -0
  30. package/build/artifacts/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +4 -0
  32. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeBalanceLib.sol/VeBalanceLib.json +3 -3
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +4 -0
  34. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol/CheckpointHelper.json +3 -3
  35. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
  36. package/build/artifacts/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol/Checkpoints.json +3 -3
  37. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +4 -0
  38. package/build/artifacts/contracts/{libraries/math → LiquidityMining/libraries}/WeekMath.sol/WeekMath.json +3 -3
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +4 -0
  40. package/build/artifacts/contracts/{libraries/math → core/Market}/MarketMathCore.sol/MarketMathCore.json +3 -3
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +4 -0
  42. package/build/artifacts/contracts/{libraries → core/Market}/OracleLib.sol/OracleLib.json +3 -3
  43. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/{LiquidityMining → Market}/PendleGauge.sol/PendleGauge.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +4 -4
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +4 -0
  50. package/build/artifacts/contracts/{libraries → core/RewardManager}/RewardManager.sol/RewardManager.json +1 -1
  51. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
  52. package/build/artifacts/contracts/{libraries → core/RewardManager}/RewardManagerAbstract.sol/RewardManagerAbstract.json +1 -1
  53. package/build/artifacts/contracts/core/SuperComposableYield/PYIndex.sol/PYIndexLib.dbg.json +4 -0
  54. package/build/artifacts/contracts/{libraries/helpers → core/SuperComposableYield}/PYIndex.sol/PYIndexLib.json +3 -3
  55. package/build/artifacts/contracts/core/SuperComposableYield/SCYBase.sol/SCYBase.dbg.json +4 -0
  56. package/build/artifacts/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBase.sol/SCYBase.json +1 -1
  57. package/build/artifacts/contracts/core/SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  58. package/build/artifacts/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +1 -1
  59. package/build/artifacts/contracts/core/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  60. package/build/artifacts/contracts/{libraries/SCY → core/SuperComposableYield}/SCYUtils.sol/SCYUtils.json +3 -3
  61. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
  62. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +3 -3
  63. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +1007 -0
  65. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +4 -0
  66. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +1030 -0
  67. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +4 -0
  68. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +1025 -0
  69. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +4 -0
  70. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json +1 -1
  71. package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  72. package/build/artifacts/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +3 -3
  73. package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +851 -0
  75. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  78. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  80. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  82. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +4 -0
  83. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +254 -0
  84. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  85. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  86. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +4 -0
  87. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/ArrayLib.sol/ArrayLib.json +3 -3
  88. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +4 -0
  89. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +3 -3
  90. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +4 -0
  91. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol/CodeDeployer.json +3 -3
  92. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
  93. package/build/artifacts/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +1 -1
  94. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
  95. package/build/artifacts/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +3 -3
  96. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +4 -0
  97. package/build/artifacts/contracts/{libraries → core/libraries}/Errors.sol/Errors.json +9 -4
  98. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +4 -0
  99. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/ExpiryUtilsLib.sol/ExpiryUtils.json +3 -3
  100. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +4 -0
  101. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/MiniHelpers.sol/MiniHelpers.json +3 -3
  102. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +4 -0
  103. package/build/artifacts/contracts/{libraries/helpers → core/libraries}/TokenHelper.sol/TokenHelper.json +1 -1
  104. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +4 -0
  105. package/build/artifacts/contracts/{libraries → core/libraries}/math/LogExpMath.sol/LogExpMath.json +3 -3
  106. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +4 -0
  107. package/build/artifacts/contracts/{libraries → core/libraries}/math/Math.sol/Math.json +3 -3
  108. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +31 -0
  148. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  170. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +8 -3
  172. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +60 -89
  174. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  175. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1237 -0
  176. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +4 -0
  177. package/build/artifacts/contracts/{core/actions → router}/ActionCallback.sol/ActionCallback.json +3 -3
  178. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  179. package/build/artifacts/contracts/{core/actions → router}/ActionMintRedeem.sol/ActionMintRedeem.json +5 -5
  180. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  181. package/build/artifacts/contracts/{core/actions → router}/ActionMisc.sol/ActionMisc.json +3 -3
  182. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  183. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +698 -0
  184. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +4 -0
  185. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +317 -0
  186. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  187. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +645 -0
  188. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  189. package/build/artifacts/contracts/{core → router}/PendleRouter.sol/PendleRouter.json +3 -3
  190. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  191. package/build/artifacts/contracts/{core/actions → router}/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  192. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +4 -0
  193. package/build/artifacts/contracts/{core/actions → router}/base/CallbackHelper.sol/CallbackHelper.json +1 -1
  194. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +4 -0
  195. package/build/artifacts/contracts/{libraries/math → router/base}/MarketApproxLib.sol/MarketApproxPtInLib.json +3 -3
  196. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +4 -0
  197. package/build/artifacts/contracts/{libraries/math → router/base}/MarketApproxLib.sol/MarketApproxPtOutLib.json +3 -3
  198. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
  199. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +35 -0
  200. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
  201. package/build/artifacts/contracts/{libraries → router}/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +1 -1
  202. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
  203. package/build/artifacts/contracts/{libraries → router}/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
  204. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +6 -6
  205. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgReceiverAppUpg.sol +5 -5
  206. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSendEndpointUpg.sol +5 -5
  207. package/contracts/{core/LiquidityMining → LiquidityMining}/CrossChainMsg/PendleMsgSenderAppUpg.sol +4 -4
  208. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/EpochResultManager.sol +7 -7
  209. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributor.sol +14 -11
  210. package/contracts/{core/LiquidityMining → LiquidityMining}/FeeDistributor/PendleFeeDistributorFactory.sol +6 -4
  211. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerBaseUpg.sol +14 -11
  212. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerMainchainUpg.sol +2 -2
  213. package/contracts/{core/LiquidityMining → LiquidityMining}/GaugeController/PendleGaugeControllerSidechainUpg.sol +1 -1
  214. package/contracts/{core/LiquidityMining → LiquidityMining}/README.md +0 -0
  215. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/PendleVotingControllerUpg.sol +6 -5
  216. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingController/VotingControllerStorageUpg.sol +16 -12
  217. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleMainchain.sol +11 -7
  218. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowPendleSidechain.sol +9 -4
  219. package/contracts/{core/LiquidityMining → LiquidityMining}/VotingEscrow/VotingEscrowTokenBase.sol +9 -7
  220. package/contracts/{libraries → LiquidityMining/libraries}/VeBalanceLib.sol +3 -3
  221. package/contracts/{libraries → LiquidityMining/libraries}/VeHistoryLib.sol +2 -2
  222. package/contracts/{libraries/math → LiquidityMining/libraries}/WeekMath.sol +2 -2
  223. package/contracts/{libraries/math → core/Market}/MarketMathCore.sol +17 -19
  224. package/contracts/{libraries → core/Market}/OracleLib.sol +2 -2
  225. package/contracts/core/{LiquidityMining → Market}/PendleGauge.sol +4 -6
  226. package/contracts/core/Market/PendleMarket.sol +4 -12
  227. package/contracts/core/Market/PendleMarketFactory.sol +5 -5
  228. package/contracts/{libraries → core/RewardManager}/RewardManager.sol +2 -4
  229. package/contracts/{libraries → core/RewardManager}/RewardManagerAbstract.sol +9 -4
  230. package/contracts/{libraries/helpers → core/SuperComposableYield}/PYIndex.sol +4 -3
  231. package/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBase.sol +11 -8
  232. package/contracts/{SuperComposableYield/base-implementations → core/SuperComposableYield}/SCYBaseWithRewards.sol +5 -4
  233. package/contracts/{libraries/SCY → core/SuperComposableYield}/SCYUtils.sol +1 -1
  234. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenHelper.sol +2 -2
  235. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/BenQi/PendleQiTokenSCY.sol +6 -6
  236. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +2 -2
  237. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +1 -1
  238. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol +5 -5
  239. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/Convex/Pendle3CrvHelper.sol +2 -2
  240. package/contracts/{SuperComposableYield/SCY-implementations → core/SuperComposableYield/implementations}/PendleWstEthSCY.sol +6 -5
  241. package/contracts/core/YieldContracts/InterestManagerYT.sol +5 -5
  242. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +6 -4
  243. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +6 -7
  244. package/contracts/core/YieldContracts/PendleYieldToken.sol +11 -10
  245. package/contracts/core/{PendleERC20.sol → erc20/PendleERC20.sol} +0 -0
  246. package/contracts/core/{PendleERC20Permit.sol → erc20/PendleERC20Permit.sol} +0 -0
  247. package/contracts/{libraries/helpers → core/libraries}/ArrayLib.sol +0 -0
  248. package/contracts/{libraries/helpers → core/libraries}/BaseSplitCodeFactory.sol +1 -1
  249. package/contracts/{periphery → core/libraries}/BoringOwnableUpgradeable.sol +1 -1
  250. package/contracts/{libraries → core/libraries}/Errors.sol +2 -2
  251. package/contracts/{libraries/helpers → core/libraries}/ExpiryUtilsLib.sol +1 -1
  252. package/contracts/{libraries/helpers → core/libraries}/MiniHelpers.sol +1 -1
  253. package/contracts/{libraries/helpers → core/libraries}/TokenHelper.sol +1 -16
  254. package/contracts/{libraries → core/libraries}/math/LogExpMath.sol +1 -1
  255. package/contracts/{libraries → core/libraries}/math/Math.sol +2 -2
  256. package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -1
  257. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -1
  258. package/contracts/interfaces/ConvexCurve/ICvxCrv.sol +1 -1
  259. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -1
  260. package/contracts/interfaces/Curve/ICrvPool.sol +1 -1
  261. package/contracts/interfaces/IAToken.sol +1 -1
  262. package/contracts/interfaces/IAavePool.sol +1 -1
  263. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  264. package/contracts/interfaces/IBenQiComptroller.sol +1 -1
  265. package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -1
  266. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +1 -1
  267. package/contracts/interfaces/IERC4626.sol +1 -1
  268. package/contracts/interfaces/IEulerEToken.sol +1 -1
  269. package/contracts/interfaces/IEulerMarkets.sol +1 -1
  270. package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -3
  271. package/contracts/interfaces/IPActionMintRedeem.sol +3 -3
  272. package/contracts/interfaces/IPActionMisc.sol +1 -1
  273. package/contracts/interfaces/IPActionSwapPT.sol +3 -3
  274. package/contracts/interfaces/IPActionSwapPTYT.sol +3 -3
  275. package/contracts/interfaces/IPActionSwapYT.sol +3 -3
  276. package/contracts/interfaces/IPAllAction.sol +1 -1
  277. package/contracts/interfaces/IPFeeDistributor.sol +1 -1
  278. package/contracts/interfaces/IPFeeDistributorFactory.sol +1 -1
  279. package/contracts/interfaces/IPGauge.sol +1 -1
  280. package/contracts/interfaces/IPGaugeController.sol +1 -1
  281. package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -1
  282. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  283. package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
  284. package/contracts/interfaces/IPMarket.sol +2 -2
  285. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  286. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  287. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  288. package/contracts/interfaces/IPPrincipalToken.sol +1 -1
  289. package/contracts/interfaces/IPVeToken.sol +1 -1
  290. package/contracts/interfaces/IPVotingController.sol +5 -3
  291. package/contracts/interfaces/IPVotingEscrowMainchain.sol +3 -3
  292. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  293. package/contracts/interfaces/IPYieldToken.sol +1 -1
  294. package/contracts/interfaces/IQiAvax.sol +1 -1
  295. package/contracts/interfaces/IQiErc20.sol +1 -1
  296. package/contracts/interfaces/IQiToken.sol +1 -1
  297. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  298. package/contracts/interfaces/IRewardManager.sol +1 -1
  299. package/contracts/interfaces/ISAvax.sol +1 -1
  300. package/contracts/interfaces/ISJoe.sol +1 -1
  301. package/contracts/interfaces/IStETH.sol +1 -1
  302. package/contracts/interfaces/IStargateLPStaking.sol +1 -1
  303. package/contracts/interfaces/IStargatePool.sol +1 -1
  304. package/contracts/interfaces/IStargateRouter.sol +1 -1
  305. package/contracts/interfaces/ISuperComposableYield.sol +1 -1
  306. package/contracts/interfaces/IWAvax.sol +1 -1
  307. package/contracts/interfaces/IWETH.sol +1 -1
  308. package/contracts/interfaces/IWXBTRFLY.sol +1 -1
  309. package/contracts/interfaces/IWstETH.sol +1 -1
  310. package/contracts/interfaces/IYearnVault.sol +1 -1
  311. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -3
  312. package/contracts/offchain-helpers/MarketMathStatic.sol +7 -7
  313. package/contracts/offchain-helpers/RouterStatic.sol +7 -14
  314. package/contracts/{core/actions → router}/ActionAddRemoveLiq.sol +5 -5
  315. package/contracts/{core/actions → router}/ActionCallback.sol +7 -7
  316. package/contracts/{core/actions → router}/ActionMintRedeem.sol +4 -4
  317. package/contracts/{core/actions → router}/ActionMisc.sol +4 -4
  318. package/contracts/{core/actions → router}/ActionSwapPT.sol +5 -5
  319. package/contracts/{core/actions → router}/ActionSwapPTYT.sol +5 -5
  320. package/contracts/{core/actions → router}/ActionSwapYT.sol +5 -5
  321. package/contracts/{core → router}/PendleRouter.sol +3 -3
  322. package/contracts/{core/actions → router}/base/ActionBaseMintRedeem.sol +6 -6
  323. package/contracts/{core/actions → router}/base/CallbackHelper.sol +1 -1
  324. package/contracts/{libraries/math → router/base}/MarketApproxLib.sol +180 -219
  325. package/contracts/{libraries → router}/kyberswap/AggregationRouterHelper.sol +1 -1
  326. package/contracts/{libraries → router}/kyberswap/IMultihopRouter.sol +0 -0
  327. package/contracts/{libraries → router}/kyberswap/KyberSwapHelper.sol +3 -4
  328. package/deployments/kovan.json +31 -0
  329. package/package.json +4 -4
  330. package/typechain-types/IPVotingController.ts +18 -0
  331. package/typechain-types/PendleMsgReceiverAppUpg.ts +3 -128
  332. package/typechain-types/PendleVotingControllerUpg.ts +18 -0
  333. package/typechain-types/RouterStatic.ts +0 -45
  334. package/typechain-types/VotingControllerStorageUpg.ts +18 -0
  335. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +10 -5
  336. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  337. package/typechain-types/factories/ActionMintRedeem__factory.ts +4 -4
  338. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  339. package/typechain-types/factories/ActionSwapPTYT__factory.ts +7 -2
  340. package/typechain-types/factories/ActionSwapPT__factory.ts +10 -5
  341. package/typechain-types/factories/ActionSwapYT__factory.ts +10 -5
  342. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  343. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  344. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
  345. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  346. package/typechain-types/factories/ERC20__factory.ts +1 -1
  347. package/typechain-types/factories/Errors__factory.ts +7 -2
  348. package/typechain-types/factories/IPVotingController__factory.ts +31 -0
  349. package/typechain-types/factories/MarketMathStatic__factory.ts +7 -2
  350. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  351. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +1 -1
  352. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +1 -1
  353. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +1 -1
  354. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  355. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  356. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  357. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  358. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  359. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  360. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  361. package/typechain-types/factories/PendleMarket__factory.ts +4 -4
  362. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  363. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +0 -75
  364. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  365. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  366. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  367. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  368. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  369. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +32 -1
  370. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  371. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  372. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  373. package/typechain-types/factories/RouterStatic__factory.ts +1 -30
  374. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +31 -0
  375. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  376. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  377. package/typechain-types/hardhat.d.ts +232 -232
  378. package/typechain-types/index.ts +90 -90
  379. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +0 -4
  380. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +0 -4
  381. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +0 -1007
  382. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +0 -4
  383. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +0 -1030
  384. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +0 -4
  385. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +0 -1025
  386. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +0 -4
  387. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
  388. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +0 -4
  389. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +0 -851
  390. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +0 -4
  391. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
  392. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +0 -4
  393. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +0 -4
  394. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +0 -123
  395. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +0 -4
  396. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +0 -4
  397. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +0 -4
  398. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  399. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +0 -4
  400. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +0 -4
  401. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  402. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  403. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +0 -4
  404. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +0 -4
  405. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +0 -1053
  406. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +0 -4
  407. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +0 -4
  408. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +0 -4
  409. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +0 -4
  410. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +0 -4
  411. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +0 -254
  412. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
  413. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +0 -329
  414. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +0 -4
  415. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
  416. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -1232
  417. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  418. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
  419. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +0 -4
  420. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
  421. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +0 -693
  422. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  423. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -312
  424. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
  425. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +0 -640
  426. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
  427. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +0 -4
  428. package/build/artifacts/contracts/libraries/Errors.sol/Errors.dbg.json +0 -4
  429. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +0 -4
  430. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +0 -4
  431. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +0 -4
  432. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +0 -4
  433. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +0 -4
  434. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +0 -4
  435. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +0 -4
  436. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +0 -4
  437. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +0 -4
  438. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +0 -4
  439. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +0 -4
  440. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +0 -4
  441. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +0 -4
  442. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +0 -4
  443. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  444. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -35
  445. package/build/artifacts/contracts/libraries/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +0 -4
  446. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  447. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +0 -4
  448. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  449. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  450. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +0 -4
  451. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +0 -4
  452. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +0 -4
  453. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +0 -4
  454. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +0 -4
  455. package/deployments/43113-core.json +0 -16
  456. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
  457. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
  458. package/deployments/43113-testenv.json +0 -22
  459. package/deployments/80001-core.json +0 -15
  460. package/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +0 -8
  461. package/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +0 -8
  462. package/deployments/80001-testenv.json +0 -22
@@ -1,693 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "ActionSwapPT",
4
- "sourceName": "contracts/core/actions/ActionSwapPT.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_kyberSwapRouter",
11
- "type": "address"
12
- }
13
- ],
14
- "stateMutability": "nonpayable",
15
- "type": "constructor"
16
- },
17
- {
18
- "inputs": [],
19
- "name": "ApproxFail",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "uint256",
26
- "name": "guessMin",
27
- "type": "uint256"
28
- },
29
- {
30
- "internalType": "uint256",
31
- "name": "guessMax",
32
- "type": "uint256"
33
- }
34
- ],
35
- "name": "ApproxGuessRangeInvalid",
36
- "type": "error"
37
- },
38
- {
39
- "inputs": [
40
- {
41
- "internalType": "int256",
42
- "name": "exchangeRate",
43
- "type": "int256"
44
- }
45
- ],
46
- "name": "MarketExchangeRateBelowOne",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [],
51
- "name": "MarketExpired",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "int256",
58
- "name": "currentAmount",
59
- "type": "int256"
60
- },
61
- {
62
- "internalType": "int256",
63
- "name": "requiredAmount",
64
- "type": "int256"
65
- }
66
- ],
67
- "name": "MarketInsufficientPtForTrade",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "MarketProportionMustNotEqualOne",
73
- "type": "error"
74
- },
75
- {
76
- "inputs": [
77
- {
78
- "internalType": "int256",
79
- "name": "proportion",
80
- "type": "int256"
81
- },
82
- {
83
- "internalType": "int256",
84
- "name": "maxProportion",
85
- "type": "int256"
86
- }
87
- ],
88
- "name": "MarketProportionTooHigh",
89
- "type": "error"
90
- },
91
- {
92
- "inputs": [
93
- {
94
- "internalType": "int256",
95
- "name": "rateScalar",
96
- "type": "int256"
97
- }
98
- ],
99
- "name": "MarketRateScalarBelowZero",
100
- "type": "error"
101
- },
102
- {
103
- "inputs": [],
104
- "name": "MarketZeroLnImpliedRate",
105
- "type": "error"
106
- },
107
- {
108
- "inputs": [
109
- {
110
- "internalType": "int256",
111
- "name": "totalPt",
112
- "type": "int256"
113
- },
114
- {
115
- "internalType": "int256",
116
- "name": "totalAsset",
117
- "type": "int256"
118
- }
119
- ],
120
- "name": "MarketZeroTotalPtOrTotalAsset",
121
- "type": "error"
122
- },
123
- {
124
- "inputs": [
125
- {
126
- "internalType": "uint256",
127
- "name": "actualPtIn",
128
- "type": "uint256"
129
- },
130
- {
131
- "internalType": "uint256",
132
- "name": "limitPtIn",
133
- "type": "uint256"
134
- }
135
- ],
136
- "name": "RouterExceededLimitPtIn",
137
- "type": "error"
138
- },
139
- {
140
- "inputs": [
141
- {
142
- "internalType": "uint256",
143
- "name": "actualScyIn",
144
- "type": "uint256"
145
- },
146
- {
147
- "internalType": "uint256",
148
- "name": "limitScyIn",
149
- "type": "uint256"
150
- }
151
- ],
152
- "name": "RouterExceededLimitScyIn",
153
- "type": "error"
154
- },
155
- {
156
- "inputs": [
157
- {
158
- "internalType": "uint256",
159
- "name": "actualPtOut",
160
- "type": "uint256"
161
- },
162
- {
163
- "internalType": "uint256",
164
- "name": "requiredPtOut",
165
- "type": "uint256"
166
- }
167
- ],
168
- "name": "RouterInsufficientPtOut",
169
- "type": "error"
170
- },
171
- {
172
- "inputs": [
173
- {
174
- "internalType": "uint256",
175
- "name": "actualScyOut",
176
- "type": "uint256"
177
- },
178
- {
179
- "internalType": "uint256",
180
- "name": "requiredScyOut",
181
- "type": "uint256"
182
- }
183
- ],
184
- "name": "RouterInsufficientScyOut",
185
- "type": "error"
186
- },
187
- {
188
- "inputs": [
189
- {
190
- "internalType": "uint256",
191
- "name": "actualTokenOut",
192
- "type": "uint256"
193
- },
194
- {
195
- "internalType": "uint256",
196
- "name": "requiredTokenOut",
197
- "type": "uint256"
198
- }
199
- ],
200
- "name": "RouterInsufficientTokenOut",
201
- "type": "error"
202
- },
203
- {
204
- "anonymous": false,
205
- "inputs": [
206
- {
207
- "indexed": true,
208
- "internalType": "address",
209
- "name": "caller",
210
- "type": "address"
211
- },
212
- {
213
- "indexed": true,
214
- "internalType": "address",
215
- "name": "market",
216
- "type": "address"
217
- },
218
- {
219
- "indexed": true,
220
- "internalType": "address",
221
- "name": "receiver",
222
- "type": "address"
223
- },
224
- {
225
- "indexed": false,
226
- "internalType": "int256",
227
- "name": "netPtToAccount",
228
- "type": "int256"
229
- },
230
- {
231
- "indexed": false,
232
- "internalType": "int256",
233
- "name": "netScyToAccount",
234
- "type": "int256"
235
- }
236
- ],
237
- "name": "SwapPtAndScy",
238
- "type": "event"
239
- },
240
- {
241
- "anonymous": false,
242
- "inputs": [
243
- {
244
- "indexed": true,
245
- "internalType": "address",
246
- "name": "caller",
247
- "type": "address"
248
- },
249
- {
250
- "indexed": true,
251
- "internalType": "address",
252
- "name": "market",
253
- "type": "address"
254
- },
255
- {
256
- "indexed": true,
257
- "internalType": "address",
258
- "name": "token",
259
- "type": "address"
260
- },
261
- {
262
- "indexed": false,
263
- "internalType": "address",
264
- "name": "receiver",
265
- "type": "address"
266
- },
267
- {
268
- "indexed": false,
269
- "internalType": "int256",
270
- "name": "netPtToAccount",
271
- "type": "int256"
272
- },
273
- {
274
- "indexed": false,
275
- "internalType": "int256",
276
- "name": "netTokenToAccount",
277
- "type": "int256"
278
- }
279
- ],
280
- "name": "SwapPtAndToken",
281
- "type": "event"
282
- },
283
- {
284
- "inputs": [],
285
- "name": "kyberSwapRouter",
286
- "outputs": [
287
- {
288
- "internalType": "address",
289
- "name": "",
290
- "type": "address"
291
- }
292
- ],
293
- "stateMutability": "view",
294
- "type": "function"
295
- },
296
- {
297
- "inputs": [
298
- {
299
- "internalType": "address",
300
- "name": "receiver",
301
- "type": "address"
302
- },
303
- {
304
- "internalType": "address",
305
- "name": "market",
306
- "type": "address"
307
- },
308
- {
309
- "internalType": "uint256",
310
- "name": "exactPtIn",
311
- "type": "uint256"
312
- },
313
- {
314
- "internalType": "uint256",
315
- "name": "minScyOut",
316
- "type": "uint256"
317
- }
318
- ],
319
- "name": "swapExactPtForScy",
320
- "outputs": [
321
- {
322
- "internalType": "uint256",
323
- "name": "netScyOut",
324
- "type": "uint256"
325
- },
326
- {
327
- "internalType": "uint256",
328
- "name": "netScyFee",
329
- "type": "uint256"
330
- }
331
- ],
332
- "stateMutability": "nonpayable",
333
- "type": "function"
334
- },
335
- {
336
- "inputs": [
337
- {
338
- "internalType": "address",
339
- "name": "receiver",
340
- "type": "address"
341
- },
342
- {
343
- "internalType": "address",
344
- "name": "market",
345
- "type": "address"
346
- },
347
- {
348
- "internalType": "uint256",
349
- "name": "exactPtIn",
350
- "type": "uint256"
351
- },
352
- {
353
- "components": [
354
- {
355
- "internalType": "address",
356
- "name": "tokenOut",
357
- "type": "address"
358
- },
359
- {
360
- "internalType": "uint256",
361
- "name": "minTokenOut",
362
- "type": "uint256"
363
- },
364
- {
365
- "internalType": "address",
366
- "name": "tokenRedeemScy",
367
- "type": "address"
368
- },
369
- {
370
- "internalType": "bytes",
371
- "name": "kybercall",
372
- "type": "bytes"
373
- }
374
- ],
375
- "internalType": "struct TokenOutput",
376
- "name": "output",
377
- "type": "tuple"
378
- }
379
- ],
380
- "name": "swapExactPtForToken",
381
- "outputs": [
382
- {
383
- "internalType": "uint256",
384
- "name": "netTokenOut",
385
- "type": "uint256"
386
- },
387
- {
388
- "internalType": "uint256",
389
- "name": "netScyFee",
390
- "type": "uint256"
391
- }
392
- ],
393
- "stateMutability": "nonpayable",
394
- "type": "function"
395
- },
396
- {
397
- "inputs": [
398
- {
399
- "internalType": "address",
400
- "name": "receiver",
401
- "type": "address"
402
- },
403
- {
404
- "internalType": "address",
405
- "name": "market",
406
- "type": "address"
407
- },
408
- {
409
- "internalType": "uint256",
410
- "name": "exactScyIn",
411
- "type": "uint256"
412
- },
413
- {
414
- "internalType": "uint256",
415
- "name": "minPtOut",
416
- "type": "uint256"
417
- },
418
- {
419
- "components": [
420
- {
421
- "internalType": "uint256",
422
- "name": "guessMin",
423
- "type": "uint256"
424
- },
425
- {
426
- "internalType": "uint256",
427
- "name": "guessMax",
428
- "type": "uint256"
429
- },
430
- {
431
- "internalType": "uint256",
432
- "name": "guessOffchain",
433
- "type": "uint256"
434
- },
435
- {
436
- "internalType": "uint256",
437
- "name": "maxIteration",
438
- "type": "uint256"
439
- },
440
- {
441
- "internalType": "uint256",
442
- "name": "eps",
443
- "type": "uint256"
444
- }
445
- ],
446
- "internalType": "struct ApproxParams",
447
- "name": "guessPtOut",
448
- "type": "tuple"
449
- }
450
- ],
451
- "name": "swapExactScyForPt",
452
- "outputs": [
453
- {
454
- "internalType": "uint256",
455
- "name": "netPtOut",
456
- "type": "uint256"
457
- },
458
- {
459
- "internalType": "uint256",
460
- "name": "netScyFee",
461
- "type": "uint256"
462
- }
463
- ],
464
- "stateMutability": "nonpayable",
465
- "type": "function"
466
- },
467
- {
468
- "inputs": [
469
- {
470
- "internalType": "address",
471
- "name": "receiver",
472
- "type": "address"
473
- },
474
- {
475
- "internalType": "address",
476
- "name": "market",
477
- "type": "address"
478
- },
479
- {
480
- "internalType": "uint256",
481
- "name": "minPtOut",
482
- "type": "uint256"
483
- },
484
- {
485
- "components": [
486
- {
487
- "internalType": "uint256",
488
- "name": "guessMin",
489
- "type": "uint256"
490
- },
491
- {
492
- "internalType": "uint256",
493
- "name": "guessMax",
494
- "type": "uint256"
495
- },
496
- {
497
- "internalType": "uint256",
498
- "name": "guessOffchain",
499
- "type": "uint256"
500
- },
501
- {
502
- "internalType": "uint256",
503
- "name": "maxIteration",
504
- "type": "uint256"
505
- },
506
- {
507
- "internalType": "uint256",
508
- "name": "eps",
509
- "type": "uint256"
510
- }
511
- ],
512
- "internalType": "struct ApproxParams",
513
- "name": "guessPtOut",
514
- "type": "tuple"
515
- },
516
- {
517
- "components": [
518
- {
519
- "internalType": "address",
520
- "name": "tokenIn",
521
- "type": "address"
522
- },
523
- {
524
- "internalType": "uint256",
525
- "name": "netTokenIn",
526
- "type": "uint256"
527
- },
528
- {
529
- "internalType": "address",
530
- "name": "tokenMintScy",
531
- "type": "address"
532
- },
533
- {
534
- "internalType": "bytes",
535
- "name": "kybercall",
536
- "type": "bytes"
537
- }
538
- ],
539
- "internalType": "struct TokenInput",
540
- "name": "input",
541
- "type": "tuple"
542
- }
543
- ],
544
- "name": "swapExactTokenForPt",
545
- "outputs": [
546
- {
547
- "internalType": "uint256",
548
- "name": "netPtOut",
549
- "type": "uint256"
550
- },
551
- {
552
- "internalType": "uint256",
553
- "name": "netScyFee",
554
- "type": "uint256"
555
- }
556
- ],
557
- "stateMutability": "payable",
558
- "type": "function"
559
- },
560
- {
561
- "inputs": [
562
- {
563
- "internalType": "address",
564
- "name": "receiver",
565
- "type": "address"
566
- },
567
- {
568
- "internalType": "address",
569
- "name": "market",
570
- "type": "address"
571
- },
572
- {
573
- "internalType": "uint256",
574
- "name": "exactScyOut",
575
- "type": "uint256"
576
- },
577
- {
578
- "internalType": "uint256",
579
- "name": "maxPtIn",
580
- "type": "uint256"
581
- },
582
- {
583
- "components": [
584
- {
585
- "internalType": "uint256",
586
- "name": "guessMin",
587
- "type": "uint256"
588
- },
589
- {
590
- "internalType": "uint256",
591
- "name": "guessMax",
592
- "type": "uint256"
593
- },
594
- {
595
- "internalType": "uint256",
596
- "name": "guessOffchain",
597
- "type": "uint256"
598
- },
599
- {
600
- "internalType": "uint256",
601
- "name": "maxIteration",
602
- "type": "uint256"
603
- },
604
- {
605
- "internalType": "uint256",
606
- "name": "eps",
607
- "type": "uint256"
608
- }
609
- ],
610
- "internalType": "struct ApproxParams",
611
- "name": "guessPtIn",
612
- "type": "tuple"
613
- }
614
- ],
615
- "name": "swapPtForExactScy",
616
- "outputs": [
617
- {
618
- "internalType": "uint256",
619
- "name": "netPtIn",
620
- "type": "uint256"
621
- },
622
- {
623
- "internalType": "uint256",
624
- "name": "netScyFee",
625
- "type": "uint256"
626
- }
627
- ],
628
- "stateMutability": "nonpayable",
629
- "type": "function"
630
- },
631
- {
632
- "inputs": [
633
- {
634
- "internalType": "address",
635
- "name": "receiver",
636
- "type": "address"
637
- },
638
- {
639
- "internalType": "address",
640
- "name": "market",
641
- "type": "address"
642
- },
643
- {
644
- "internalType": "uint256",
645
- "name": "exactPtOut",
646
- "type": "uint256"
647
- },
648
- {
649
- "internalType": "uint256",
650
- "name": "maxScyIn",
651
- "type": "uint256"
652
- }
653
- ],
654
- "name": "swapScyForExactPt",
655
- "outputs": [
656
- {
657
- "internalType": "uint256",
658
- "name": "netScyIn",
659
- "type": "uint256"
660
- },
661
- {
662
- "internalType": "uint256",
663
- "name": "netScyFee",
664
- "type": "uint256"
665
- }
666
- ],
667
- "stateMutability": "nonpayable",
668
- "type": "function"
669
- }
670
- ],
671
- "bytecode": "0x60a06040523480156200001157600080fd5b5060405162003a1a38038062003a1a833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051613979620000a16000396000818160a1015281816112a0015261136d01526139796000f3fe6080604052600436106100605760003560e01c80630c56fc7a146100655780631ef6f3271461008f5780637027acd0146100d057806372d24598146100f0578063d65d45a914610110578063d79ca24014610130578063f615fe1114610150575b600080fd5b61007861007336600461309a565b610170565b604051610086929190613119565b60405180910390f35b34801561009b57600080fd5b506100c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516100869190613127565b3480156100dc57600080fd5b506100786100eb36600461313b565b610275565b3480156100fc57600080fd5b5061007861010b3660046131a6565b6103fb565b34801561011c57600080fd5b5061007861012b3660046131a6565b6105f3565b34801561013c57600080fd5b5061007861014b3660046131ec565b61076d565b34801561015c57600080fd5b5061007861016b3660046131ec565b610857565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d89190613249565b925050915060006101ec8984600189610a82565b90506101fc8a8a84848c8c610c3b565b909550935061020e6020870187613296565b6001600160a01b0316896001600160a01b0316336001600160a01b03166000805160206139248339815191528d6102448a610d8f565b6102518c60200135610da9565b604051610260939291906132b3565b60405180910390a45050509550959350505050565b600080600080866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd9190613249565b5090925090506102f86001600160a01b038216338989610dc6565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b0389169063d8e763c1906103369086908b906024810161332c565b60408051808303816000875af1158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190613353565b9450905061038a898483896000610e37565b94506103996020870187613296565b6001600160a01b0316886001600160a01b0316336001600160a01b03166000805160206139248339815191528c6103cf8c610da9565b6103d88b610d8f565b6040516103e7939291906132b3565b60405180910390a450505094509492505050565b6000806000856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046391906133c1565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190613249565b92505091506104ed6104e4826001600160a01b0316611027565b8490894261108d565b5094508585111561051e57848660405163ddd5bdb560e01b8152600401610515929190613119565b60405180910390fd5b6105336001600160a01b038316338a88610dc6565b604080516000815260208101918290526307bb0e7160e41b9091526001600160a01b03891690637bb0e71090610570908c908b906024810161332c565b60408051808303816000875af115801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b29190613353565b9450506001600160a01b03808a16908916336000805160206138db8339815191526105dc8b610d8f565b6105e58a610da9565b6040516103e7929190613119565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065a9190613249565b50915061067490506001600160a01b038216338888610dc6565b6040805160008152602081019182905263d8e763c160e01b9091526001600160a01b0387169063d8e763c1906106b1908a9089906024810161332c565b60408051808303816000875af11580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190613353565b90935091508383101561071d57828460405163cb95352560e01b8152600401610515929190613119565b6001600160a01b03808816908716336000805160206138db83398151915261074489610da9565b61074d88610d8f565b60405161075b929190613119565b60405180910390a45094509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156107b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d59190613249565b9193509091506107f290506001600160a01b038316338a8a610dc6565b6108008989838a8a8a610c3b565b90945092506001600160a01b03808a16908916336000805160206138db83398151915261082c88610d8f565b6108358c610da9565b604051610843929190613119565b60405180910390a450509550959350505050565b6000806000866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561089b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf91906133c1565b9050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190613249565b925092505061095b610940826001600160a01b0316611027565b8942610951368b90038b018b613443565b87939291906110d4565b509095505086851115610985578487604051633c0e098d60e11b8152600401610515929190613119565b61099a6001600160a01b038316338b88610dc6565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b038b169063d8e763c1906109d8908e908a906024810161332c565b60408051808303816000875af11580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a9190613353565b9550905088811015610a2e57610a2e6134b2565b6001600160a01b03808c16908b16336000805160206138db833981519152610a558a610da9565b610a5e8e610d8f565b604051610a6c929190613119565b60405180910390a4505050509550959350505050565b6000610a9f610a946020840184613296565b33846020013561122e565b610aaf6060830160408401613296565b6001600160a01b0316610ac56020840184613296565b6001600160a01b031614610b2f57610b2f610ae36020840184613296565b6020840135610af560608601866134c8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061129a92505050565b610b48610b426060840160408501613296565b8561139b565b6000610b62610b5d6060850160408601613296565b611453565b9050600080610b776060860160408701613296565b6001600160a01b031614610b8c576000610b8e565b815b90506001600160a01b0386166320e8c5658289610bb16060890160408a01613296565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015291166024820152604481018690526064810189905260840160206040518083038185885af1158015610c0b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c309190613515565b979650505050505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610c7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca391906133c1565b9050610cd5610cba886001600160a01b0316611027565b8742610ccb36899003890189613443565b85939291906114dd565b509093505084831015610cff578285604051634e6ffe4760e11b8152600401610515929190613119565b604080516000815260208101918290526307bb0e7160e41b9091526001600160a01b03891690637bb0e71090610d3c908c9087906024810161332c565b60408051808303816000875af1158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e9190613353565b939a93995092975050505050505050565b60006001600160ff1b03821115610da557600080fd5b5090565b6000610db482610d8f565b610dc090600019613544565b92915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610e319085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611602565b50505050565b60008115610e5457610e546001600160a01b038616338787610dc6565b610e616020840184613296565b6001600160a01b0316610e7a6060850160408601613296565b6001600160a01b031603610f1a576001600160a01b03851663769f8e5d8786610ea96060880160408901613296565b876020013560016040518663ffffffff1660e01b8152600401610ed09594939291906135c9565b6020604051808303816000875af1158015610eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f139190613515565b905061101e565b60006001600160a01b03861663769f8e5d3087610f3d6060890160408a01613296565b6001806040518663ffffffff1660e01b8152600401610f609594939291906135c9565b6020604051808303816000875af1158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa39190613515565b9050610fc6610fb86060860160408701613296565b82610af560608801886134c8565b610fd6610b5d6020860186613296565b915083602001358210156110055781846020013560405163c5b5576d60e01b8152600401610515929190613119565b61101c6110156020860186613296565b88846116d4565b505b95945050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611069573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc09190613515565b6000806000806110a788886110a189610d8f565b88611798565b915091506110bc6110b783611858565b611866565b93506110c781611866565b9250505094509492505050565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816111088a8a89611875565b9050600061111a87836020015161196f565b9050600061113984604001518560200151611a2090919063ffffffff16565b905060005b826060015181101561120957600080611161858789600001516000015186611a35565b9150915081611175576020850152506111f9565b60008061118789600001518985611aa0565b915091508582106111f0578287602001818152505060006111ad83888a60800151611adf565b905080156111ea5760208a015184906111c69085611b15565b60208c01516111d59085611b15565b9c509c509c5050505050505050505050611223565b506111f4565b8287525b505050505b611202816135fd565b905061113e565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6001600160a01b03831661127f5780341461127a5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610515565b505050565b801561127a5761127a6001600160a01b038416833084610dc6565b6112c4837f000000000000000000000000000000000000000000000000000000000000000061139b565b60405163726d379760e11b815260009073__$559d48c320e1446b023c1ea40891219567$__9063e4da6f2e906113009085908790600401613616565b600060405180830381865af415801561131d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113459190810190613638565b9050611394816001600160a01b03861615611361576000611363565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611b21565b5050505050565b6001600160a01b0382166113ad575050565b6113bf60026001600160601b036136ef565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190613515565b101561144f5761144f8282600019611b47565b5050565b60006001600160a01b038216156114d6576040516370a0823160e01b81526001600160a01b038316906370a0823190611490903090600401613127565b602060405180830381865afa1580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d19190613515565b610dc0565b4792915050565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816115118a8a89611875565b905060006115288783856000015160000151611c54565b9050600061154784604001518560200151611cfa90919063ffffffff16565b905060005b82606001518110156112095760006115648483611d06565b905060008061157888600001518885611d7b565b915091508482116115dd57828652608086015160009061159b9084908890611d9b565b905080156115d757602089015184906115b49085611b15565b60208b01516115c39085611b15565b9b509b509b50505050505050505050611223565b506115ee565b6115e8600184613715565b60208701525b505050806115fb906135fd565b905061154c565b6000611657826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611dc99092919063ffffffff16565b80519091501561127a5780806020019051810190611675919061372c565b61127a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610515565b806000036116e157505050565b6001600160a01b038316611784576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461173c576040519150601f19603f3d011682016040523d82523d6000602084013e611741565b606091505b5050905080610e315760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610515565b61127a6001600160a01b0384168383611dd8565b6000806117a98660c0015184101590565b156117c75760405163b2094b5960e01b815260040160405180910390fd5b855184126117ed578551604051632185509b60e21b815261051591908690600401613119565b60006117fa878786611875565b905060008061180a898489611df7565b9150915060008212611825576118208883611f07565b61182f565b61182f8883611f43565b945061183b8882611f07565b935061184c89848a8a89898c611f70565b50505094509492505050565b6000610dc082600019613544565b600080821215610da557600080fd5b6118a06040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106118c45760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516118d69190613715565b90506118e28582612002565b825260208501516118f490859061205e565b60208301528451158061190957506020820151155b15611930578451602083015160405163b1c4aefb60e01b8152610515929190600401613119565b61194e8560000151866101000151846020015185600001518561208b565b604083015260a0850151611962908261210c565b6060830152509392505050565b6119a86040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8251815260208301516119c3906119be84612145565b61215c565b60208201819052604080850151908301526060808501519083015260808085015190830152815111801590611a045750670de0b6b3a7640000816080015111155b610dc05760405162461bcd60e51b81526004016105159061374e565b600082611a2d8184612172565b949350505050565b6000806000611a448785611d06565b90508660a001518111611a5c57600192509050611a97565b6000611a718787611a6c85610d8f565b6121a8565b90506000811215611a885750600092509050611a97565b5060a087018190526001925090505b94509492505050565b600080600080611abb86611ab387610da9565b899190611df7565b91509150611ac882611866565b9350611ad381611866565b92505050935093915050565b6000828410158015611b0b5750611b0783611b0284670de0b6b3a764000061377d565b6122a0565b8411155b90505b9392505050565b6000611b0e83836122c0565b6060611b0b8484846040518060600160405280602981526020016138fb602991396122d5565b600080846001600160a01b031663095ea7b360e01b8585604051602401611b6f929190613795565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611bad91906137ae565b6000604051808303816000865af19150503d8060008114611bea576040519150601f19603f3d011682016040523d82523d6000602084013e611bef565b606091505b5091509150818015611c19575080511580611c19575080806020019051810190611c19919061372c565b6113945760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610515565b611c866040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b835181526020840151611c9d906119be85856123fb565b60208201819052604080860151908301526060808601519083015260808086015190830152815111801590611cde5750670de0b6b3a7640000816080015111155b611b0e5760405162461bcd60e51b81526004016105159061374e565b6000611b0e838361248d565b600081158015611d195750604083015115155b15611d2957506040820151610dc0565b6020830151835111611d595760208301518351600291611d489161377d565b611d5291906137ca565b9050610dc0565b82516020840151604051632d3b201b60e01b8152610515929190600401613119565b600080600080611d8e86611ab387610d8f565b91509150611ac8826124a2565b6000828411158015611b0b5750611dbe83611b0284670de0b6b3a7640000613715565b909310159392505050565b6060611b0b84846000856122d5565b61127a8363a9059cbb60e01b8484604051602401610dfa929190613795565b6000806000611e198660000151866020015187600001518860400151886124b4565b90506000611e2f611e2a8684612565565b611858565b60608701519091506000861315611e9e576000611e4c8483612565565b9050670de0b6b3a7640000811215611e7a5760405163329e322960e21b815260048101829052602401610515565b611e96611e8f83670de0b6b3a76400006137de565b8490612594565b915050611ecb565b611ec881611eb481670de0b6b3a76400006137de565b611ebe9085613544565b611e2a919061381d565b90505b6064611eda8960e00151610d8f565b611ee49083613544565b611eee919061381d565b9350611efa81836137de565b9450505050935093915050565b60008060008312611f19576001611f1d565b6000195b9050611f39611f3485611f2f866124a2565b6122c0565b610d8f565b611a2d9082613544565b60008060008312611f55576001611f59565b6000195b9050611f39611f3485611f6b866124a2565b6125b2565b6000818860c00151611f829190613715565b8851909150611f9190866125ca565b8852611fab611fa0848661384b565b60208a0151906125ca565b602089018190528851611fd091611fc390899061205e565b895160408b015185612611565b6101008901819052600003611ff857604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600061200d82610d8f565b61201f611f346201518061016d61388c565b846080015161202e9190613544565b612038919061381d565b905060008113610dc057604051630e520c3b60e11b815260048101829052602401610515565b60008060008312612070576001612074565b6000195b9050611f39611f3485612086866124a2565b61248d565b600080612098868461210c565b9050670de0b6b3a76400008112156120c65760405163329e322960e21b815260048101829052602401610515565b60006120dc6120d5878a61384b565b8990612565565b905060006120e982612664565b90506120f58187612565565b6120ff90846137de565b9998505050505050505050565b60008061211e6201518061016d61388c565b612128848661388c565b61213291906137ca565b9050611a2d61214082610d8f565b6126b7565b6000600161215283611866565b610dc09190613715565b600081831061216b5781611b0e565b5090919050565b6000670de0b6b3a764000060018161218a868661388c565b612194919061377d565b61219e9190613715565b611b0e91906137ca565b6000808285602001516121bb91906137de565b905060006121c9858561384b565b90506000821380156121db5750600081135b61221c5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610515565b600061224a61222b8484613544565b602089015161223a908961384b565b6122449088613544565b90612565565b9050600061226061225b8486612565565b612acc565b885190915060009061227b90670de0b6b3a764000090612565565b90506122918161228b84866137de565b90612594565b89604001516120ff91906137de565b6000806122ad838561388c565b670de0b6b3a76400009004949350505050565b60008261219e670de0b6b3a76400008461388c565b6060824710156123365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610515565b6001600160a01b0385163b61238d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b600080866001600160a01b031685876040516123a991906137ae565b60006040518083038185875af1925050503d80600081146123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b5091509150610c30828286612b5d565b60008061241d61214085600001518660400151876060015161228b91906137de565b9050600061243d612436670de0b6b3a76400008461384b565b8390612565565b9050600061245b866020015186612454919061384b565b8390612594565b9050600061246982876137de565b90506103e861247782611866565b612483906103e761388c565b610c3091906137ca565b6000670de0b6b3a764000061219e848461388c565b6000808213610da5576114d1826138ab565b6000806124c187846125ca565b905060006124d2612436888a61384b565b9050670d529ae9e86000008113156125095780670d529ae9e8600000604051637e34684f60e11b8152600401610515929190613119565b600061251482612664565b9050856125218289612565565b61252b919061384b565b9350670de0b6b3a76400008412156125595760405163329e322960e21b815260048101859052602401610515565b50505095945050505050565b60008061257a670de0b6b3a764000085613544565b905082818161258b5761258b6136d9565b05949350505050565b6000806125a18385613544565b9050670de0b6b3a76400008161258b565b60008260018161218a670de0b6b3a76400008661388c565b6000818312156126075760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610515565b611b0e82846137de565b6000806126228787878760006124b4565b905060006126326110b783612acc565b9050836126446201518061016d61388c565b61264e908361388c565b61265891906137ca565b98975050505050505050565b6000670de0b6b3a7640000820361268e5760405163a9c8b14d60e01b815260040160405180910390fd5b60006126ac6126a584670de0b6b3a76400006137de565b8490612565565b9050611b0e81612acc565b6000680238fd42c5cf03ffff1982121580156126dc575068070c1cc73b00c800008213155b61271b5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610515565b600082121561275357612730826000036126b7565b6a0c097ce7bc90715b34b9f160241b8161274c5761274c6136d9565b0592915050565b60006806f05b59d3b2000000831261279157506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6127c7565b6803782dace9d900000083126127c357506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806127c7565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126128175768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612853576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261288d57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126128c7576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261290057680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126129395768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612972576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126129ab5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000808213612b0d5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610515565b670c7d713b49da000082138015612b2b5750670f43fc2c04ee000082125b15612b4f57670de0b6b3a7640000612b4283612b96565b8161274c5761274c6136d9565b610dc082612cb5565b919050565b60608315612b6c575081611b0e565b825115612b7c5782518084602001fd5b8160405162461bcd60e51b815260040161051591906138c7565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612bd757612bd76136d9565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612cf657612ced826a0c097ce7bc90715b34b9f160241b81612ce757612ce76136d9565b05612cb5565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612d415772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612d78576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612dc0576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612dfb576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612e3257693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612e6957690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612e9e5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612ec957680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612efe576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612f33576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612f67576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612f9b576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612fc457612fc46136d9565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b038116811461306d57600080fd5b50565b600060a0828403121561308257600080fd5b50919050565b60006080828403121561308257600080fd5b600080600080600061012086880312156130b357600080fd5b85356130be81613058565b945060208601356130ce81613058565b9350604086013592506130e48760608801613070565b91506101008601356001600160401b0381111561310057600080fd5b61310c88828901613088565b9150509295509295909350565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6000806000806080858703121561315157600080fd5b843561315c81613058565b9350602085013561316c81613058565b92506040850135915060608501356001600160401b0381111561318e57600080fd5b61319a87828801613088565b91505092959194509250565b600080600080608085870312156131bc57600080fd5b84356131c781613058565b935060208501356131d781613058565b93969395505050506040820135916060013590565b6000806000806000610120868803121561320557600080fd5b853561321081613058565b9450602086013561322081613058565b9350604086013592506060860135915061323d8760808801613070565b90509295509295909350565b60008060006060848603121561325e57600080fd5b835161326981613058565b602085015190935061327a81613058565b604085015190925061328b81613058565b809150509250925092565b6000602082840312156132a857600080fd5b8135611b0e81613058565b6001600160a01b039390931683526020830191909152604082015260600190565b60005b838110156132ef5781810151838201526020016132d7565b83811115610e315750506000910152565b600081518084526133188160208601602086016132d4565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061101e6060830184613300565b6000806040838503121561336657600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156133b0576133b0613377565b60405290565b8051612b5881613058565b600061012082840312156133d457600080fd5b6133dc61338d565b825181526020830151602082015260408301516040820152613400606084016133b6565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561345557600080fd5b60405160a081016001600160401b038111828210171561347757613477613377565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052600160045260246000fd5b6000808335601e198436030181126134df57600080fd5b8301803591506001600160401b038211156134f957600080fd5b60200191503681900382131561350e57600080fd5b9250929050565b60006020828403121561352757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b038184138284138082168684048611161561356a5761356a61352e565b600160ff1b60008712828116878305891216156135895761358961352e565b600087129250878205871284841616156135a5576135a561352e565b878505871281841616156135bb576135bb61352e565b505050929093029392505050565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b60006001820161360f5761360f61352e565b5060010190565b6040815260006136296040830185613300565b90508260208301529392505050565b60006020828403121561364a57600080fd5b81516001600160401b038082111561366157600080fd5b818401915084601f83011261367557600080fd5b81518181111561368757613687613377565b604051601f8201601f19908116603f011681019083821181831017156136af576136af613377565b816040528281528760208487010111156136c857600080fd5b610c308360208301602088016132d4565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b0383811680613709576137096136d9565b92169190910492915050565b6000828210156137275761372761352e565b500390565b60006020828403121561373e57600080fd5b81518015158114611b0e57600080fd5b602080825260159082015274696e76616c696420617070726f7820706172616d7360581b604082015260600190565b600082198211156137905761379061352e565b500190565b6001600160a01b03929092168252602082015260400190565b600082516137c08184602087016132d4565b9190910192915050565b6000826137d9576137d96136d9565b500490565b60008083128015600160ff1b8501841216156137fc576137fc61352e565b6001600160ff1b03840183138116156138175761381761352e565b50500390565b60008261382c5761382c6136d9565b600160ff1b8214600019841416156138465761384661352e565b500590565b600080821280156001600160ff1b038490038513161561386d5761386d61352e565b600160ff1b83900384128116156138865761388661352e565b50500190565b60008160001904831182151516156138a6576138a661352e565b500290565b6000600160ff1b82016138c0576138c061352e565b5060000390565b602081526000611b0e602083018461330056fec63e731085b5bdd8931c46f55e56e122352a12d4d2cd895116684fbe1292b127416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c656478e08a1e3c7a72f78d2c8ad8254052914bad73f8c681dbdc4267d0bb8ac9423ca2646970667358221220473765bbef6d690f8b524aa1aac5068a9e4e8e4c2d167f7f87b9fe6b8fb14a5164736f6c634300080f0033",
672
- "deployedBytecode": "0x6080604052600436106100605760003560e01c80630c56fc7a146100655780631ef6f3271461008f5780637027acd0146100d057806372d24598146100f0578063d65d45a914610110578063d79ca24014610130578063f615fe1114610150575b600080fd5b61007861007336600461309a565b610170565b604051610086929190613119565b60405180910390f35b34801561009b57600080fd5b506100c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516100869190613127565b3480156100dc57600080fd5b506100786100eb36600461313b565b610275565b3480156100fc57600080fd5b5061007861010b3660046131a6565b6103fb565b34801561011c57600080fd5b5061007861012b3660046131a6565b6105f3565b34801561013c57600080fd5b5061007861014b3660046131ec565b61076d565b34801561015c57600080fd5b5061007861016b3660046131ec565b610857565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d89190613249565b925050915060006101ec8984600189610a82565b90506101fc8a8a84848c8c610c3b565b909550935061020e6020870187613296565b6001600160a01b0316896001600160a01b0316336001600160a01b03166000805160206139248339815191528d6102448a610d8f565b6102518c60200135610da9565b604051610260939291906132b3565b60405180910390a45050509550959350505050565b600080600080866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd9190613249565b5090925090506102f86001600160a01b038216338989610dc6565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b0389169063d8e763c1906103369086908b906024810161332c565b60408051808303816000875af1158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190613353565b9450905061038a898483896000610e37565b94506103996020870187613296565b6001600160a01b0316886001600160a01b0316336001600160a01b03166000805160206139248339815191528c6103cf8c610da9565b6103d88b610d8f565b6040516103e7939291906132b3565b60405180910390a450505094509492505050565b6000806000856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046391906133c1565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190613249565b92505091506104ed6104e4826001600160a01b0316611027565b8490894261108d565b5094508585111561051e57848660405163ddd5bdb560e01b8152600401610515929190613119565b60405180910390fd5b6105336001600160a01b038316338a88610dc6565b604080516000815260208101918290526307bb0e7160e41b9091526001600160a01b03891690637bb0e71090610570908c908b906024810161332c565b60408051808303816000875af115801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b29190613353565b9450506001600160a01b03808a16908916336000805160206138db8339815191526105dc8b610d8f565b6105e58a610da9565b6040516103e7929190613119565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065a9190613249565b50915061067490506001600160a01b038216338888610dc6565b6040805160008152602081019182905263d8e763c160e01b9091526001600160a01b0387169063d8e763c1906106b1908a9089906024810161332c565b60408051808303816000875af11580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190613353565b90935091508383101561071d57828460405163cb95352560e01b8152600401610515929190613119565b6001600160a01b03808816908716336000805160206138db83398151915261074489610da9565b61074d88610d8f565b60405161075b929190613119565b60405180910390a45094509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156107b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d59190613249565b9193509091506107f290506001600160a01b038316338a8a610dc6565b6108008989838a8a8a610c3b565b90945092506001600160a01b03808a16908916336000805160206138db83398151915261082c88610d8f565b6108358c610da9565b604051610843929190613119565b60405180910390a450509550959350505050565b6000806000866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561089b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf91906133c1565b9050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190613249565b925092505061095b610940826001600160a01b0316611027565b8942610951368b90038b018b613443565b87939291906110d4565b509095505086851115610985578487604051633c0e098d60e11b8152600401610515929190613119565b61099a6001600160a01b038316338b88610dc6565b604080516000808252602082019283905263d8e763c160e01b9092526001600160a01b038b169063d8e763c1906109d8908e908a906024810161332c565b60408051808303816000875af11580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a9190613353565b9550905088811015610a2e57610a2e6134b2565b6001600160a01b03808c16908b16336000805160206138db833981519152610a558a610da9565b610a5e8e610d8f565b604051610a6c929190613119565b60405180910390a4505050509550959350505050565b6000610a9f610a946020840184613296565b33846020013561122e565b610aaf6060830160408401613296565b6001600160a01b0316610ac56020840184613296565b6001600160a01b031614610b2f57610b2f610ae36020840184613296565b6020840135610af560608601866134c8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061129a92505050565b610b48610b426060840160408501613296565b8561139b565b6000610b62610b5d6060850160408601613296565b611453565b9050600080610b776060860160408701613296565b6001600160a01b031614610b8c576000610b8e565b815b90506001600160a01b0386166320e8c5658289610bb16060890160408a01613296565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015291166024820152604481018690526064810189905260840160206040518083038185885af1158015610c0b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c309190613515565b979650505050505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610c7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca391906133c1565b9050610cd5610cba886001600160a01b0316611027565b8742610ccb36899003890189613443565b85939291906114dd565b509093505084831015610cff578285604051634e6ffe4760e11b8152600401610515929190613119565b604080516000815260208101918290526307bb0e7160e41b9091526001600160a01b03891690637bb0e71090610d3c908c9087906024810161332c565b60408051808303816000875af1158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e9190613353565b939a93995092975050505050505050565b60006001600160ff1b03821115610da557600080fd5b5090565b6000610db482610d8f565b610dc090600019613544565b92915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610e319085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611602565b50505050565b60008115610e5457610e546001600160a01b038616338787610dc6565b610e616020840184613296565b6001600160a01b0316610e7a6060850160408601613296565b6001600160a01b031603610f1a576001600160a01b03851663769f8e5d8786610ea96060880160408901613296565b876020013560016040518663ffffffff1660e01b8152600401610ed09594939291906135c9565b6020604051808303816000875af1158015610eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f139190613515565b905061101e565b60006001600160a01b03861663769f8e5d3087610f3d6060890160408a01613296565b6001806040518663ffffffff1660e01b8152600401610f609594939291906135c9565b6020604051808303816000875af1158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa39190613515565b9050610fc6610fb86060860160408701613296565b82610af560608801886134c8565b610fd6610b5d6020860186613296565b915083602001358210156110055781846020013560405163c5b5576d60e01b8152600401610515929190613119565b61101c6110156020860186613296565b88846116d4565b505b95945050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611069573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc09190613515565b6000806000806110a788886110a189610d8f565b88611798565b915091506110bc6110b783611858565b611866565b93506110c781611866565b9250505094509492505050565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816111088a8a89611875565b9050600061111a87836020015161196f565b9050600061113984604001518560200151611a2090919063ffffffff16565b905060005b826060015181101561120957600080611161858789600001516000015186611a35565b9150915081611175576020850152506111f9565b60008061118789600001518985611aa0565b915091508582106111f0578287602001818152505060006111ad83888a60800151611adf565b905080156111ea5760208a015184906111c69085611b15565b60208c01516111d59085611b15565b9c509c509c5050505050505050505050611223565b506111f4565b8287525b505050505b611202816135fd565b905061113e565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6001600160a01b03831661127f5780341461127a5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610515565b505050565b801561127a5761127a6001600160a01b038416833084610dc6565b6112c4837f000000000000000000000000000000000000000000000000000000000000000061139b565b60405163726d379760e11b815260009073__$559d48c320e1446b023c1ea40891219567$__9063e4da6f2e906113009085908790600401613616565b600060405180830381865af415801561131d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113459190810190613638565b9050611394816001600160a01b03861615611361576000611363565b845b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611b21565b5050505050565b6001600160a01b0382166113ad575050565b6113bf60026001600160601b036136ef565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190613515565b101561144f5761144f8282600019611b47565b5050565b60006001600160a01b038216156114d6576040516370a0823160e01b81526001600160a01b038316906370a0823190611490903090600401613127565b602060405180830381865afa1580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d19190613515565b610dc0565b4792915050565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816115118a8a89611875565b905060006115288783856000015160000151611c54565b9050600061154784604001518560200151611cfa90919063ffffffff16565b905060005b82606001518110156112095760006115648483611d06565b905060008061157888600001518885611d7b565b915091508482116115dd57828652608086015160009061159b9084908890611d9b565b905080156115d757602089015184906115b49085611b15565b60208b01516115c39085611b15565b9b509b509b50505050505050505050611223565b506115ee565b6115e8600184613715565b60208701525b505050806115fb906135fd565b905061154c565b6000611657826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611dc99092919063ffffffff16565b80519091501561127a5780806020019051810190611675919061372c565b61127a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610515565b806000036116e157505050565b6001600160a01b038316611784576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461173c576040519150601f19603f3d011682016040523d82523d6000602084013e611741565b606091505b5050905080610e315760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610515565b61127a6001600160a01b0384168383611dd8565b6000806117a98660c0015184101590565b156117c75760405163b2094b5960e01b815260040160405180910390fd5b855184126117ed578551604051632185509b60e21b815261051591908690600401613119565b60006117fa878786611875565b905060008061180a898489611df7565b9150915060008212611825576118208883611f07565b61182f565b61182f8883611f43565b945061183b8882611f07565b935061184c89848a8a89898c611f70565b50505094509492505050565b6000610dc082600019613544565b600080821215610da557600080fd5b6118a06040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106118c45760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516118d69190613715565b90506118e28582612002565b825260208501516118f490859061205e565b60208301528451158061190957506020820151155b15611930578451602083015160405163b1c4aefb60e01b8152610515929190600401613119565b61194e8560000151866101000151846020015185600001518561208b565b604083015260a0850151611962908261210c565b6060830152509392505050565b6119a86040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8251815260208301516119c3906119be84612145565b61215c565b60208201819052604080850151908301526060808501519083015260808085015190830152815111801590611a045750670de0b6b3a7640000816080015111155b610dc05760405162461bcd60e51b81526004016105159061374e565b600082611a2d8184612172565b949350505050565b6000806000611a448785611d06565b90508660a001518111611a5c57600192509050611a97565b6000611a718787611a6c85610d8f565b6121a8565b90506000811215611a885750600092509050611a97565b5060a087018190526001925090505b94509492505050565b600080600080611abb86611ab387610da9565b899190611df7565b91509150611ac882611866565b9350611ad381611866565b92505050935093915050565b6000828410158015611b0b5750611b0783611b0284670de0b6b3a764000061377d565b6122a0565b8411155b90505b9392505050565b6000611b0e83836122c0565b6060611b0b8484846040518060600160405280602981526020016138fb602991396122d5565b600080846001600160a01b031663095ea7b360e01b8585604051602401611b6f929190613795565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611bad91906137ae565b6000604051808303816000865af19150503d8060008114611bea576040519150601f19603f3d011682016040523d82523d6000602084013e611bef565b606091505b5091509150818015611c19575080511580611c19575080806020019051810190611c19919061372c565b6113945760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401610515565b611c866040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b835181526020840151611c9d906119be85856123fb565b60208201819052604080860151908301526060808601519083015260808086015190830152815111801590611cde5750670de0b6b3a7640000816080015111155b611b0e5760405162461bcd60e51b81526004016105159061374e565b6000611b0e838361248d565b600081158015611d195750604083015115155b15611d2957506040820151610dc0565b6020830151835111611d595760208301518351600291611d489161377d565b611d5291906137ca565b9050610dc0565b82516020840151604051632d3b201b60e01b8152610515929190600401613119565b600080600080611d8e86611ab387610d8f565b91509150611ac8826124a2565b6000828411158015611b0b5750611dbe83611b0284670de0b6b3a7640000613715565b909310159392505050565b6060611b0b84846000856122d5565b61127a8363a9059cbb60e01b8484604051602401610dfa929190613795565b6000806000611e198660000151866020015187600001518860400151886124b4565b90506000611e2f611e2a8684612565565b611858565b60608701519091506000861315611e9e576000611e4c8483612565565b9050670de0b6b3a7640000811215611e7a5760405163329e322960e21b815260048101829052602401610515565b611e96611e8f83670de0b6b3a76400006137de565b8490612594565b915050611ecb565b611ec881611eb481670de0b6b3a76400006137de565b611ebe9085613544565b611e2a919061381d565b90505b6064611eda8960e00151610d8f565b611ee49083613544565b611eee919061381d565b9350611efa81836137de565b9450505050935093915050565b60008060008312611f19576001611f1d565b6000195b9050611f39611f3485611f2f866124a2565b6122c0565b610d8f565b611a2d9082613544565b60008060008312611f55576001611f59565b6000195b9050611f39611f3485611f6b866124a2565b6125b2565b6000818860c00151611f829190613715565b8851909150611f9190866125ca565b8852611fab611fa0848661384b565b60208a0151906125ca565b602089018190528851611fd091611fc390899061205e565b895160408b015185612611565b6101008901819052600003611ff857604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600061200d82610d8f565b61201f611f346201518061016d61388c565b846080015161202e9190613544565b612038919061381d565b905060008113610dc057604051630e520c3b60e11b815260048101829052602401610515565b60008060008312612070576001612074565b6000195b9050611f39611f3485612086866124a2565b61248d565b600080612098868461210c565b9050670de0b6b3a76400008112156120c65760405163329e322960e21b815260048101829052602401610515565b60006120dc6120d5878a61384b565b8990612565565b905060006120e982612664565b90506120f58187612565565b6120ff90846137de565b9998505050505050505050565b60008061211e6201518061016d61388c565b612128848661388c565b61213291906137ca565b9050611a2d61214082610d8f565b6126b7565b6000600161215283611866565b610dc09190613715565b600081831061216b5781611b0e565b5090919050565b6000670de0b6b3a764000060018161218a868661388c565b612194919061377d565b61219e9190613715565b611b0e91906137ca565b6000808285602001516121bb91906137de565b905060006121c9858561384b565b90506000821380156121db5750600081135b61221c5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610515565b600061224a61222b8484613544565b602089015161223a908961384b565b6122449088613544565b90612565565b9050600061226061225b8486612565565b612acc565b885190915060009061227b90670de0b6b3a764000090612565565b90506122918161228b84866137de565b90612594565b89604001516120ff91906137de565b6000806122ad838561388c565b670de0b6b3a76400009004949350505050565b60008261219e670de0b6b3a76400008461388c565b6060824710156123365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610515565b6001600160a01b0385163b61238d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b600080866001600160a01b031685876040516123a991906137ae565b60006040518083038185875af1925050503d80600081146123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b5091509150610c30828286612b5d565b60008061241d61214085600001518660400151876060015161228b91906137de565b9050600061243d612436670de0b6b3a76400008461384b565b8390612565565b9050600061245b866020015186612454919061384b565b8390612594565b9050600061246982876137de565b90506103e861247782611866565b612483906103e761388c565b610c3091906137ca565b6000670de0b6b3a764000061219e848461388c565b6000808213610da5576114d1826138ab565b6000806124c187846125ca565b905060006124d2612436888a61384b565b9050670d529ae9e86000008113156125095780670d529ae9e8600000604051637e34684f60e11b8152600401610515929190613119565b600061251482612664565b9050856125218289612565565b61252b919061384b565b9350670de0b6b3a76400008412156125595760405163329e322960e21b815260048101859052602401610515565b50505095945050505050565b60008061257a670de0b6b3a764000085613544565b905082818161258b5761258b6136d9565b05949350505050565b6000806125a18385613544565b9050670de0b6b3a76400008161258b565b60008260018161218a670de0b6b3a76400008661388c565b6000818312156126075760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610515565b611b0e82846137de565b6000806126228787878760006124b4565b905060006126326110b783612acc565b9050836126446201518061016d61388c565b61264e908361388c565b61265891906137ca565b98975050505050505050565b6000670de0b6b3a7640000820361268e5760405163a9c8b14d60e01b815260040160405180910390fd5b60006126ac6126a584670de0b6b3a76400006137de565b8490612565565b9050611b0e81612acc565b6000680238fd42c5cf03ffff1982121580156126dc575068070c1cc73b00c800008213155b61271b5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610515565b600082121561275357612730826000036126b7565b6a0c097ce7bc90715b34b9f160241b8161274c5761274c6136d9565b0592915050565b60006806f05b59d3b2000000831261279157506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6127c7565b6803782dace9d900000083126127c357506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806127c7565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126128175768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612853576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261288d57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126128c7576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261290057680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126129395768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612972576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126129ab5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000808213612b0d5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610515565b670c7d713b49da000082138015612b2b5750670f43fc2c04ee000082125b15612b4f57670de0b6b3a7640000612b4283612b96565b8161274c5761274c6136d9565b610dc082612cb5565b919050565b60608315612b6c575081611b0e565b825115612b7c5782518084602001fd5b8160405162461bcd60e51b815260040161051591906138c7565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612bd757612bd76136d9565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612cf657612ced826a0c097ce7bc90715b34b9f160241b81612ce757612ce76136d9565b05612cb5565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612d415772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612d78576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612dc0576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612dfb576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612e3257693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612e6957690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612e9e5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612ec957680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612efe576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612f33576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612f67576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612f9b576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612fc457612fc46136d9565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b038116811461306d57600080fd5b50565b600060a0828403121561308257600080fd5b50919050565b60006080828403121561308257600080fd5b600080600080600061012086880312156130b357600080fd5b85356130be81613058565b945060208601356130ce81613058565b9350604086013592506130e48760608801613070565b91506101008601356001600160401b0381111561310057600080fd5b61310c88828901613088565b9150509295509295909350565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6000806000806080858703121561315157600080fd5b843561315c81613058565b9350602085013561316c81613058565b92506040850135915060608501356001600160401b0381111561318e57600080fd5b61319a87828801613088565b91505092959194509250565b600080600080608085870312156131bc57600080fd5b84356131c781613058565b935060208501356131d781613058565b93969395505050506040820135916060013590565b6000806000806000610120868803121561320557600080fd5b853561321081613058565b9450602086013561322081613058565b9350604086013592506060860135915061323d8760808801613070565b90509295509295909350565b60008060006060848603121561325e57600080fd5b835161326981613058565b602085015190935061327a81613058565b604085015190925061328b81613058565b809150509250925092565b6000602082840312156132a857600080fd5b8135611b0e81613058565b6001600160a01b039390931683526020830191909152604082015260600190565b60005b838110156132ef5781810151838201526020016132d7565b83811115610e315750506000910152565b600081518084526133188160208601602086016132d4565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061101e6060830184613300565b6000806040838503121561336657600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156133b0576133b0613377565b60405290565b8051612b5881613058565b600061012082840312156133d457600080fd5b6133dc61338d565b825181526020830151602082015260408301516040820152613400606084016133b6565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561345557600080fd5b60405160a081016001600160401b038111828210171561347757613477613377565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052600160045260246000fd5b6000808335601e198436030181126134df57600080fd5b8301803591506001600160401b038211156134f957600080fd5b60200191503681900382131561350e57600080fd5b9250929050565b60006020828403121561352757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b038184138284138082168684048611161561356a5761356a61352e565b600160ff1b60008712828116878305891216156135895761358961352e565b600087129250878205871284841616156135a5576135a561352e565b878505871281841616156135bb576135bb61352e565b505050929093029392505050565b6001600160a01b03958616815260208101949094529190931660408301526060820192909252901515608082015260a00190565b60006001820161360f5761360f61352e565b5060010190565b6040815260006136296040830185613300565b90508260208301529392505050565b60006020828403121561364a57600080fd5b81516001600160401b038082111561366157600080fd5b818401915084601f83011261367557600080fd5b81518181111561368757613687613377565b604051601f8201601f19908116603f011681019083821181831017156136af576136af613377565b816040528281528760208487010111156136c857600080fd5b610c308360208301602088016132d4565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b0383811680613709576137096136d9565b92169190910492915050565b6000828210156137275761372761352e565b500390565b60006020828403121561373e57600080fd5b81518015158114611b0e57600080fd5b602080825260159082015274696e76616c696420617070726f7820706172616d7360581b604082015260600190565b600082198211156137905761379061352e565b500190565b6001600160a01b03929092168252602082015260400190565b600082516137c08184602087016132d4565b9190910192915050565b6000826137d9576137d96136d9565b500490565b60008083128015600160ff1b8501841216156137fc576137fc61352e565b6001600160ff1b03840183138116156138175761381761352e565b50500390565b60008261382c5761382c6136d9565b600160ff1b8214600019841416156138465761384661352e565b500590565b600080821280156001600160ff1b038490038513161561386d5761386d61352e565b600160ff1b83900384128116156138865761388661352e565b50500190565b60008160001904831182151516156138a6576138a661352e565b500290565b6000600160ff1b82016138c0576138c061352e565b5060000390565b602081526000611b0e602083018461330056fec63e731085b5bdd8931c46f55e56e122352a12d4d2cd895116684fbe1292b127416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c656478e08a1e3c7a72f78d2c8ad8254052914bad73f8c681dbdc4267d0bb8ac9423ca2646970667358221220473765bbef6d690f8b524aa1aac5068a9e4e8e4c2d167f7f87b9fe6b8fb14a5164736f6c634300080f0033",
673
- "linkReferences": {
674
- "contracts/libraries/kyberswap/AggregationRouterHelper.sol": {
675
- "AggregationRouterHelper": [
676
- {
677
- "length": 20,
678
- "start": 4983
679
- }
680
- ]
681
- }
682
- },
683
- "deployedLinkReferences": {
684
- "contracts/libraries/kyberswap/AggregationRouterHelper.sol": {
685
- "AggregationRouterHelper": [
686
- {
687
- "length": 20,
688
- "start": 4822
689
- }
690
- ]
691
- }
692
- }
693
- }