@pendle/core-v2 2.20.0 → 2.21.0-tradingbot

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 (665) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +0 -19
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -21
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  50. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  113. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +816 -0
  115. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1411 -0
  117. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +2240 -0
  119. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +1641 -0
  121. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.json +154 -0
  125. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  127. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  128. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  129. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.dbg.json +4 -0
  130. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.json +262 -0
  131. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  138. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  141. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  143. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  145. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  154. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  158. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  159. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +6 -82
  209. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  211. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +4 -42
  214. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -19
  227. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -19
  233. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +32 -146
  243. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  261. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +679 -0
  262. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  263. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +698 -0
  264. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  265. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +745 -0
  266. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  267. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +679 -0
  268. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  269. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +794 -0
  270. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  271. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +351 -0
  272. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  274. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  276. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  278. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  279. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  280. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  281. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  285. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +8 -84
  291. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +6 -44
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  299. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  300. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  301. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  302. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  303. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  304. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  305. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  306. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  307. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  308. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  309. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  310. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  311. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  313. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  315. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  318. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  320. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  322. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  324. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  329. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  330. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  331. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  333. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  334. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  335. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  336. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  337. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  338. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  339. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +0 -4
  340. package/contracts/core/Market/PendleGauge.sol +2 -3
  341. package/contracts/core/StandardizedYield/PYIndex.sol +14 -0
  342. package/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol +265 -0
  343. package/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol +333 -0
  344. package/contracts/core/TradingBot/LongYieldTradingBot.sol +144 -0
  345. package/contracts/core/TradingBot/TradingBotBase.sol +253 -0
  346. package/contracts/core/TradingBot/libraries/BotSimulationLib.sol +99 -0
  347. package/contracts/core/TradingBot/libraries/LongYieldActionLib.sol +308 -0
  348. package/contracts/core/TradingBot/libraries/MarketExtLib.sol +272 -0
  349. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +78 -0
  350. package/contracts/core/TradingBot/libraries/TvlLib.sol +69 -0
  351. package/contracts/core/libraries/Errors.sol +12 -0
  352. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  353. package/contracts/interfaces/IPActionInfoStatic.sol +7 -8
  354. package/contracts/interfaces/IPActionMarketAuxStatic.sol +14 -21
  355. package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -70
  356. package/contracts/interfaces/IPActionMintRedeemStatic.sol +11 -23
  357. package/contracts/interfaces/IPGauge.sol +0 -3
  358. package/contracts/interfaces/IPRouterStatic.sol +1 -5
  359. package/contracts/interfaces/IStandardizedYield.sol +10 -15
  360. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +76 -0
  361. package/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol +8 -0
  362. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +74 -0
  363. package/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol +7 -0
  364. package/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol +27 -0
  365. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +54 -0
  366. package/contracts/offchain-helpers/BulkSellerOffchain.sol +8 -11
  367. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
  368. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +37 -96
  369. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +80 -88
  370. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +14 -43
  371. package/contracts/oracles/PendleLpOracleLib.sol +1 -1
  372. package/deployments/core.ts +29 -0
  373. package/deployments/index.ts +4 -0
  374. package/deployments/markets/ape-june-29-2023.ts +3 -0
  375. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  376. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  377. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  378. package/deployments/markets/index.ts +17 -0
  379. package/deployments/markets/looks-march-30-2023.ts +3 -0
  380. package/deployments/markets/steth-june-29-2023.ts +3 -0
  381. package/deployments/markets/steth-march-30-2023.ts +3 -0
  382. package/deployments/markets/types.ts +9 -0
  383. package/deployments/misc.ts +23 -0
  384. package/package.json +1 -1
  385. package/typechain-types/ActionMarketAuxStatic.ts +38 -191
  386. package/typechain-types/ActionMarketCoreStatic.ts +134 -600
  387. package/typechain-types/ActionMintRedeemStatic.ts +26 -92
  388. package/typechain-types/AuraEthxBbAWethSY.ts +1532 -0
  389. package/typechain-types/AuraSwEthBbAWethSYV2.ts +1532 -0
  390. package/typechain-types/AutomateReady.ts +102 -0
  391. package/typechain-types/AutomationBase.ts +57 -0
  392. package/typechain-types/AutomationCompatible.ts +140 -0
  393. package/typechain-types/AutomationCompatibleInterface.ts +141 -0
  394. package/typechain-types/BotDecisionHelperBase.ts +508 -0
  395. package/typechain-types/ChainlinkRelayerAutomation.ts +305 -0
  396. package/typechain-types/ChainlinkRelayerGelato.ts +311 -0
  397. package/typechain-types/ComposableStablePreviewProxy.ts +352 -0
  398. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  399. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  400. package/typechain-types/{CamelotV1Preview.ts → HLPPricingHelper.ts} +50 -84
  401. package/typechain-types/IAnkrBNB.ts +150 -0
  402. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  403. package/typechain-types/IAutomate.ts +203 -0
  404. package/typechain-types/IBotDecisionHelper.ts +208 -239
  405. package/typechain-types/IEUSD.ts +194 -0
  406. package/typechain-types/IFluxErc20.ts +298 -0
  407. package/typechain-types/IFluxInterestRateModel.ts +113 -0
  408. package/typechain-types/IHLPStaking.ts +154 -0
  409. package/typechain-types/IHMXCalculator.ts +96 -0
  410. package/typechain-types/IHMXCompounder.ts +122 -0
  411. package/typechain-types/IHMXStaking.ts +165 -0
  412. package/typechain-types/IHMXVester.ts +163 -0
  413. package/typechain-types/IInterestUSTP.ts +156 -0
  414. package/typechain-types/IKyberElasticFactory.ts +734 -0
  415. package/typechain-types/IKyberElasticPool.ts +514 -0
  416. package/typechain-types/IKyberElasticRouter.ts +315 -0
  417. package/typechain-types/IKyberLiquidityMining.ts +968 -0
  418. package/typechain-types/IKyberMathHelper.ts +231 -0
  419. package/typechain-types/IKyberPositionManager.ts +773 -0
  420. package/typechain-types/ILongYieldDecisionHelper.ts +512 -0
  421. package/typechain-types/ILongYieldTradingBot.ts +197 -502
  422. package/typechain-types/IOpsProxyFactory.ts +93 -0
  423. package/typechain-types/IPActionMarketAuxStatic.ts +38 -191
  424. package/typechain-types/IPActionMarketCoreStatic.ts +134 -600
  425. package/typechain-types/IPActionMintRedeemStatic.ts +26 -92
  426. package/typechain-types/IPComposableStablePreview.ts +217 -0
  427. package/typechain-types/IPExternalRewardDistributor.ts +198 -0
  428. package/typechain-types/IPGauge.ts +3 -23
  429. package/typechain-types/IPMarket.ts +0 -18
  430. package/typechain-types/IPMarketFactoryV2.ts +253 -0
  431. package/typechain-types/{ICamelotSY.ts → IPOracleForSy.ts} +13 -26
  432. package/typechain-types/IPRouterStatic.ts +197 -888
  433. package/typechain-types/IRebasingUSTP.ts +133 -0
  434. package/typechain-types/IShortYieldDecisionHelper.ts +476 -0
  435. package/typechain-types/IShortYieldTradingBot.ts +574 -0
  436. package/typechain-types/IStaderStakeManager.ts +700 -0
  437. package/typechain-types/{IExecutorHelper2.ts → ISwETH.ts} +40 -32
  438. package/typechain-types/ITaskTreasuryUpgradable.ts +160 -0
  439. package/typechain-types/ITradingBotBase.ts +97 -247
  440. package/typechain-types/IUSTP.ts +127 -0
  441. package/typechain-types/IVersion.ts +81 -0
  442. package/typechain-types/KyberMathHelper.ts +583 -0
  443. package/typechain-types/KyberNftManagerBase.ts +364 -0
  444. package/typechain-types/LegacyNFTHelper.ts +87 -0
  445. package/typechain-types/LongYieldActionLib.ts +57 -0
  446. package/typechain-types/LongYieldDecisionHelper.ts +663 -0
  447. package/typechain-types/LongYieldTradingBot.ts +1374 -437
  448. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  449. package/typechain-types/PendleAuraWethVethSY.ts +1511 -0
  450. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  451. package/typechain-types/PendleBridgedLSDSY.ts +1222 -0
  452. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  453. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  454. package/typechain-types/{PendleBinanceEth.ts → PendleERC4626SY.ts} +18 -31
  455. package/typechain-types/PendleETHXSY.ts +1231 -0
  456. package/typechain-types/PendleEUSDSY.ts +1216 -0
  457. package/typechain-types/PendleExternalRewardDistributor.ts +596 -0
  458. package/typechain-types/PendleFluxLendingSY.ts +1232 -0
  459. package/typechain-types/PendleGauge.ts +3 -23
  460. package/typechain-types/PendleGaugeV2.ts +225 -0
  461. package/typechain-types/PendleHlpSY.ts +1517 -0
  462. package/typechain-types/PendleIUSTPSY.ts +1255 -0
  463. package/typechain-types/{PendleCamelotV1SY.ts → PendleKyberElasticSY.ts} +385 -516
  464. package/typechain-types/PendleMantleStakedEthSY.ts +1222 -0
  465. package/typechain-types/PendleMarket.ts +0 -18
  466. package/typechain-types/PendleMarketFactoryV2.ts +932 -0
  467. package/typechain-types/PendleMarketV2.ts +1311 -0
  468. package/typechain-types/PendleMulticallV2.ts +241 -0
  469. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  470. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  471. package/typechain-types/StarNFTV1.ts +880 -0
  472. package/typechain-types/SwETHSY.ts +1216 -0
  473. package/typechain-types/TradingBotBase.ts +1275 -157
  474. package/typechain-types/TvlLib.ts +215 -0
  475. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  476. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  477. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +7 -83
  478. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  479. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +5 -43
  480. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  481. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  482. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  483. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  484. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  485. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  486. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1244 -0
  487. package/typechain-types/factories/{ICamelotSY__factory.ts → AutomateReady__factory.ts} +9 -9
  488. package/typechain-types/factories/AutomationBase__factory.ts +69 -0
  489. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +67 -0
  490. package/typechain-types/factories/AutomationCompatible__factory.ts +72 -0
  491. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +835 -0
  492. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  493. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  494. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  495. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  496. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +238 -0
  497. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +263 -0
  498. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  499. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  500. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  501. package/typechain-types/factories/Errors__factory.ts +150 -1
  502. package/typechain-types/factories/HLPPricingHelper__factory.ts +311 -0
  503. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  504. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  505. package/typechain-types/factories/IAutomate__factory.ts +126 -0
  506. package/typechain-types/factories/IBotDecisionHelper__factory.ts +377 -615
  507. package/typechain-types/factories/IEUSD__factory.ts +101 -0
  508. package/typechain-types/factories/IFluxErc20__factory.ts +178 -0
  509. package/typechain-types/factories/{IExecutorHelper2__factory.ts → IFluxInterestRateModel__factory.ts} +19 -15
  510. package/typechain-types/factories/IHLPStaking__factory.ts +67 -0
  511. package/typechain-types/factories/IHMXCalculator__factory.ts +45 -0
  512. package/typechain-types/factories/IHMXCompounder__factory.ts +59 -0
  513. package/typechain-types/factories/IHMXStaking__factory.ts +78 -0
  514. package/typechain-types/factories/IHMXVester__factory.ts +85 -0
  515. package/typechain-types/factories/IInterestUSTP__factory.ts +75 -0
  516. package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
  517. package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
  518. package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
  519. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
  520. package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
  521. package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
  522. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +717 -0
  523. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +250 -658
  524. package/typechain-types/factories/IOpsProxyFactory__factory.ts +50 -0
  525. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +6 -82
  526. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  527. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +4 -42
  528. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  529. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +128 -0
  530. package/typechain-types/factories/IPGauge__factory.ts +0 -19
  531. package/typechain-types/factories/IPMarketFactoryV2__factory.ts +181 -0
  532. package/typechain-types/factories/IPMarket__factory.ts +0 -19
  533. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  534. package/typechain-types/factories/IPRouterStatic__factory.ts +32 -146
  535. package/typechain-types/factories/IRebasingUSTP__factory.ts +49 -0
  536. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +698 -0
  537. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +813 -0
  538. package/typechain-types/factories/IStaderStakeManager__factory.ts +435 -0
  539. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  540. package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +76 -0
  541. package/typechain-types/factories/ITradingBotBase__factory.ts +138 -227
  542. package/typechain-types/factories/IUSTP__factory.ts +46 -0
  543. package/typechain-types/factories/IVersion__factory.ts +36 -0
  544. package/typechain-types/factories/KyberMathHelper__factory.ts +417 -0
  545. package/typechain-types/factories/KyberNftManagerBase__factory.ts +279 -0
  546. package/typechain-types/factories/LegacyNFTHelper__factory.ts +83 -0
  547. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  548. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1468 -0
  549. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1153 -748
  550. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  551. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  552. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  553. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  554. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  555. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  556. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  557. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  558. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1231 -0
  559. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  560. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  561. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1064 -0
  562. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  563. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  564. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  565. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  566. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  567. package/typechain-types/factories/PendleERC4626SY__factory.ts +1030 -0
  568. package/typechain-types/factories/PendleETHXSY__factory.ts +1059 -0
  569. package/typechain-types/factories/PendleEUSDSY__factory.ts +1022 -0
  570. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +437 -0
  571. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  572. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  573. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1049 -0
  574. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  575. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  576. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  577. package/typechain-types/factories/{CamelotV1LpHelper__factory.ts → PendleGaugeV2__factory.ts} +50 -53
  578. package/typechain-types/factories/PendleGauge__factory.ts +0 -19
  579. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  580. package/typechain-types/factories/PendleHlpSY__factory.ts +1283 -0
  581. package/typechain-types/factories/PendleIUSTPSY__factory.ts +1061 -0
  582. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1512 -0
  583. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  584. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  585. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  586. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +770 -0
  587. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  588. package/typechain-types/factories/PendleMarketV2__factory.ts +1299 -0
  589. package/typechain-types/factories/PendleMarket__factory.ts +1 -20
  590. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  591. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  592. package/typechain-types/factories/PendleMulticallV2__factory.ts +212 -0
  593. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  594. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  595. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  596. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  597. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  598. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  599. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  600. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  601. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  602. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  603. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  604. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  605. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  606. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  607. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  608. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  609. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  610. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  611. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  612. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  613. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  614. package/typechain-types/factories/SAPE__factory.ts +1 -1
  615. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  616. package/typechain-types/factories/StarNFTV1__factory.ts +584 -0
  617. package/typechain-types/factories/SwETHSY__factory.ts +1022 -0
  618. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  619. package/typechain-types/factories/TradingBotBase__factory.ts +1258 -230
  620. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  621. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  622. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  623. package/typechain-types/hardhat.d.ts +115 -232
  624. package/typechain-types/index.ts +34 -50
  625. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  626. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -976
  627. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +0 -4
  628. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +0 -979
  629. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +0 -4
  630. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.json +0 -42
  631. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  632. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  633. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +0 -120
  634. package/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol +0 -108
  635. package/contracts/interfaces/BinanceEth/IWBETH.sol +0 -9
  636. package/contracts/offchain-helpers/PtAndLpToAsset.sol +0 -62
  637. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2025.json +0 -10
  638. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.json +0 -10
  639. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2025.json +0 -10
  640. package/deployments/56-core.json +0 -28
  641. package/deployments/56-markets/THENA-FRXETH-ETH-JUNE2024.json +0 -10
  642. package/deployments/56-markets/WBETH-DEC2024.json +0 -10
  643. package/deployments/56-offchain-helper.json +0 -4
  644. package/typechain-types/BotActionCallback.ts +0 -763
  645. package/typechain-types/BotActionHelper.ts +0 -763
  646. package/typechain-types/BotDecisionHelper.ts +0 -527
  647. package/typechain-types/BotDecisionLib.ts +0 -335
  648. package/typechain-types/CamelotV1LpHelper.ts +0 -203
  649. package/typechain-types/IExecutorHelper1.ts +0 -643
  650. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  651. package/typechain-types/PendleSwapArbitrum.ts +0 -126
  652. package/typechain-types/PendleSwapEthereum.ts +0 -126
  653. package/typechain-types/TradingBotOffchain.ts +0 -568
  654. package/typechain-types/factories/BotActionCallback__factory.ts +0 -678
  655. package/typechain-types/factories/BotActionHelper__factory.ts +0 -678
  656. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1123
  657. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  658. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  659. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  660. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  661. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  662. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1595
  663. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  664. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
  665. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
@@ -0,0 +1,1411 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LongYieldDecisionHelper",
4
+ "sourceName": "contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ApproxFail",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "guessMin",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "guessMax",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "eps",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "ApproxParamsInvalid",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "BotBinarySearchFail",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "action",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "guessMin",
47
+ "type": "uint256"
48
+ },
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "guessMax",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "name": "BotBinarySearchInvalidRange",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "int256",
62
+ "name": "exchangeRate",
63
+ "type": "int256"
64
+ }
65
+ ],
66
+ "name": "MarketExchangeRateBelowOne",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "MarketExpired",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "int256",
78
+ "name": "currentAmount",
79
+ "type": "int256"
80
+ },
81
+ {
82
+ "internalType": "int256",
83
+ "name": "requiredAmount",
84
+ "type": "int256"
85
+ }
86
+ ],
87
+ "name": "MarketInsufficientPtForTrade",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "MarketProportionMustNotEqualOne",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "internalType": "int256",
99
+ "name": "proportion",
100
+ "type": "int256"
101
+ },
102
+ {
103
+ "internalType": "int256",
104
+ "name": "maxProportion",
105
+ "type": "int256"
106
+ }
107
+ ],
108
+ "name": "MarketProportionTooHigh",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "int256",
115
+ "name": "rateScalar",
116
+ "type": "int256"
117
+ }
118
+ ],
119
+ "name": "MarketRateScalarBelowZero",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "MarketZeroAmountsInput",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "MarketZeroAmountsOutput",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "MarketZeroLnImpliedRate",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "int256",
141
+ "name": "totalPt",
142
+ "type": "int256"
143
+ },
144
+ {
145
+ "internalType": "int256",
146
+ "name": "totalAsset",
147
+ "type": "int256"
148
+ }
149
+ ],
150
+ "name": "MarketZeroTotalPtOrTotalAsset",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [],
155
+ "name": "INF",
156
+ "outputs": [
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "stateMutability": "view",
164
+ "type": "function"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "MINIMAL_EPS",
169
+ "outputs": [
170
+ {
171
+ "internalType": "uint256",
172
+ "name": "",
173
+ "type": "uint256"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [
181
+ {
182
+ "components": [
183
+ {
184
+ "components": [
185
+ {
186
+ "internalType": "int256",
187
+ "name": "totalPt",
188
+ "type": "int256"
189
+ },
190
+ {
191
+ "internalType": "int256",
192
+ "name": "totalSy",
193
+ "type": "int256"
194
+ },
195
+ {
196
+ "internalType": "int256",
197
+ "name": "totalLp",
198
+ "type": "int256"
199
+ },
200
+ {
201
+ "internalType": "address",
202
+ "name": "treasury",
203
+ "type": "address"
204
+ },
205
+ {
206
+ "internalType": "int256",
207
+ "name": "scalarRoot",
208
+ "type": "int256"
209
+ },
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "expiry",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "internalType": "uint256",
217
+ "name": "lnFeeRateRoot",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "internalType": "uint256",
222
+ "name": "reserveFeePercent",
223
+ "type": "uint256"
224
+ },
225
+ {
226
+ "internalType": "uint256",
227
+ "name": "lastLnImpliedRate",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "internalType": "struct MarketState",
232
+ "name": "state",
233
+ "type": "tuple"
234
+ },
235
+ {
236
+ "internalType": "PYIndex",
237
+ "name": "index",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "blockTime",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "internalType": "struct MarketExtState",
247
+ "name": "marketExt",
248
+ "type": "tuple"
249
+ },
250
+ {
251
+ "internalType": "enum TradeActionType",
252
+ "name": "action",
253
+ "type": "uint8"
254
+ },
255
+ {
256
+ "internalType": "uint256",
257
+ "name": "botParam",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "name": "_calcTradeActionAmountOutAndIntParams",
262
+ "outputs": [
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "amountOut",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "intParams",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "pure",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "botAddress",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "name": "getBotPosition",
286
+ "outputs": [
287
+ {
288
+ "components": [
289
+ {
290
+ "components": [
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "lpBalance",
294
+ "type": "uint256"
295
+ },
296
+ {
297
+ "internalType": "uint256",
298
+ "name": "ytBalance",
299
+ "type": "uint256"
300
+ },
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "ptBalance",
304
+ "type": "uint256"
305
+ },
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "syBalance",
309
+ "type": "uint256"
310
+ },
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "buyBins",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "internalType": "struct BotState",
318
+ "name": "botState",
319
+ "type": "tuple"
320
+ },
321
+ {
322
+ "components": [
323
+ {
324
+ "components": [
325
+ {
326
+ "internalType": "int256",
327
+ "name": "totalPt",
328
+ "type": "int256"
329
+ },
330
+ {
331
+ "internalType": "int256",
332
+ "name": "totalSy",
333
+ "type": "int256"
334
+ },
335
+ {
336
+ "internalType": "int256",
337
+ "name": "totalLp",
338
+ "type": "int256"
339
+ },
340
+ {
341
+ "internalType": "address",
342
+ "name": "treasury",
343
+ "type": "address"
344
+ },
345
+ {
346
+ "internalType": "int256",
347
+ "name": "scalarRoot",
348
+ "type": "int256"
349
+ },
350
+ {
351
+ "internalType": "uint256",
352
+ "name": "expiry",
353
+ "type": "uint256"
354
+ },
355
+ {
356
+ "internalType": "uint256",
357
+ "name": "lnFeeRateRoot",
358
+ "type": "uint256"
359
+ },
360
+ {
361
+ "internalType": "uint256",
362
+ "name": "reserveFeePercent",
363
+ "type": "uint256"
364
+ },
365
+ {
366
+ "internalType": "uint256",
367
+ "name": "lastLnImpliedRate",
368
+ "type": "uint256"
369
+ }
370
+ ],
371
+ "internalType": "struct MarketState",
372
+ "name": "state",
373
+ "type": "tuple"
374
+ },
375
+ {
376
+ "internalType": "PYIndex",
377
+ "name": "index",
378
+ "type": "uint256"
379
+ },
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "blockTime",
383
+ "type": "uint256"
384
+ }
385
+ ],
386
+ "internalType": "struct MarketExtState",
387
+ "name": "marketExt",
388
+ "type": "tuple"
389
+ },
390
+ {
391
+ "components": [
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "buyYtIy",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "uint256",
399
+ "name": "sellYtIy",
400
+ "type": "uint256"
401
+ },
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "targetSyRatio",
405
+ "type": "uint256"
406
+ },
407
+ {
408
+ "internalType": "uint256",
409
+ "name": "bufferSyRatio",
410
+ "type": "uint256"
411
+ },
412
+ {
413
+ "internalType": "uint256",
414
+ "name": "minYtPtRatio",
415
+ "type": "uint256"
416
+ },
417
+ {
418
+ "internalType": "uint256",
419
+ "name": "numOfBins",
420
+ "type": "uint256"
421
+ }
422
+ ],
423
+ "internalType": "struct TradingSpecs",
424
+ "name": "specs",
425
+ "type": "tuple"
426
+ }
427
+ ],
428
+ "internalType": "struct StrategyData",
429
+ "name": "strategyData",
430
+ "type": "tuple"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "tvlInSy",
435
+ "type": "uint256"
436
+ },
437
+ {
438
+ "internalType": "uint256",
439
+ "name": "iy",
440
+ "type": "uint256"
441
+ },
442
+ {
443
+ "internalType": "uint256",
444
+ "name": "floatingSyRatio",
445
+ "type": "uint256"
446
+ },
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "currentYtPtRatio",
450
+ "type": "uint256"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [
458
+ {
459
+ "components": [
460
+ {
461
+ "components": [
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "lpBalance",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "ytBalance",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "ptBalance",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "syBalance",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "buyBins",
485
+ "type": "uint256"
486
+ }
487
+ ],
488
+ "internalType": "struct BotState",
489
+ "name": "botState",
490
+ "type": "tuple"
491
+ },
492
+ {
493
+ "components": [
494
+ {
495
+ "components": [
496
+ {
497
+ "internalType": "int256",
498
+ "name": "totalPt",
499
+ "type": "int256"
500
+ },
501
+ {
502
+ "internalType": "int256",
503
+ "name": "totalSy",
504
+ "type": "int256"
505
+ },
506
+ {
507
+ "internalType": "int256",
508
+ "name": "totalLp",
509
+ "type": "int256"
510
+ },
511
+ {
512
+ "internalType": "address",
513
+ "name": "treasury",
514
+ "type": "address"
515
+ },
516
+ {
517
+ "internalType": "int256",
518
+ "name": "scalarRoot",
519
+ "type": "int256"
520
+ },
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "expiry",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "internalType": "uint256",
528
+ "name": "lnFeeRateRoot",
529
+ "type": "uint256"
530
+ },
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "reserveFeePercent",
534
+ "type": "uint256"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "lastLnImpliedRate",
539
+ "type": "uint256"
540
+ }
541
+ ],
542
+ "internalType": "struct MarketState",
543
+ "name": "state",
544
+ "type": "tuple"
545
+ },
546
+ {
547
+ "internalType": "PYIndex",
548
+ "name": "index",
549
+ "type": "uint256"
550
+ },
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "blockTime",
554
+ "type": "uint256"
555
+ }
556
+ ],
557
+ "internalType": "struct MarketExtState",
558
+ "name": "marketExt",
559
+ "type": "tuple"
560
+ },
561
+ {
562
+ "components": [
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "buyYtIy",
566
+ "type": "uint256"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "sellYtIy",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "targetSyRatio",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "bufferSyRatio",
581
+ "type": "uint256"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "minYtPtRatio",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "numOfBins",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "internalType": "struct TradingSpecs",
595
+ "name": "specs",
596
+ "type": "tuple"
597
+ }
598
+ ],
599
+ "internalType": "struct StrategyData",
600
+ "name": "strategyData",
601
+ "type": "tuple"
602
+ }
603
+ ],
604
+ "name": "getCurrentBin",
605
+ "outputs": [
606
+ {
607
+ "internalType": "int256",
608
+ "name": "",
609
+ "type": "int256"
610
+ }
611
+ ],
612
+ "stateMutability": "pure",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "address",
619
+ "name": "botAddress",
620
+ "type": "address"
621
+ }
622
+ ],
623
+ "name": "getRebalanceAction",
624
+ "outputs": [
625
+ {
626
+ "components": [
627
+ {
628
+ "internalType": "enum RebalanceType",
629
+ "name": "rebalanceType",
630
+ "type": "uint8"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "amountIn",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "amountOut",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "amountOut2",
645
+ "type": "uint256"
646
+ }
647
+ ],
648
+ "internalType": "struct IBotDecisionHelper.RebalanceOutput",
649
+ "name": "output",
650
+ "type": "tuple"
651
+ }
652
+ ],
653
+ "stateMutability": "view",
654
+ "type": "function"
655
+ },
656
+ {
657
+ "inputs": [
658
+ {
659
+ "internalType": "address",
660
+ "name": "botAddress",
661
+ "type": "address"
662
+ }
663
+ ],
664
+ "name": "getTradeAction",
665
+ "outputs": [
666
+ {
667
+ "components": [
668
+ {
669
+ "internalType": "enum TradeActionType",
670
+ "name": "action",
671
+ "type": "uint8"
672
+ },
673
+ {
674
+ "internalType": "int256",
675
+ "name": "currentBin",
676
+ "type": "int256"
677
+ },
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "targetIy",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "guessBotParams",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "guessIntParams",
691
+ "type": "uint256"
692
+ },
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "amountOut",
696
+ "type": "uint256"
697
+ }
698
+ ],
699
+ "internalType": "struct IBotDecisionHelper.TradeResult",
700
+ "name": "res",
701
+ "type": "tuple"
702
+ }
703
+ ],
704
+ "stateMutability": "view",
705
+ "type": "function"
706
+ },
707
+ {
708
+ "inputs": [
709
+ {
710
+ "components": [
711
+ {
712
+ "components": [
713
+ {
714
+ "internalType": "uint256",
715
+ "name": "lpBalance",
716
+ "type": "uint256"
717
+ },
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "ytBalance",
721
+ "type": "uint256"
722
+ },
723
+ {
724
+ "internalType": "uint256",
725
+ "name": "ptBalance",
726
+ "type": "uint256"
727
+ },
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "syBalance",
731
+ "type": "uint256"
732
+ },
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "buyBins",
736
+ "type": "uint256"
737
+ }
738
+ ],
739
+ "internalType": "struct BotState",
740
+ "name": "botState",
741
+ "type": "tuple"
742
+ },
743
+ {
744
+ "components": [
745
+ {
746
+ "components": [
747
+ {
748
+ "internalType": "int256",
749
+ "name": "totalPt",
750
+ "type": "int256"
751
+ },
752
+ {
753
+ "internalType": "int256",
754
+ "name": "totalSy",
755
+ "type": "int256"
756
+ },
757
+ {
758
+ "internalType": "int256",
759
+ "name": "totalLp",
760
+ "type": "int256"
761
+ },
762
+ {
763
+ "internalType": "address",
764
+ "name": "treasury",
765
+ "type": "address"
766
+ },
767
+ {
768
+ "internalType": "int256",
769
+ "name": "scalarRoot",
770
+ "type": "int256"
771
+ },
772
+ {
773
+ "internalType": "uint256",
774
+ "name": "expiry",
775
+ "type": "uint256"
776
+ },
777
+ {
778
+ "internalType": "uint256",
779
+ "name": "lnFeeRateRoot",
780
+ "type": "uint256"
781
+ },
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "reserveFeePercent",
785
+ "type": "uint256"
786
+ },
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "lastLnImpliedRate",
790
+ "type": "uint256"
791
+ }
792
+ ],
793
+ "internalType": "struct MarketState",
794
+ "name": "state",
795
+ "type": "tuple"
796
+ },
797
+ {
798
+ "internalType": "PYIndex",
799
+ "name": "index",
800
+ "type": "uint256"
801
+ },
802
+ {
803
+ "internalType": "uint256",
804
+ "name": "blockTime",
805
+ "type": "uint256"
806
+ }
807
+ ],
808
+ "internalType": "struct MarketExtState",
809
+ "name": "marketExt",
810
+ "type": "tuple"
811
+ },
812
+ {
813
+ "components": [
814
+ {
815
+ "internalType": "uint256",
816
+ "name": "buyYtIy",
817
+ "type": "uint256"
818
+ },
819
+ {
820
+ "internalType": "uint256",
821
+ "name": "sellYtIy",
822
+ "type": "uint256"
823
+ },
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "targetSyRatio",
827
+ "type": "uint256"
828
+ },
829
+ {
830
+ "internalType": "uint256",
831
+ "name": "bufferSyRatio",
832
+ "type": "uint256"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "minYtPtRatio",
837
+ "type": "uint256"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "numOfBins",
842
+ "type": "uint256"
843
+ }
844
+ ],
845
+ "internalType": "struct TradingSpecs",
846
+ "name": "specs",
847
+ "type": "tuple"
848
+ }
849
+ ],
850
+ "internalType": "struct StrategyData",
851
+ "name": "strategyData",
852
+ "type": "tuple"
853
+ },
854
+ {
855
+ "internalType": "enum TradeActionType",
856
+ "name": "action",
857
+ "type": "uint8"
858
+ },
859
+ {
860
+ "internalType": "uint256",
861
+ "name": "botParam",
862
+ "type": "uint256"
863
+ },
864
+ {
865
+ "components": [
866
+ {
867
+ "internalType": "uint256",
868
+ "name": "guessMin",
869
+ "type": "uint256"
870
+ },
871
+ {
872
+ "internalType": "uint256",
873
+ "name": "guessMax",
874
+ "type": "uint256"
875
+ },
876
+ {
877
+ "internalType": "uint256",
878
+ "name": "guessOffchain",
879
+ "type": "uint256"
880
+ },
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "maxIteration",
884
+ "type": "uint256"
885
+ },
886
+ {
887
+ "internalType": "uint256",
888
+ "name": "eps",
889
+ "type": "uint256"
890
+ }
891
+ ],
892
+ "internalType": "struct ApproxParams",
893
+ "name": "intParams",
894
+ "type": "tuple"
895
+ }
896
+ ],
897
+ "name": "previewAction",
898
+ "outputs": [
899
+ {
900
+ "internalType": "bool",
901
+ "name": "success",
902
+ "type": "bool"
903
+ },
904
+ {
905
+ "components": [
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "lpBalance",
909
+ "type": "uint256"
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "ytBalance",
914
+ "type": "uint256"
915
+ },
916
+ {
917
+ "internalType": "uint256",
918
+ "name": "ptBalance",
919
+ "type": "uint256"
920
+ },
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "syBalance",
924
+ "type": "uint256"
925
+ },
926
+ {
927
+ "internalType": "uint256",
928
+ "name": "buyBins",
929
+ "type": "uint256"
930
+ }
931
+ ],
932
+ "internalType": "struct BotState",
933
+ "name": "bot",
934
+ "type": "tuple"
935
+ },
936
+ {
937
+ "components": [
938
+ {
939
+ "components": [
940
+ {
941
+ "internalType": "int256",
942
+ "name": "totalPt",
943
+ "type": "int256"
944
+ },
945
+ {
946
+ "internalType": "int256",
947
+ "name": "totalSy",
948
+ "type": "int256"
949
+ },
950
+ {
951
+ "internalType": "int256",
952
+ "name": "totalLp",
953
+ "type": "int256"
954
+ },
955
+ {
956
+ "internalType": "address",
957
+ "name": "treasury",
958
+ "type": "address"
959
+ },
960
+ {
961
+ "internalType": "int256",
962
+ "name": "scalarRoot",
963
+ "type": "int256"
964
+ },
965
+ {
966
+ "internalType": "uint256",
967
+ "name": "expiry",
968
+ "type": "uint256"
969
+ },
970
+ {
971
+ "internalType": "uint256",
972
+ "name": "lnFeeRateRoot",
973
+ "type": "uint256"
974
+ },
975
+ {
976
+ "internalType": "uint256",
977
+ "name": "reserveFeePercent",
978
+ "type": "uint256"
979
+ },
980
+ {
981
+ "internalType": "uint256",
982
+ "name": "lastLnImpliedRate",
983
+ "type": "uint256"
984
+ }
985
+ ],
986
+ "internalType": "struct MarketState",
987
+ "name": "state",
988
+ "type": "tuple"
989
+ },
990
+ {
991
+ "internalType": "PYIndex",
992
+ "name": "index",
993
+ "type": "uint256"
994
+ },
995
+ {
996
+ "internalType": "uint256",
997
+ "name": "blockTime",
998
+ "type": "uint256"
999
+ }
1000
+ ],
1001
+ "internalType": "struct MarketExtState",
1002
+ "name": "marketExt",
1003
+ "type": "tuple"
1004
+ }
1005
+ ],
1006
+ "stateMutability": "pure",
1007
+ "type": "function"
1008
+ },
1009
+ {
1010
+ "inputs": [
1011
+ {
1012
+ "components": [
1013
+ {
1014
+ "components": [
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "lpBalance",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "internalType": "uint256",
1022
+ "name": "ytBalance",
1023
+ "type": "uint256"
1024
+ },
1025
+ {
1026
+ "internalType": "uint256",
1027
+ "name": "ptBalance",
1028
+ "type": "uint256"
1029
+ },
1030
+ {
1031
+ "internalType": "uint256",
1032
+ "name": "syBalance",
1033
+ "type": "uint256"
1034
+ },
1035
+ {
1036
+ "internalType": "uint256",
1037
+ "name": "buyBins",
1038
+ "type": "uint256"
1039
+ }
1040
+ ],
1041
+ "internalType": "struct BotState",
1042
+ "name": "botState",
1043
+ "type": "tuple"
1044
+ },
1045
+ {
1046
+ "components": [
1047
+ {
1048
+ "components": [
1049
+ {
1050
+ "internalType": "int256",
1051
+ "name": "totalPt",
1052
+ "type": "int256"
1053
+ },
1054
+ {
1055
+ "internalType": "int256",
1056
+ "name": "totalSy",
1057
+ "type": "int256"
1058
+ },
1059
+ {
1060
+ "internalType": "int256",
1061
+ "name": "totalLp",
1062
+ "type": "int256"
1063
+ },
1064
+ {
1065
+ "internalType": "address",
1066
+ "name": "treasury",
1067
+ "type": "address"
1068
+ },
1069
+ {
1070
+ "internalType": "int256",
1071
+ "name": "scalarRoot",
1072
+ "type": "int256"
1073
+ },
1074
+ {
1075
+ "internalType": "uint256",
1076
+ "name": "expiry",
1077
+ "type": "uint256"
1078
+ },
1079
+ {
1080
+ "internalType": "uint256",
1081
+ "name": "lnFeeRateRoot",
1082
+ "type": "uint256"
1083
+ },
1084
+ {
1085
+ "internalType": "uint256",
1086
+ "name": "reserveFeePercent",
1087
+ "type": "uint256"
1088
+ },
1089
+ {
1090
+ "internalType": "uint256",
1091
+ "name": "lastLnImpliedRate",
1092
+ "type": "uint256"
1093
+ }
1094
+ ],
1095
+ "internalType": "struct MarketState",
1096
+ "name": "state",
1097
+ "type": "tuple"
1098
+ },
1099
+ {
1100
+ "internalType": "PYIndex",
1101
+ "name": "index",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "blockTime",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "internalType": "struct MarketExtState",
1111
+ "name": "marketExt",
1112
+ "type": "tuple"
1113
+ },
1114
+ {
1115
+ "components": [
1116
+ {
1117
+ "internalType": "uint256",
1118
+ "name": "buyYtIy",
1119
+ "type": "uint256"
1120
+ },
1121
+ {
1122
+ "internalType": "uint256",
1123
+ "name": "sellYtIy",
1124
+ "type": "uint256"
1125
+ },
1126
+ {
1127
+ "internalType": "uint256",
1128
+ "name": "targetSyRatio",
1129
+ "type": "uint256"
1130
+ },
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "bufferSyRatio",
1134
+ "type": "uint256"
1135
+ },
1136
+ {
1137
+ "internalType": "uint256",
1138
+ "name": "minYtPtRatio",
1139
+ "type": "uint256"
1140
+ },
1141
+ {
1142
+ "internalType": "uint256",
1143
+ "name": "numOfBins",
1144
+ "type": "uint256"
1145
+ }
1146
+ ],
1147
+ "internalType": "struct TradingSpecs",
1148
+ "name": "specs",
1149
+ "type": "tuple"
1150
+ }
1151
+ ],
1152
+ "internalType": "struct StrategyData",
1153
+ "name": "strategyData",
1154
+ "type": "tuple"
1155
+ },
1156
+ {
1157
+ "internalType": "enum TradeActionType",
1158
+ "name": "action",
1159
+ "type": "uint8"
1160
+ },
1161
+ {
1162
+ "internalType": "uint256",
1163
+ "name": "targetIy",
1164
+ "type": "uint256"
1165
+ },
1166
+ {
1167
+ "internalType": "uint256",
1168
+ "name": "rebalanceAdditionalCheck",
1169
+ "type": "uint256"
1170
+ },
1171
+ {
1172
+ "components": [
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "guessMin",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "guessMax",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "guessOffchain",
1186
+ "type": "uint256"
1187
+ },
1188
+ {
1189
+ "internalType": "uint256",
1190
+ "name": "maxIteration",
1191
+ "type": "uint256"
1192
+ },
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "eps",
1196
+ "type": "uint256"
1197
+ }
1198
+ ],
1199
+ "internalType": "struct ApproxParams",
1200
+ "name": "botParams",
1201
+ "type": "tuple"
1202
+ },
1203
+ {
1204
+ "components": [
1205
+ {
1206
+ "internalType": "uint256",
1207
+ "name": "guessMin",
1208
+ "type": "uint256"
1209
+ },
1210
+ {
1211
+ "internalType": "uint256",
1212
+ "name": "guessMax",
1213
+ "type": "uint256"
1214
+ },
1215
+ {
1216
+ "internalType": "uint256",
1217
+ "name": "guessOffchain",
1218
+ "type": "uint256"
1219
+ },
1220
+ {
1221
+ "internalType": "uint256",
1222
+ "name": "maxIteration",
1223
+ "type": "uint256"
1224
+ },
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "eps",
1228
+ "type": "uint256"
1229
+ }
1230
+ ],
1231
+ "internalType": "struct ApproxParams",
1232
+ "name": "intParams",
1233
+ "type": "tuple"
1234
+ }
1235
+ ],
1236
+ "name": "searchForBotParam",
1237
+ "outputs": [
1238
+ {
1239
+ "internalType": "uint256",
1240
+ "name": "",
1241
+ "type": "uint256"
1242
+ }
1243
+ ],
1244
+ "stateMutability": "pure",
1245
+ "type": "function"
1246
+ },
1247
+ {
1248
+ "inputs": [
1249
+ {
1250
+ "components": [
1251
+ {
1252
+ "components": [
1253
+ {
1254
+ "internalType": "uint256",
1255
+ "name": "lpBalance",
1256
+ "type": "uint256"
1257
+ },
1258
+ {
1259
+ "internalType": "uint256",
1260
+ "name": "ytBalance",
1261
+ "type": "uint256"
1262
+ },
1263
+ {
1264
+ "internalType": "uint256",
1265
+ "name": "ptBalance",
1266
+ "type": "uint256"
1267
+ },
1268
+ {
1269
+ "internalType": "uint256",
1270
+ "name": "syBalance",
1271
+ "type": "uint256"
1272
+ },
1273
+ {
1274
+ "internalType": "uint256",
1275
+ "name": "buyBins",
1276
+ "type": "uint256"
1277
+ }
1278
+ ],
1279
+ "internalType": "struct BotState",
1280
+ "name": "botState",
1281
+ "type": "tuple"
1282
+ },
1283
+ {
1284
+ "components": [
1285
+ {
1286
+ "components": [
1287
+ {
1288
+ "internalType": "int256",
1289
+ "name": "totalPt",
1290
+ "type": "int256"
1291
+ },
1292
+ {
1293
+ "internalType": "int256",
1294
+ "name": "totalSy",
1295
+ "type": "int256"
1296
+ },
1297
+ {
1298
+ "internalType": "int256",
1299
+ "name": "totalLp",
1300
+ "type": "int256"
1301
+ },
1302
+ {
1303
+ "internalType": "address",
1304
+ "name": "treasury",
1305
+ "type": "address"
1306
+ },
1307
+ {
1308
+ "internalType": "int256",
1309
+ "name": "scalarRoot",
1310
+ "type": "int256"
1311
+ },
1312
+ {
1313
+ "internalType": "uint256",
1314
+ "name": "expiry",
1315
+ "type": "uint256"
1316
+ },
1317
+ {
1318
+ "internalType": "uint256",
1319
+ "name": "lnFeeRateRoot",
1320
+ "type": "uint256"
1321
+ },
1322
+ {
1323
+ "internalType": "uint256",
1324
+ "name": "reserveFeePercent",
1325
+ "type": "uint256"
1326
+ },
1327
+ {
1328
+ "internalType": "uint256",
1329
+ "name": "lastLnImpliedRate",
1330
+ "type": "uint256"
1331
+ }
1332
+ ],
1333
+ "internalType": "struct MarketState",
1334
+ "name": "state",
1335
+ "type": "tuple"
1336
+ },
1337
+ {
1338
+ "internalType": "PYIndex",
1339
+ "name": "index",
1340
+ "type": "uint256"
1341
+ },
1342
+ {
1343
+ "internalType": "uint256",
1344
+ "name": "blockTime",
1345
+ "type": "uint256"
1346
+ }
1347
+ ],
1348
+ "internalType": "struct MarketExtState",
1349
+ "name": "marketExt",
1350
+ "type": "tuple"
1351
+ },
1352
+ {
1353
+ "components": [
1354
+ {
1355
+ "internalType": "uint256",
1356
+ "name": "buyYtIy",
1357
+ "type": "uint256"
1358
+ },
1359
+ {
1360
+ "internalType": "uint256",
1361
+ "name": "sellYtIy",
1362
+ "type": "uint256"
1363
+ },
1364
+ {
1365
+ "internalType": "uint256",
1366
+ "name": "targetSyRatio",
1367
+ "type": "uint256"
1368
+ },
1369
+ {
1370
+ "internalType": "uint256",
1371
+ "name": "bufferSyRatio",
1372
+ "type": "uint256"
1373
+ },
1374
+ {
1375
+ "internalType": "uint256",
1376
+ "name": "minYtPtRatio",
1377
+ "type": "uint256"
1378
+ },
1379
+ {
1380
+ "internalType": "uint256",
1381
+ "name": "numOfBins",
1382
+ "type": "uint256"
1383
+ }
1384
+ ],
1385
+ "internalType": "struct TradingSpecs",
1386
+ "name": "specs",
1387
+ "type": "tuple"
1388
+ }
1389
+ ],
1390
+ "internalType": "struct StrategyData",
1391
+ "name": "strategyData",
1392
+ "type": "tuple"
1393
+ }
1394
+ ],
1395
+ "name": "searchMaxYtToAddLiq",
1396
+ "outputs": [
1397
+ {
1398
+ "internalType": "uint256",
1399
+ "name": "maxYtToAddLiq",
1400
+ "type": "uint256"
1401
+ }
1402
+ ],
1403
+ "stateMutability": "pure",
1404
+ "type": "function"
1405
+ }
1406
+ ],
1407
+ "bytecode": "0x608060405234801561001057600080fd5b50613dd5806100206000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806303270af41461009357806306e8bac9146100b95780630c3fad99146100dd5780631cca5369146100fd5780632313dd6e14610110578063916ec547146101305780639d2a679f14610151578063a76541e51461015a578063ac4c7e841461016d578063cf209b601461017a575b600080fd5b6100a66100a13660046136f4565b61019c565b6040519081526020015b60405180910390f35b6100cc6100c7366004613763565b6103a8565b6040516100b095949392919061382b565b6100f06100eb366004613763565b61043e565b6040516100b091906138cf565b6100a661010b366004613922565b610626565b61012361011e366004613763565b610762565b6040516100b0919061393f565b61014361013e36600461397e565b610902565b6040516100b09291906139be565b6100a660001981565b6100a6610168366004613922565b610963565b6100a6655af3107a400081565b61018d6101883660046139cc565b61098a565b6040516100b093929190613a1f565b60008060405180606001604052808981526020018860028111156101c2576101c26138b9565b81526020018790526040850151909150156102105760016101ee82866040015188886080015188610a17565b60028111156101ff576101ff6138b9565b03610210575050604082015161039e565b600061022589600001518a602001518a610b39565b9050808560200151111561023b57602085018190525b6020850151855111156102865787600281111561025a5761025a6138b9565b8551602087015160405163f25ccea360e01b815261027d93929190600401613a43565b60405180910390fd5b50600261029e82866020015188886080015188610a17565b60028111156102af576102af6138b9565b146102c0575050602082015161039e565b60005b84606001518110156103745760006002866000015187602001516102e79190613a6f565b6102f19190613a98565b86516102fd9190613aac565b9050600061031284838a8a608001518a610a17565b90506001816002811115610328576103286138b9565b036103385750925061039e915050565b600081600281111561034c5761034c6138b9565b0361035957818752610361565b602087018290525b50508061036d90613abf565b90506102c3565b50835115610385575050815161039e565b60405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6103b061334a565b600080600080856001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190613b3b565b945061042d85600001518660200151610b6f565b979992985090969095509350915050565b6104786040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613b3b565b905060006104ee8260200151610c0f565b90506105038260000151836040015183610c5c565b6020840181905260000361051c57505060008152919050565b610533826000015183604001518560200151610c71565b604084015260208301516000199060009081131561058f5760028552835180516020870151608090920151604087015160a00151610572939190610cc5565b91508160000361058a57505060008352509092915050565b6105db565b60018552600061059e85610626565b90506105c0818760200151876000015160800151886040015160a00151610cc5565b9150816000036105d95750506000845250919392505050565b505b6105fb8486600001518760400151846105f387610d65565b6100a1610da1565b606086018190526020850151865161061292610902565b608087015260a08601525092949350505050565b60008061063b83600001518460200151610b6f565b93505050508260400151608001518110156106595750600092915050565b6000610677610672856000015186602001516001610b39565b610d65565b90506000610683610da1565b90505b8151610693906001613aac565b8260200151111561075a5760006002836000015184602001516106b69190613a6f565b6106c09190613a98565b83516106cc9190613aac565b905060008060006106e0896001868861098a565b92509250925082610705576106f6600185613a6f565b60208701525061068692505050565b61070f8282610b6f565b60408d015160800151909a508a109250610746915050578386526020808301518a519091015161073f9190613a6f565b9750610751565b6106f6600185613a6f565b50505050610686565b505050919050565b61078e604080516080810190915280600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156107cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f39190613b3b565b905060008061080a83600001518460200151610b6f565b509250509150600061083f846040015160600151670de0b6b3a76400006108319190613a6f565b604080870151015190610de1565b90506000610870856040015160600151670de0b6b3a76400006108629190613aac565b604080880151015190610de1565b9050808311156108ae57600186818152505061089a85602001518585886040015160400151610e04565b6060890152604088015260208701526108f8565b818310156108f8576108c08585610e38565b6040890181905260208901829052888360048111156108e1576108e16138b9565b60048111156108f2576108f26138b9565b90525050505b5050505050919050565b6000806002846002811115610919576109196138b9565b036109445761093a8361092a610da1565b61093388610f67565b9190610fa5565b909250905061095b565b6109578361095187610f67565b90611042565b5091505b935093915050565b60006109848260000151836040015161097f8560200151610c0f565b610c5c565b92915050565b60006109946133ad565b61099c6133dc565b86516109a790611146565b91506109b68760200151610f67565b905060018660028111156109cc576109cc6138b9565b036109e3576109dc828287611190565b9250610a0d565b60028660028111156109f7576109f76138b9565b03610a08576109dc828287876111ee565b600092505b9450945094915050565b600080600080610a3189600001518a602001518a8861098a565b92509250925082610a485760029350505050610b30565b6000610a5382610c0f565b905060018a602001516002811115610a6d57610a6d6138b9565b03610aed576020808401518b515190910151600091610a8b91613a6f565b905088811115610aa357600295505050505050610b30565b610ab2828c604001518a611245565b15610ac557600195505050505050610b30565b8a60400151821015610adf57600295505050505050610b30565b600095505050505050610b30565b610afc818b6040015189611278565b15610b0e576001945050505050610b30565b8960400151811115610b27576002945050505050610b30565b60009450505050505b95945050505050565b60006001826002811115610b4f57610b4f6138b9565b03610b6457610b5d836112a6565b9050610b68565b5082515b9392505050565b6000808080610b7e86866112cc565b9350610b8985610c0f565b6060870151909350610b9b90856113ba565b91506000610bb68760000151610bb088610f67565b906113e0565b9150506000876040015182610bcb9190613aac565b90508015610be9576020880151610be290826113ba565b9250610c04565b8760200151600003610bfe5760009250610c04565b60001992505b505092959194509250565b6000670de0b6b3a7640000610c52610c438460400151856000015160a00151610c389190613a6f565b6301e13380906113ba565b610c4c85611497565b906114e4565b6109849190613a6f565b6000610c6983858461168d565b949350505050565b600081600003610c8357610c83613c74565b6000610c8f85846116a2565b90506000831215610cb757610caf610ca8826001613aac565b85906116e9565b915050610b68565b610caf610ca8600183613a6f565b600083600003610cd757610cd7613c74565b6000808512610cfb5783610cec846002613c8a565b610cf69190613a6f565b610cfd565b835b9050600081670de0b6b3a7640000610d1488611763565b610d1e9190613c8a565b610d289190613a98565b90506000670de0b6b3a7640000610d4383610c4c8184613aac565b610d4d9190613a6f565b9050610d598882610de1565b98975050505050505050565b610d6d6133ad565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610da96133ad565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080610dee8385613c8a565b9050670de0b6b3a7640000815b04949350505050565b60008080610e1c610e158587613a6f565b8790610de1565b9250610e28878461177e565b9398909750929550919350505050565b600080600080856000015160600151610e6287604001516040015187610de190919063ffffffff16565b610e6c9190613a6f565b86515190915015610f04578551602001516000908103610e9f5786515160049550610e9890889061180a565b9050610eaf565b60029450610eac8761185d565b90505b610eb981836118c5565b8751519093508190610ecc908590613c8a565b610ed69190613a98565b93506004856004811115610eec57610eec6138b9565b03610efe57610efb878561180a565b92505b50610f5f565b6000610f25876000015160200151610f1f8960200151610f67565b906118db565b875160200151600396509091508190610f3e9084613c8a565b610f489190613a98565b9350610f5b84610f1f8960200151610f67565b9250505b509250925092565b610f6f6133dc565b6040518060600160405280610f878460000151611936565b81526020018360200151815260200183604001518152509050919050565b600080600080610fb587876113e0565b915091506000610fd28389602001516119b390919063ffffffff16565b90506000610fe08284613aac565b905060006110068a60200151838c60400151610ffb8c611146565b8e51939291906119bf565b5060208c015160408d01518d51929950929350611024928990611adb565b50505080836110339190613aac565b96505050505050935093915050565b600080600061106a85602001518587604001518860000151611b2c909392919063ffffffff16565b5050602086015190915060006110808284613c8a565b611092670de0b6b3a764000088613c8a565b61109c9190613a6f565b8751519091506000906110ae90611b55565b836110c08a6000015160200151611b55565b6110ca9190613c8a565b6110d49190613a98565b6110e690670de0b6b3a7640000613aac565b905060006110f48284613a98565b90506111008189613a6f565b9550600061111b878b60200151611b6490919063ffffffff16565b905060006111298783613a6f565b90506111368b8285611b70565b9850505050505050509250929050565b61114e6133ad565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b6000808061119e8585611042565b9150915085602001518111156111b957600092505050610b68565b80866020018181516111cb9190613a6f565b9052508551829087906111df908390613aac565b90525060019695505050505050565b835160009083111561120257506000610c69565b60006112198461121185611146565b879190610fa5565b509050838660000181815161122e9190613a6f565b9052506020860180518291906111df908390613aac565b6000828410158015610c69575061126d8361126884670de0b6b3a7640000613aac565b610de1565b909311159392505050565b6000828411158015610c69575061129b8361126884670de0b6b3a7640000613a6f565b909310159392505050565b602081015160408201518251600092610984926112c4929190611d46565b835151611e40565b6000806112d883610f67565b90506000806112f48660000151846113e090919063ffffffff16565b91509150600082876060015161130a9190613aac565b9050600087604001518361131e9190613aac565b90508760200151811161136c576113358582611edf565b61133f9083613aac565b915061135b8189602001516113549190613a6f565b86906118db565b6113659083613aac565b91506113af565b602088015161137c908690611edf565b6113869083613aac565b91506113a288602001518261139b9190613a6f565b8690611ef1565b6113ac9083613aac565b91505b509695505050505050565b6000806113cf670de0b6b3a764000085613c8a565b9050828181610dfb57610dfb613a82565b60008060006113ee84611f15565b8551604081015160209091015191925060009161140b9084613ca1565b6114159190613cd1565b86516040810151905191925060009161142e9085613ca1565b6114389190613cd1565b87516040015190915061144b9084611f2b565b87516040015286515161145e9082611f2b565b8751528651602001516114719083611f2b565b87516020015261148082611b55565b61148982611b55565b945094505050509250929050565b60208101516040820151825160009283926114b3929190611d46565b905060006114d98460000151600001518360200151846000015185604001516000611f72565b9050610c6981611b55565b6000816000036114fd5750670de0b6b3a7640000610984565b8260000361150d57506000610984565b600160ff1b83106115525760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b604482015260640161027d565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106115ac5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b604482015260640161027d565b826000670c7d713b49da0000831380156115cd5750670f43fc2c04ee000083125b156116045760006115dd84612023565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050611612565b8161160e84612142565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611640575068070c1cc73b00c800008113155b6116845760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b604482015260640161027d565b61039e816124e5565b6000610c698361169d86856128fa565b612966565b6000816000036116b4576116b4613c74565b600182126116ca57816116c681613cff565b9250505b610b686116da8460800151611f15565b6116e49084613d17565b611b55565b60008115801590611714575060a0830151611705906002613c8a565b611710906001613aac565b8214155b61172057611720613c74565b600061172b8461299d565b9050611738600282613a98565b611743600185613a6f565b61174d9083613c8a565b85516117599190613aac565b610c699190613aac565b600080821361177a5761177582613d3f565b610984565b5090565b60008060006117a2611797866000015160200151611b55565b6020870151906119b3565b8551516117ae90611b55565b6117b89190613aac565b8551516117c490611b55565b6117ce9086613c8a565b6117d89190613a98565b60208601519091506117ea90826119b3565b9150611800856117fa8387613a6f565b84611b70565b9250509250929050565b60008061181a8460200151610f67565b905060008061183361182b86611f15565b8451906129cb565b9150915061184a61184382611b55565b8490611ef1565b61185383611b55565b61039e9190613aac565b60008061186d8360200151610f67565b905060008061188661182b866000015160000151611f15565b915091506118b26118a78660000151602001516118a284611b55565b6118c5565b602085015190612a97565b6118bb83611b55565b610b309190613aac565b60008183106118d45781610b68565b5090919050565b60208201516040830151835160009283926118f99291908690611b2c565b505090506000611916828660200151612aa390919063ffffffff16565b905060006119248286613a6f565b602087015190915061039e9082611b64565b61193e613403565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000610b688383612ab0565b60008080806119cf898988611d46565b90508460400151600003611a0c5784516119e99088612acf565b855260208501516119fe906118a28b84612ade565b6020860152611a0c85612b62565b60005b8560600151811015611ab6576000611a278783612bb0565b9050600080611a388d868e86612c15565b5090925090506000611a4a8d846119b3565b90506000611a588286613a6f565b90508c8111611a8f57611a70818e8d60800151611278565b15611a8757509750919550909350611ad092505050565b848b52611aa0565b611a9a600186613a6f565b60208c01525b505050505080611aaf90613abf565b9050611a0f565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b600080600080600080611af88a8a611af28b612c46565b8a612c5d565b925092509250611b0783611b55565b9550611b1282611b55565b9450611b1d81611b55565b93505050509450945094915050565b600080600080600080611b438a8a611af28b611f15565b925092509250611b076116e484612cf0565b60008082121561177a57600080fd5b6000610b688383612cfe565b825160a00151604084015160009111611bca5760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b604482015260640161027d565b835160400151600012611c165760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b604482015260640161027d565b6000611c2184611f15565b90506000611c2e84611f15565b90506000806000808960000151600001518a600001516040015186611c539190613ca1565b611c5d9190613cd1565b8a516020810151604090910151919250600091611c7a9089613ca1565b611c849190613cd1565b905080821215611cbf578a5160408101516020909101519295508694508592611cae908490613ca1565b611cb89190613cd1565b9250611ce8565b8a51604081015190519195508793508591611cdb908390613ca1565b611ce59190613cd1565b93505b828b60000151602001818151611cfe9190613d17565b9052508a518051859190611d13908390613d17565b9052508a516040018051869190611d2b908390613d17565b905250611d3785611b55565b9b9a5050505050505050505050565b611d716040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611d955760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611da79190613a6f565b9050611db38582612d13565b82526020850151611dc5908590612d74565b602083015284511580611dda57506020820151155b15611e01578451602083015160405163b1c4aefb60e01b815261027d9291906004016139be565b611e1f85600001518661010001518460200151856000015185612dab565b604083015260c0850151611e339082612e2c565b6060830152509392505050565b600080611e6d611e68856000015186604001518760600151611e629190613d5b565b90612e60565b6124e5565b90506000611e8d611e86670de0b6b3a764000084613d17565b8390612e83565b90506000611eab866020015186611ea49190613d17565b8390612e60565b90506000611eb98287613d5b565b90506103e8611eca826103e7613c8a565b611ed49190613a98565b979650505050505050565b6020820151600090610b689083611b64565b602082015160408301518351600092611f0b928590611adb565b5090949350505050565b60006001600160ff1b0382111561177a57600080fd5b600081831215611f685760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161027d565b610b688284613d5b565b600080611f7f8784611f2b565b90506000611f90611e86888a613d17565b9050670d529ae9e8600000811315611fc75780670d529ae9e8600000604051637e34684f60e11b815260040161027d9291906139be565b6000611fd282612ea9565b905085611fdf8289612e83565b611fe99190613d17565b9350670de0b6b3a76400008412156120175760405163329e322960e21b81526004810185905260240161027d565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161206457612064613a82565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156121835761217a826a0c097ce7bc90715b34b9f160241b8161217457612174613a82565b05612142565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126121ce5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612205576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261224d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612288576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126122bf57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126122f657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261232b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261235657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261238b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126123c0576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126123f4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612428576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161245157612451613a82565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561250a575068070c1cc73b00c800008213155b6125495760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161027d565b60008212156125815761255e826000036124e5565b6a0c097ce7bc90715b34b9f160241b8161257a5761257a613a82565b0592915050565b60006806f05b59d3b200000083126125bf57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6125f5565b6803782dace9d900000083126125f157506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806125f5565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126126455768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612681576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126126bb57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126126f5576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261272e57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126127675768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126127a0576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126127d95768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561290e57506000610984565b826020015182111561293c5760a083015161292a906002613c8a565b612935906001613aac565b9050610984565b6129458361299d565b83516129519084613a6f565b61295b9190613a98565b610b68906001613aac565b6000806129768460800151611f15565b61297f84611f15565b6129899190613d5b565b905060018112610b685780610b3081613d82565b60008160a0015160026129b09190613c8a565b825160208401516129c19190613a6f565b6109849190613a98565b600080826000036129ef576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612a039085613ca1565b612a0d9190613cd1565b6040850151855191935090612a229085613ca1565b612a2c9190613cd1565b905081158015612a3a575080155b15612a5857604051631997ea8d60e31b815260040160405180910390fd5b6040840151612a679084611f2b565b60408501528351612a789082611f2b565b84526020840151612a899083611f2b565b602090940193909352929050565b6000610b688383612efc565b600082610c698184612f28565b6000670de0b6b3a7640000612ac58484613c8a565b610b689190613a98565b60008183116118d45781610b68565b60008060009050600060018460200151612af89190613a6f565b90505b808214612b5a5760006002612b108385613aac565b612b1b906001613aac565b612b259190613a98565b90506000612b3886886000015184612f40565b1215612b5057612b49600182613a6f565b9150612b54565b8092505b50612afb565b509392505050565b602081015181511180612b805750670de0b6b3a76400008160800151115b15612bad57805160208201516080830151604051632cc06bc160e21b815261027d93929190600401613a43565b50565b600081158015612bc35750604083015115155b15612bd357506040820151610984565b6020830151835111612bfc5760208301518351600291612bf291613aac565b6129359190613a98565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612c338989612c2a8a613d3f565b8d929190613032565b919c909b50909950975050505050505050565b6000612c5182611f15565b61098490600019613ca1565b6000806000612c708760a0015185101590565b15612c8e5760405163b2094b5960e01b815260040160405180910390fd5b86518512612cb4578651604051632185509b60e21b815261027d919087906004016139be565b6000612cc1888887611d46565b9050612ccf88828989613032565b91955093509150612ce58882898988878b613186565b509450945094915050565b600061098482600019613ca1565b600082612ac5670de0b6b3a764000084613c8a565b6000612d1e82611f15565b612d35612d306201518061016d613c8a565b611f15565b8460800151612d449190613ca1565b612d4e9190613cd1565b90506000811361098457604051630e520c3b60e11b81526004810182905260240161027d565b60008060008312612d86576001612d8a565b6000195b9050612da1612d3085612d9c86611763565b612ab0565b610c699082613ca1565b600080612db88684612e2c565b9050670de0b6b3a7640000811215612de65760405163329e322960e21b81526004810182905260240161027d565b6000612dfc612df5878a613d17565b8990612e83565b90506000612e0982612ea9565b9050612e158187612e83565b612e1f9084613d5b565b9998505050505050505050565b600080612e3e6201518061016d613c8a565b612e488486613c8a565b612e529190613a98565b9050610c69611e6882611f15565b600080612e6d8385613ca1565b9050670de0b6b3a7640000815b05949350505050565b600080612e98670de0b6b3a764000085613ca1565b9050828181612e7a57612e7a613a82565b6000670de0b6b3a76400008203612ed35760405163a9c8b14d60e01b815260040160405180910390fd5b6000612ef1612eea84670de0b6b3a7640000613d5b565b8490612e83565b9050610b6881613218565b600082600181612f14670de0b6b3a764000086613c8a565b612f1e9190613aac565b612ac59190613a6f565b6000670de0b6b3a7640000600181612f148686613c8a565b600080828560200151612f539190613d5b565b90506000612f618585613d17565b9050600082138015612f735750600081135b612fb45760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161027d565b6000612fe2612fc38484613ca1565b6020890151612fd29089613d17565b612fdc9088613ca1565b90612e83565b90506000612ff8612ff38486612e83565b613218565b885190915060009061301390670de0b6b3a764000090612e83565b905061302381611e628486613d5b565b8960400151612e1f9190613d5b565b6000806000806130558860000151886020015189600001518a6040015189611f72565b9050600061306b6130668784612e83565b612cf0565b606089015190915060008713156130da5760006130888483612e83565b9050670de0b6b3a76400008112156130b65760405163329e322960e21b81526004810182905260240161027d565b6130d26130cb83670de0b6b3a7640000613d5b565b8490612e60565b915050613107565b613104816130f081670de0b6b3a7640000613d5b565b6130fa9085613ca1565b6130669190613cd1565b90505b600060646131188c60e00151611f15565b6131229084613ca1565b61312c9190613cd1565b9050600061313a8385613d5b565b9050600081126131535761314e8a826132a9565b61315d565b61315d8a826132d6565b97506131698a846132a9565b96506131758a836132a9565b955050505050509450945094915050565b6000818860a001516131989190613a6f565b88519091506131a79086611f2b565b88526131c16131b68486613d17565b60208a015190611f2b565b6020890181905288516131e6916131d9908990612d74565b895160408b015185613303565b610100890181905260000361320e57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008082136132595760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161027d565b670c7d713b49da0000821380156132775750670f43fc2c04ee000082125b1561329b57670de0b6b3a764000061328e83612023565b8161257a5761257a613a82565b61098482612142565b919050565b600080600083126132bb5760016132bf565b6000195b9050612da1612d30856132d186611763565b612cfe565b600080600083126132e85760016132ec565b6000195b9050612da1612d30856132fe86611763565b612efc565b600080613314878787876000611f72565b905060006133246116e483613218565b9050836133366201518061016d613c8a565b6133409083613c8a565b610d599190613a98565b604051806060016040528061335d6133ad565b815260200161336a6133dc565b81526020016133a86040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b60405180606001604052806133ef613403565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b600060a0828403121561353157600080fd5b613539613458565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b0381168114612bad57600080fd5b80356132a48161356d565b60008183036101608112156135a157600080fd5b6135a961348e565b9150610120808212156135bb57600080fd5b6135c36134be565b91508335825260208401356020830152604084013560408301526135e960608501613582565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c081121561365557600080fd5b61365d61348e565b9150613669848461351f565b82526136788460a0850161358d565b602083015260c06101ff198201121561369057600080fd5b506136996134ef565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b8035600381106132a457600080fd5b600080600080600080610460878903121561370e57600080fd5b6137188888613641565b95506137276102c088016136e5565b94506102e08701359350610300870135925061374788610320890161351f565b9150613757886103c0890161351f565b90509295509295509295565b60006020828403121561377557600080fd5b8135610b688161356d565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b60006103408201905061383f828851613780565b602087015161385160a08401826137b0565b5060409687015180516102008401526020810151610220840152968701516102408301526060870151610260830152608087015161028083015260a0909601516102a08201526102c08101949094526102e08401929092526103008301526103209091015290565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600381106138e6576138e66138b9565b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60006102c0828403121561393557600080fd5b610b688383613641565b8151608082019060058110613956576139566138b9565b8083525060208301516020830152604083015160408301526060830151606083015292915050565b60008060006101a0848603121561399457600080fd5b61399e858561358d565b92506139ad61016085016136e5565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a085870312156139e357600080fd5b6139ed8686613641565b93506139fc6102c086016136e5565b92506102e08501359150613a1486610300870161351f565b905092959194509250565b83151581526102208101613a366020830185613780565b610c6960c08301846137b0565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561098457610984613a59565b634e487b7160e01b600052601260045260246000fd5b600082613aa757613aa7613a82565b500490565b8082018082111561098457610984613a59565b600060018201613ad157613ad1613a59565b5060010190565b80516132a48161356d565b600060c08284031215613af557600080fd5b613afd6134ef565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c0811215613b4f57600080fd5b613b5761348e565b60a0821215613b6557600080fd5b613b6d613458565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f198201915061016080831215613bb457600080fd5b613bbc61348e565b61012080851215613bcc57600080fd5b613bd46134be565b945060a0870151855260c0870151602086015260e08701516040860152610100613bff818901613ad8565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e086015160408201528060208401525050613c67856102008601613ae3565b6040820152949350505050565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761098457610984613a59565b80820260008212600160ff1b84141615613cbd57613cbd613a59565b818105831482151761098457610984613a59565b600082613ce057613ce0613a82565b600160ff1b821460001984141615613cfa57613cfa613a59565b500590565b60006001600160ff1b018201613ad157613ad1613a59565b8082018281126000831280158216821582161715613d3757613d37613a59565b505092915050565b6000600160ff1b8201613d5457613d54613a59565b5060000390565b8181036000831280158383131683831282161715613d7b57613d7b613a59565b5092915050565b6000600160ff1b8201613d9757613d97613a59565b50600019019056fea26469706673582212201b8e3d712b472990dea6d85db33165693becb52ca3585c5afa191c65fde4aa9364736f6c63430008110033",
1408
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c806303270af41461009357806306e8bac9146100b95780630c3fad99146100dd5780631cca5369146100fd5780632313dd6e14610110578063916ec547146101305780639d2a679f14610151578063a76541e51461015a578063ac4c7e841461016d578063cf209b601461017a575b600080fd5b6100a66100a13660046136f4565b61019c565b6040519081526020015b60405180910390f35b6100cc6100c7366004613763565b6103a8565b6040516100b095949392919061382b565b6100f06100eb366004613763565b61043e565b6040516100b091906138cf565b6100a661010b366004613922565b610626565b61012361011e366004613763565b610762565b6040516100b0919061393f565b61014361013e36600461397e565b610902565b6040516100b09291906139be565b6100a660001981565b6100a6610168366004613922565b610963565b6100a6655af3107a400081565b61018d6101883660046139cc565b61098a565b6040516100b093929190613a1f565b60008060405180606001604052808981526020018860028111156101c2576101c26138b9565b81526020018790526040850151909150156102105760016101ee82866040015188886080015188610a17565b60028111156101ff576101ff6138b9565b03610210575050604082015161039e565b600061022589600001518a602001518a610b39565b9050808560200151111561023b57602085018190525b6020850151855111156102865787600281111561025a5761025a6138b9565b8551602087015160405163f25ccea360e01b815261027d93929190600401613a43565b60405180910390fd5b50600261029e82866020015188886080015188610a17565b60028111156102af576102af6138b9565b146102c0575050602082015161039e565b60005b84606001518110156103745760006002866000015187602001516102e79190613a6f565b6102f19190613a98565b86516102fd9190613aac565b9050600061031284838a8a608001518a610a17565b90506001816002811115610328576103286138b9565b036103385750925061039e915050565b600081600281111561034c5761034c6138b9565b0361035957818752610361565b602087018290525b50508061036d90613abf565b90506102c3565b50835115610385575050815161039e565b60405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6103b061334a565b600080600080856001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190613b3b565b945061042d85600001518660200151610b6f565b979992985090969095509350915050565b6104786040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613b3b565b905060006104ee8260200151610c0f565b90506105038260000151836040015183610c5c565b6020840181905260000361051c57505060008152919050565b610533826000015183604001518560200151610c71565b604084015260208301516000199060009081131561058f5760028552835180516020870151608090920151604087015160a00151610572939190610cc5565b91508160000361058a57505060008352509092915050565b6105db565b60018552600061059e85610626565b90506105c0818760200151876000015160800151886040015160a00151610cc5565b9150816000036105d95750506000845250919392505050565b505b6105fb8486600001518760400151846105f387610d65565b6100a1610da1565b606086018190526020850151865161061292610902565b608087015260a08601525092949350505050565b60008061063b83600001518460200151610b6f565b93505050508260400151608001518110156106595750600092915050565b6000610677610672856000015186602001516001610b39565b610d65565b90506000610683610da1565b90505b8151610693906001613aac565b8260200151111561075a5760006002836000015184602001516106b69190613a6f565b6106c09190613a98565b83516106cc9190613aac565b905060008060006106e0896001868861098a565b92509250925082610705576106f6600185613a6f565b60208701525061068692505050565b61070f8282610b6f565b60408d015160800151909a508a109250610746915050578386526020808301518a519091015161073f9190613a6f565b9750610751565b6106f6600185613a6f565b50505050610686565b505050919050565b61078e604080516080810190915280600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156107cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f39190613b3b565b905060008061080a83600001518460200151610b6f565b509250509150600061083f846040015160600151670de0b6b3a76400006108319190613a6f565b604080870151015190610de1565b90506000610870856040015160600151670de0b6b3a76400006108629190613aac565b604080880151015190610de1565b9050808311156108ae57600186818152505061089a85602001518585886040015160400151610e04565b6060890152604088015260208701526108f8565b818310156108f8576108c08585610e38565b6040890181905260208901829052888360048111156108e1576108e16138b9565b60048111156108f2576108f26138b9565b90525050505b5050505050919050565b6000806002846002811115610919576109196138b9565b036109445761093a8361092a610da1565b61093388610f67565b9190610fa5565b909250905061095b565b6109578361095187610f67565b90611042565b5091505b935093915050565b60006109848260000151836040015161097f8560200151610c0f565b610c5c565b92915050565b60006109946133ad565b61099c6133dc565b86516109a790611146565b91506109b68760200151610f67565b905060018660028111156109cc576109cc6138b9565b036109e3576109dc828287611190565b9250610a0d565b60028660028111156109f7576109f76138b9565b03610a08576109dc828287876111ee565b600092505b9450945094915050565b600080600080610a3189600001518a602001518a8861098a565b92509250925082610a485760029350505050610b30565b6000610a5382610c0f565b905060018a602001516002811115610a6d57610a6d6138b9565b03610aed576020808401518b515190910151600091610a8b91613a6f565b905088811115610aa357600295505050505050610b30565b610ab2828c604001518a611245565b15610ac557600195505050505050610b30565b8a60400151821015610adf57600295505050505050610b30565b600095505050505050610b30565b610afc818b6040015189611278565b15610b0e576001945050505050610b30565b8960400151811115610b27576002945050505050610b30565b60009450505050505b95945050505050565b60006001826002811115610b4f57610b4f6138b9565b03610b6457610b5d836112a6565b9050610b68565b5082515b9392505050565b6000808080610b7e86866112cc565b9350610b8985610c0f565b6060870151909350610b9b90856113ba565b91506000610bb68760000151610bb088610f67565b906113e0565b9150506000876040015182610bcb9190613aac565b90508015610be9576020880151610be290826113ba565b9250610c04565b8760200151600003610bfe5760009250610c04565b60001992505b505092959194509250565b6000670de0b6b3a7640000610c52610c438460400151856000015160a00151610c389190613a6f565b6301e13380906113ba565b610c4c85611497565b906114e4565b6109849190613a6f565b6000610c6983858461168d565b949350505050565b600081600003610c8357610c83613c74565b6000610c8f85846116a2565b90506000831215610cb757610caf610ca8826001613aac565b85906116e9565b915050610b68565b610caf610ca8600183613a6f565b600083600003610cd757610cd7613c74565b6000808512610cfb5783610cec846002613c8a565b610cf69190613a6f565b610cfd565b835b9050600081670de0b6b3a7640000610d1488611763565b610d1e9190613c8a565b610d289190613a98565b90506000670de0b6b3a7640000610d4383610c4c8184613aac565b610d4d9190613a6f565b9050610d598882610de1565b98975050505050505050565b610d6d6133ad565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610da96133ad565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080610dee8385613c8a565b9050670de0b6b3a7640000815b04949350505050565b60008080610e1c610e158587613a6f565b8790610de1565b9250610e28878461177e565b9398909750929550919350505050565b600080600080856000015160600151610e6287604001516040015187610de190919063ffffffff16565b610e6c9190613a6f565b86515190915015610f04578551602001516000908103610e9f5786515160049550610e9890889061180a565b9050610eaf565b60029450610eac8761185d565b90505b610eb981836118c5565b8751519093508190610ecc908590613c8a565b610ed69190613a98565b93506004856004811115610eec57610eec6138b9565b03610efe57610efb878561180a565b92505b50610f5f565b6000610f25876000015160200151610f1f8960200151610f67565b906118db565b875160200151600396509091508190610f3e9084613c8a565b610f489190613a98565b9350610f5b84610f1f8960200151610f67565b9250505b509250925092565b610f6f6133dc565b6040518060600160405280610f878460000151611936565b81526020018360200151815260200183604001518152509050919050565b600080600080610fb587876113e0565b915091506000610fd28389602001516119b390919063ffffffff16565b90506000610fe08284613aac565b905060006110068a60200151838c60400151610ffb8c611146565b8e51939291906119bf565b5060208c015160408d01518d51929950929350611024928990611adb565b50505080836110339190613aac565b96505050505050935093915050565b600080600061106a85602001518587604001518860000151611b2c909392919063ffffffff16565b5050602086015190915060006110808284613c8a565b611092670de0b6b3a764000088613c8a565b61109c9190613a6f565b8751519091506000906110ae90611b55565b836110c08a6000015160200151611b55565b6110ca9190613c8a565b6110d49190613a98565b6110e690670de0b6b3a7640000613aac565b905060006110f48284613a98565b90506111008189613a6f565b9550600061111b878b60200151611b6490919063ffffffff16565b905060006111298783613a6f565b90506111368b8285611b70565b9850505050505050509250929050565b61114e6133ad565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b6000808061119e8585611042565b9150915085602001518111156111b957600092505050610b68565b80866020018181516111cb9190613a6f565b9052508551829087906111df908390613aac565b90525060019695505050505050565b835160009083111561120257506000610c69565b60006112198461121185611146565b879190610fa5565b509050838660000181815161122e9190613a6f565b9052506020860180518291906111df908390613aac565b6000828410158015610c69575061126d8361126884670de0b6b3a7640000613aac565b610de1565b909311159392505050565b6000828411158015610c69575061129b8361126884670de0b6b3a7640000613a6f565b909310159392505050565b602081015160408201518251600092610984926112c4929190611d46565b835151611e40565b6000806112d883610f67565b90506000806112f48660000151846113e090919063ffffffff16565b91509150600082876060015161130a9190613aac565b9050600087604001518361131e9190613aac565b90508760200151811161136c576113358582611edf565b61133f9083613aac565b915061135b8189602001516113549190613a6f565b86906118db565b6113659083613aac565b91506113af565b602088015161137c908690611edf565b6113869083613aac565b91506113a288602001518261139b9190613a6f565b8690611ef1565b6113ac9083613aac565b91505b509695505050505050565b6000806113cf670de0b6b3a764000085613c8a565b9050828181610dfb57610dfb613a82565b60008060006113ee84611f15565b8551604081015160209091015191925060009161140b9084613ca1565b6114159190613cd1565b86516040810151905191925060009161142e9085613ca1565b6114389190613cd1565b87516040015190915061144b9084611f2b565b87516040015286515161145e9082611f2b565b8751528651602001516114719083611f2b565b87516020015261148082611b55565b61148982611b55565b945094505050509250929050565b60208101516040820151825160009283926114b3929190611d46565b905060006114d98460000151600001518360200151846000015185604001516000611f72565b9050610c6981611b55565b6000816000036114fd5750670de0b6b3a7640000610984565b8260000361150d57506000610984565b600160ff1b83106115525760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b604482015260640161027d565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106115ac5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b604482015260640161027d565b826000670c7d713b49da0000831380156115cd5750670f43fc2c04ee000083125b156116045760006115dd84612023565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050611612565b8161160e84612142565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611640575068070c1cc73b00c800008113155b6116845760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b604482015260640161027d565b61039e816124e5565b6000610c698361169d86856128fa565b612966565b6000816000036116b4576116b4613c74565b600182126116ca57816116c681613cff565b9250505b610b686116da8460800151611f15565b6116e49084613d17565b611b55565b60008115801590611714575060a0830151611705906002613c8a565b611710906001613aac565b8214155b61172057611720613c74565b600061172b8461299d565b9050611738600282613a98565b611743600185613a6f565b61174d9083613c8a565b85516117599190613aac565b610c699190613aac565b600080821361177a5761177582613d3f565b610984565b5090565b60008060006117a2611797866000015160200151611b55565b6020870151906119b3565b8551516117ae90611b55565b6117b89190613aac565b8551516117c490611b55565b6117ce9086613c8a565b6117d89190613a98565b60208601519091506117ea90826119b3565b9150611800856117fa8387613a6f565b84611b70565b9250509250929050565b60008061181a8460200151610f67565b905060008061183361182b86611f15565b8451906129cb565b9150915061184a61184382611b55565b8490611ef1565b61185383611b55565b61039e9190613aac565b60008061186d8360200151610f67565b905060008061188661182b866000015160000151611f15565b915091506118b26118a78660000151602001516118a284611b55565b6118c5565b602085015190612a97565b6118bb83611b55565b610b309190613aac565b60008183106118d45781610b68565b5090919050565b60208201516040830151835160009283926118f99291908690611b2c565b505090506000611916828660200151612aa390919063ffffffff16565b905060006119248286613a6f565b602087015190915061039e9082611b64565b61193e613403565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000610b688383612ab0565b60008080806119cf898988611d46565b90508460400151600003611a0c5784516119e99088612acf565b855260208501516119fe906118a28b84612ade565b6020860152611a0c85612b62565b60005b8560600151811015611ab6576000611a278783612bb0565b9050600080611a388d868e86612c15565b5090925090506000611a4a8d846119b3565b90506000611a588286613a6f565b90508c8111611a8f57611a70818e8d60800151611278565b15611a8757509750919550909350611ad092505050565b848b52611aa0565b611a9a600186613a6f565b60208c01525b505050505080611aaf90613abf565b9050611a0f565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b600080600080600080611af88a8a611af28b612c46565b8a612c5d565b925092509250611b0783611b55565b9550611b1282611b55565b9450611b1d81611b55565b93505050509450945094915050565b600080600080600080611b438a8a611af28b611f15565b925092509250611b076116e484612cf0565b60008082121561177a57600080fd5b6000610b688383612cfe565b825160a00151604084015160009111611bca5760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b604482015260640161027d565b835160400151600012611c165760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b604482015260640161027d565b6000611c2184611f15565b90506000611c2e84611f15565b90506000806000808960000151600001518a600001516040015186611c539190613ca1565b611c5d9190613cd1565b8a516020810151604090910151919250600091611c7a9089613ca1565b611c849190613cd1565b905080821215611cbf578a5160408101516020909101519295508694508592611cae908490613ca1565b611cb89190613cd1565b9250611ce8565b8a51604081015190519195508793508591611cdb908390613ca1565b611ce59190613cd1565b93505b828b60000151602001818151611cfe9190613d17565b9052508a518051859190611d13908390613d17565b9052508a516040018051869190611d2b908390613d17565b905250611d3785611b55565b9b9a5050505050505050505050565b611d716040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611d955760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611da79190613a6f565b9050611db38582612d13565b82526020850151611dc5908590612d74565b602083015284511580611dda57506020820151155b15611e01578451602083015160405163b1c4aefb60e01b815261027d9291906004016139be565b611e1f85600001518661010001518460200151856000015185612dab565b604083015260c0850151611e339082612e2c565b6060830152509392505050565b600080611e6d611e68856000015186604001518760600151611e629190613d5b565b90612e60565b6124e5565b90506000611e8d611e86670de0b6b3a764000084613d17565b8390612e83565b90506000611eab866020015186611ea49190613d17565b8390612e60565b90506000611eb98287613d5b565b90506103e8611eca826103e7613c8a565b611ed49190613a98565b979650505050505050565b6020820151600090610b689083611b64565b602082015160408301518351600092611f0b928590611adb565b5090949350505050565b60006001600160ff1b0382111561177a57600080fd5b600081831215611f685760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161027d565b610b688284613d5b565b600080611f7f8784611f2b565b90506000611f90611e86888a613d17565b9050670d529ae9e8600000811315611fc75780670d529ae9e8600000604051637e34684f60e11b815260040161027d9291906139be565b6000611fd282612ea9565b905085611fdf8289612e83565b611fe99190613d17565b9350670de0b6b3a76400008412156120175760405163329e322960e21b81526004810185905260240161027d565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161206457612064613a82565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156121835761217a826a0c097ce7bc90715b34b9f160241b8161217457612174613a82565b05612142565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126121ce5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612205576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261224d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612288576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126122bf57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126122f657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261232b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261235657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261238b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126123c0576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126123f4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612428576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161245157612451613a82565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561250a575068070c1cc73b00c800008213155b6125495760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161027d565b60008212156125815761255e826000036124e5565b6a0c097ce7bc90715b34b9f160241b8161257a5761257a613a82565b0592915050565b60006806f05b59d3b200000083126125bf57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6125f5565b6803782dace9d900000083126125f157506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806125f5565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126126455768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612681576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126126bb57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126126f5576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261272e57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126127675768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126127a0576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126127d95768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561290e57506000610984565b826020015182111561293c5760a083015161292a906002613c8a565b612935906001613aac565b9050610984565b6129458361299d565b83516129519084613a6f565b61295b9190613a98565b610b68906001613aac565b6000806129768460800151611f15565b61297f84611f15565b6129899190613d5b565b905060018112610b685780610b3081613d82565b60008160a0015160026129b09190613c8a565b825160208401516129c19190613a6f565b6109849190613a98565b600080826000036129ef576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612a039085613ca1565b612a0d9190613cd1565b6040850151855191935090612a229085613ca1565b612a2c9190613cd1565b905081158015612a3a575080155b15612a5857604051631997ea8d60e31b815260040160405180910390fd5b6040840151612a679084611f2b565b60408501528351612a789082611f2b565b84526020840151612a899083611f2b565b602090940193909352929050565b6000610b688383612efc565b600082610c698184612f28565b6000670de0b6b3a7640000612ac58484613c8a565b610b689190613a98565b60008183116118d45781610b68565b60008060009050600060018460200151612af89190613a6f565b90505b808214612b5a5760006002612b108385613aac565b612b1b906001613aac565b612b259190613a98565b90506000612b3886886000015184612f40565b1215612b5057612b49600182613a6f565b9150612b54565b8092505b50612afb565b509392505050565b602081015181511180612b805750670de0b6b3a76400008160800151115b15612bad57805160208201516080830151604051632cc06bc160e21b815261027d93929190600401613a43565b50565b600081158015612bc35750604083015115155b15612bd357506040820151610984565b6020830151835111612bfc5760208301518351600291612bf291613aac565b6129359190613a98565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612c338989612c2a8a613d3f565b8d929190613032565b919c909b50909950975050505050505050565b6000612c5182611f15565b61098490600019613ca1565b6000806000612c708760a0015185101590565b15612c8e5760405163b2094b5960e01b815260040160405180910390fd5b86518512612cb4578651604051632185509b60e21b815261027d919087906004016139be565b6000612cc1888887611d46565b9050612ccf88828989613032565b91955093509150612ce58882898988878b613186565b509450945094915050565b600061098482600019613ca1565b600082612ac5670de0b6b3a764000084613c8a565b6000612d1e82611f15565b612d35612d306201518061016d613c8a565b611f15565b8460800151612d449190613ca1565b612d4e9190613cd1565b90506000811361098457604051630e520c3b60e11b81526004810182905260240161027d565b60008060008312612d86576001612d8a565b6000195b9050612da1612d3085612d9c86611763565b612ab0565b610c699082613ca1565b600080612db88684612e2c565b9050670de0b6b3a7640000811215612de65760405163329e322960e21b81526004810182905260240161027d565b6000612dfc612df5878a613d17565b8990612e83565b90506000612e0982612ea9565b9050612e158187612e83565b612e1f9084613d5b565b9998505050505050505050565b600080612e3e6201518061016d613c8a565b612e488486613c8a565b612e529190613a98565b9050610c69611e6882611f15565b600080612e6d8385613ca1565b9050670de0b6b3a7640000815b05949350505050565b600080612e98670de0b6b3a764000085613ca1565b9050828181612e7a57612e7a613a82565b6000670de0b6b3a76400008203612ed35760405163a9c8b14d60e01b815260040160405180910390fd5b6000612ef1612eea84670de0b6b3a7640000613d5b565b8490612e83565b9050610b6881613218565b600082600181612f14670de0b6b3a764000086613c8a565b612f1e9190613aac565b612ac59190613a6f565b6000670de0b6b3a7640000600181612f148686613c8a565b600080828560200151612f539190613d5b565b90506000612f618585613d17565b9050600082138015612f735750600081135b612fb45760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161027d565b6000612fe2612fc38484613ca1565b6020890151612fd29089613d17565b612fdc9088613ca1565b90612e83565b90506000612ff8612ff38486612e83565b613218565b885190915060009061301390670de0b6b3a764000090612e83565b905061302381611e628486613d5b565b8960400151612e1f9190613d5b565b6000806000806130558860000151886020015189600001518a6040015189611f72565b9050600061306b6130668784612e83565b612cf0565b606089015190915060008713156130da5760006130888483612e83565b9050670de0b6b3a76400008112156130b65760405163329e322960e21b81526004810182905260240161027d565b6130d26130cb83670de0b6b3a7640000613d5b565b8490612e60565b915050613107565b613104816130f081670de0b6b3a7640000613d5b565b6130fa9085613ca1565b6130669190613cd1565b90505b600060646131188c60e00151611f15565b6131229084613ca1565b61312c9190613cd1565b9050600061313a8385613d5b565b9050600081126131535761314e8a826132a9565b61315d565b61315d8a826132d6565b97506131698a846132a9565b96506131758a836132a9565b955050505050509450945094915050565b6000818860a001516131989190613a6f565b88519091506131a79086611f2b565b88526131c16131b68486613d17565b60208a015190611f2b565b6020890181905288516131e6916131d9908990612d74565b895160408b015185613303565b610100890181905260000361320e57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008082136132595760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161027d565b670c7d713b49da0000821380156132775750670f43fc2c04ee000082125b1561329b57670de0b6b3a764000061328e83612023565b8161257a5761257a613a82565b61098482612142565b919050565b600080600083126132bb5760016132bf565b6000195b9050612da1612d30856132d186611763565b612cfe565b600080600083126132e85760016132ec565b6000195b9050612da1612d30856132fe86611763565b612efc565b600080613314878787876000611f72565b905060006133246116e483613218565b9050836133366201518061016d613c8a565b6133409083613c8a565b610d599190613a98565b604051806060016040528061335d6133ad565b815260200161336a6133dc565b81526020016133a86040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b60405180606001604052806133ef613403565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561348857634e487b7160e01b600052604160045260246000fd5b600060a0828403121561353157600080fd5b613539613458565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b0381168114612bad57600080fd5b80356132a48161356d565b60008183036101608112156135a157600080fd5b6135a961348e565b9150610120808212156135bb57600080fd5b6135c36134be565b91508335825260208401356020830152604084013560408301526135e960608501613582565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c081121561365557600080fd5b61365d61348e565b9150613669848461351f565b82526136788460a0850161358d565b602083015260c06101ff198201121561369057600080fd5b506136996134ef565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b8035600381106132a457600080fd5b600080600080600080610460878903121561370e57600080fd5b6137188888613641565b95506137276102c088016136e5565b94506102e08701359350610300870135925061374788610320890161351f565b9150613757886103c0890161351f565b90509295509295509295565b60006020828403121561377557600080fd5b8135610b688161356d565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b60006103408201905061383f828851613780565b602087015161385160a08401826137b0565b5060409687015180516102008401526020810151610220840152968701516102408301526060870151610260830152608087015161028083015260a0909601516102a08201526102c08101949094526102e08401929092526103008301526103209091015290565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600381106138e6576138e66138b9565b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60006102c0828403121561393557600080fd5b610b688383613641565b8151608082019060058110613956576139566138b9565b8083525060208301516020830152604083015160408301526060830151606083015292915050565b60008060006101a0848603121561399457600080fd5b61399e858561358d565b92506139ad61016085016136e5565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a085870312156139e357600080fd5b6139ed8686613641565b93506139fc6102c086016136e5565b92506102e08501359150613a1486610300870161351f565b905092959194509250565b83151581526102208101613a366020830185613780565b610c6960c08301846137b0565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561098457610984613a59565b634e487b7160e01b600052601260045260246000fd5b600082613aa757613aa7613a82565b500490565b8082018082111561098457610984613a59565b600060018201613ad157613ad1613a59565b5060010190565b80516132a48161356d565b600060c08284031215613af557600080fd5b613afd6134ef565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c0811215613b4f57600080fd5b613b5761348e565b60a0821215613b6557600080fd5b613b6d613458565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f198201915061016080831215613bb457600080fd5b613bbc61348e565b61012080851215613bcc57600080fd5b613bd46134be565b945060a0870151855260c0870151602086015260e08701516040860152610100613bff818901613ad8565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e086015160408201528060208401525050613c67856102008601613ae3565b6040820152949350505050565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761098457610984613a59565b80820260008212600160ff1b84141615613cbd57613cbd613a59565b818105831482151761098457610984613a59565b600082613ce057613ce0613a82565b600160ff1b821460001984141615613cfa57613cfa613a59565b500590565b60006001600160ff1b018201613ad157613ad1613a59565b8082018281126000831280158216821582161715613d3757613d37613a59565b505092915050565b6000600160ff1b8201613d5457613d54613a59565b5060000390565b8181036000831280158383131683831282161715613d7b57613d7b613a59565b5092915050565b6000600160ff1b8201613d9757613d97613a59565b50600019019056fea26469706673582212201b8e3d712b472990dea6d85db33165693becb52ca3585c5afa191c65fde4aa9364736f6c63430008110033",
1409
+ "linkReferences": {},
1410
+ "deployedLinkReferences": {}
1411
+ }