@pendle/core-v2 0.7.0 → 0.7.1-beta
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.
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -39
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -26
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +0 -24
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/{CelerReceiver.sol/CelerReceiver.json → CelerReceiverUpg.sol/CelerReceiverUpg.json} +2 -2
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/{CelerSender.sol/CelerSender.json → CelerSenderUpg.sol/CelerSenderUpg.json} +15 -2
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/{PendleGaugeController.sol/PendleGaugeController.json → PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json} +2 -2
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.json +255 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.json +318 -0
- package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.json +0 -24
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +776 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/{VotingControllerStorage.sol/VotingControllerStorage.json → VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json} +16 -49
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +15 -43
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/{VotingEscrowToken.sol/VotingEscrowToken.json → VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json} +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -26
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +13 -7
- package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +2 -2
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +4 -0
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.json +35 -0
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -82
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +15 -7
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +77 -95
- package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +2 -2
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +2 -2
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +26 -0
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +26 -0
- package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.json +35 -0
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +2 -2
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +6 -0
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +13 -0
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +91 -43
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +7 -2
- package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.json +0 -24
- package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.json +40 -0
- package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.json +2 -2
- package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.json +2 -2
- package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/{solmate/LibRLP.sol/LibRLP.json → VeHistoryLib.sol/Checkpoints.json} +4 -4
- package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
- package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
- package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +2 -2
- package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +10 -0
- package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
- package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
- package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
- package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
- package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +2 -2
- package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +2 -2
- package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +2 -2
- package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +3 -3
- package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
- package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +1 -1
- package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
- package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -1
- package/contracts/core/LiquidityMining/CelerAbstracts/{CelerReceiver.sol → CelerReceiverUpg.sol} +8 -2
- package/contracts/core/LiquidityMining/CelerAbstracts/{CelerSender.sol → CelerSenderUpg.sol} +10 -3
- package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeController.sol → PendleGaugeControllerBaseUpg.sol} +9 -4
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +7 -4
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +9 -5
- package/contracts/core/LiquidityMining/PendleGauge.sol +1 -1
- package/contracts/core/LiquidityMining/VotingController/{PendleVotingController.sol → PendleVotingControllerUpg.sol} +19 -6
- package/contracts/core/LiquidityMining/VotingController/{VotingControllerStorage.sol → VotingControllerStorageUpg.sol} +14 -10
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +12 -8
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +5 -5
- package/contracts/core/LiquidityMining/VotingEscrow/{VotingEscrowToken.sol → VotingEscrowTokenBase.sol} +2 -3
- package/contracts/core/Market/PendleMarket.sol +4 -5
- package/contracts/core/Market/PendleMarketFactory.sol +17 -20
- package/contracts/core/PendleRouter.sol +1 -1
- package/contracts/core/YieldContracts/InterestManagerYT.sol +1 -1
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +15 -7
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +18 -19
- package/contracts/core/YieldContracts/PendleYieldToken.sol +37 -28
- package/contracts/core/actions/ActionCallback.sol +1 -1
- package/contracts/core/actions/ActionCore.sol +1 -1
- package/contracts/core/actions/ActionYT.sol +1 -1
- package/contracts/core/actions/base/ActionSCYAndPTBase.sol +1 -1
- package/contracts/core/actions/base/ActionSCYAndPYBase.sol +1 -1
- package/contracts/core/actions/base/ActionSCYAndYTBase.sol +1 -1
- package/contracts/core/actions/base/CallbackHelper.sol +1 -1
- package/contracts/interfaces/IAToken.sol +1 -1
- package/contracts/interfaces/IAavePool.sol +1 -1
- package/contracts/interfaces/IAaveRewardsController.sol +1 -1
- package/contracts/interfaces/IBenQiComptroller.sol +1 -1
- package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -1
- package/contracts/interfaces/IERC4626.sol +1 -1
- package/contracts/interfaces/IJoeRouter01.sol +1 -1
- package/contracts/interfaces/IJoeRouter02.sol +1 -1
- package/contracts/interfaces/IPActionCore.sol +1 -1
- package/contracts/interfaces/IPActionYT.sol +1 -1
- package/contracts/interfaces/IPAllAction.sol +1 -1
- package/contracts/interfaces/IPGaugeController.sol +7 -1
- package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -1
- package/contracts/interfaces/IPGovernanceManager.sol +1 -1
- package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
- package/contracts/interfaces/IPMarket.sol +1 -1
- package/contracts/interfaces/IPMarketAddRemoveCallback.sol +1 -1
- package/contracts/interfaces/IPMarketFactory.sol +7 -2
- package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
- package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
- package/contracts/interfaces/IPPrincipalToken.sol +3 -1
- package/contracts/interfaces/IPRouterStatic.sol +1 -1
- package/contracts/interfaces/IPVeToken.sol +1 -1
- package/contracts/interfaces/IPVotingController.sol +1 -1
- package/contracts/interfaces/IPVotingEscrow.sol +1 -1
- package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
- package/contracts/interfaces/IPYieldToken.sol +14 -4
- package/contracts/interfaces/IQiAvax.sol +1 -1
- package/contracts/interfaces/IQiErc20.sol +1 -1
- package/contracts/interfaces/IQiToken.sol +1 -1
- package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
- package/contracts/interfaces/IRewardManager.sol +1 -1
- package/contracts/interfaces/ISuperComposableYield.sol +1 -1
- package/contracts/interfaces/IWETH.sol +1 -1
- package/contracts/interfaces/IWXBTRFLY.sol +1 -1
- package/contracts/interfaces/IWstETH.sol +1 -1
- package/contracts/interfaces/IYearnVault.sol +1 -1
- package/contracts/libraries/RewardManager.sol +1 -1
- package/contracts/libraries/RewardManagerAbstract.sol +6 -2
- package/contracts/libraries/SCY/SCYIndex.sol +1 -1
- package/contracts/libraries/SCY/SCYUtils.sol +1 -1
- package/contracts/libraries/VeBalanceLib.sol +1 -35
- package/contracts/libraries/VeHistoryLib.sol +60 -0
- package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
- package/contracts/libraries/helpers/MiniHelpers.sol +1 -1
- package/contracts/libraries/helpers/SSTORE2Deployer.sol +30 -0
- package/contracts/libraries/helpers/TokenHelper.sol +1 -1
- package/contracts/libraries/math/LogExpMath.sol +1 -1
- package/contracts/libraries/math/MarketApproxLib.sol +1 -1
- package/contracts/libraries/math/MarketMathCore.sol +1 -1
- package/contracts/libraries/math/Math.sol +1 -1
- package/contracts/libraries/math/WeekMath.sol +1 -1
- package/contracts/libraries/traderjoe/JoeLibrary.sol +1 -1
- package/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol +1 -1
- package/contracts/offchain-helpers/RouterStatic.sol +3 -3
- package/contracts/periphery/PendleGovernanceManager.sol +1 -1
- package/contracts/periphery/PermissionsV2Upg.sol +7 -1
- package/deployments/43113-benqi.json +6 -0
- package/deployments/43113-core.json +14 -0
- package/deployments/43113-markets/benqi-market.json +7 -0
- package/deployments/80001-benqi.json +6 -0
- package/deployments/80001-core.json +13 -0
- package/deployments/80001-markets/benqi-market.json +7 -0
- package/package.json +2 -2
- package/typechain-types/{CelerReceiver.ts → CelerReceiverUpg.ts} +5 -5
- package/typechain-types/{CelerSender.ts → CelerSenderUpg.ts} +24 -5
- package/typechain-types/IPGaugeController.ts +63 -0
- package/typechain-types/IPGaugeControllerMainchain.ts +62 -0
- package/typechain-types/{IVePToken.ts → IPInterestManagerYT.ts} +38 -27
- package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
- package/typechain-types/IPMarketFactory.ts +11 -4
- package/typechain-types/IPPrincipalToken.ts +25 -0
- package/typechain-types/IPYieldToken.ts +106 -106
- package/typechain-types/IRewardManager.ts +15 -14
- package/typechain-types/{IPGauge.ts → InterestManagerYT.ts} +27 -28
- package/typechain-types/PendleAaveV3SCY.ts +0 -70
- package/typechain-types/PendleGauge.ts +0 -39
- package/typechain-types/{PendleGaugeController.ts → PendleGaugeControllerBaseUpg.ts} +5 -5
- package/typechain-types/{PendleGaugeControllerMainchain.ts → PendleGaugeControllerMainchainUpg.ts} +5 -5
- package/typechain-types/{PendleGaugeControllerSidechain.ts → PendleGaugeControllerSidechainUpg.ts} +5 -5
- package/typechain-types/PendleMarket.ts +0 -39
- package/typechain-types/PendleMarketFactory.ts +18 -6
- package/typechain-types/PendlePrincipalToken.ts +25 -104
- package/typechain-types/PendleQiTokenSCY.ts +0 -39
- package/typechain-types/{PendleVotingController.ts → PendleVotingControllerUpg.ts} +165 -62
- package/typechain-types/{PendleYearnVaultScy.ts → PendleYearnVaultSCY.ts} +0 -0
- package/typechain-types/PendleYieldContractFactory.ts +31 -0
- package/typechain-types/PendleYieldToken.ts +84 -177
- package/typechain-types/RewardManager.ts +0 -39
- package/typechain-types/{IBeacon.ts → RewardManagerAbstract.ts} +38 -17
- package/typechain-types/RouterStatic.ts +5 -11
- package/typechain-types/SCYBaseWithRewards.ts +0 -39
- package/typechain-types/{VotingControllerStorage.ts → VotingControllerStorageUpg.ts} +28 -68
- package/typechain-types/VotingEscrowPendleMainchain.ts +19 -54
- package/typechain-types/{VotingEscrowToken.ts → VotingEscrowTokenBase.ts} +5 -5
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionCore__factory.ts +1 -1
- package/typechain-types/factories/ActionYT__factory.ts +1 -1
- package/typechain-types/factories/{CelerReceiver__factory.ts → CelerReceiverUpg__factory.ts} +9 -6
- package/typechain-types/factories/{CelerSender__factory.ts → CelerSenderUpg__factory.ts} +22 -6
- package/typechain-types/factories/ERC20__factory.ts +1 -1
- package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +26 -0
- package/typechain-types/factories/IPGaugeController__factory.ts +26 -0
- package/typechain-types/factories/IPInterestManagerYT__factory.ts +50 -0
- package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
- package/typechain-types/factories/IPMarketFactory__factory.ts +6 -0
- package/typechain-types/factories/IPPrincipalToken__factory.ts +13 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +91 -43
- package/typechain-types/factories/IRewardManager__factory.ts +7 -2
- package/typechain-types/factories/InterestManagerYT__factory.ts +50 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -38
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
- package/typechain-types/factories/{PendleGaugeController__factory.ts → PendleGaugeControllerBaseUpg__factory.ts} +8 -8
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +334 -0
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +393 -0
- package/typechain-types/factories/PendleGauge__factory.ts +0 -24
- package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
- package/typechain-types/factories/PendleJoeLpSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +12 -11
- package/typechain-types/factories/PendleMarket__factory.ts +1 -25
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -85
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -25
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +845 -0
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +691 -0
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +14 -11
- package/typechain-types/factories/PendleYieldToken__factory.ts +76 -94
- package/typechain-types/factories/RewardManagerAbstract__factory.ts +59 -0
- package/typechain-types/factories/RewardManager__factory.ts +0 -24
- package/typechain-types/factories/RouterStatic__factory.ts +2 -2
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -24
- package/typechain-types/factories/{VotingControllerStorage__factory.ts → VotingControllerStorageUpg__factory.ts} +22 -55
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +14 -42
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/factories/{VotingEscrowToken__factory.ts → VotingEscrowTokenBase__factory.ts} +12 -8
- package/typechain-types/hardhat.d.ts +54 -72
- package/typechain-types/index.ts +22 -26
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.json +0 -255
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.json +0 -318
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.json +0 -707
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.dbg.json +0 -4
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.json +0 -101
- package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.json +0 -10
- package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.dbg.json +0 -4
- package/contracts/libraries/helpers/MiniDeployer.sol +0 -23
- package/contracts/libraries/solmate/LibRLP.sol +0 -30
- package/deployments/kovan.json +0 -31
- package/typechain-types/ActionRedeem.ts +0 -125
- package/typechain-types/BeaconProxy.ts +0 -97
- package/typechain-types/ERC1967Upgrade.ts +0 -97
- package/typechain-types/IERC1822Proxiable.ts +0 -87
- package/typechain-types/IPActionRedeem.ts +0 -125
- package/typechain-types/IPBaseToken.ts +0 -365
- package/typechain-types/IPVotingEscrowController.ts +0 -154
- package/typechain-types/IPendleGauge.ts +0 -241
- package/typechain-types/IVotingEscrowPendle.ts +0 -297
- package/typechain-types/PendleBaseToken.ts +0 -475
- package/typechain-types/PendleBenQiErc20SCY.ts +0 -1050
- package/typechain-types/PendleMarketRewards.ts +0 -1317
- package/typechain-types/PendleStEthSCY.ts +0 -872
- package/typechain-types/RewardManagerMini.ts +0 -200
- package/typechain-types/VotingEscrowController.ts +0 -154
- package/typechain-types/factories/ActionRedeem__factory.ts +0 -105
- package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
- package/typechain-types/factories/ERC1967Upgrade__factory.ts +0 -71
- package/typechain-types/factories/IBeacon__factory.ts +0 -36
- package/typechain-types/factories/IERC1822Proxiable__factory.ts +0 -39
- package/typechain-types/factories/IPActionRedeem__factory.ts +0 -70
- package/typechain-types/factories/IPBaseToken__factory.ts +0 -271
- package/typechain-types/factories/IPGauge__factory.ts +0 -42
- package/typechain-types/factories/IPVotingEscrowController__factory.ts +0 -80
- package/typechain-types/factories/IPendleGauge__factory.ts +0 -125
- package/typechain-types/factories/IVePToken__factory.ts +0 -55
- package/typechain-types/factories/IVotingEscrowPendle__factory.ts +0 -182
- package/typechain-types/factories/PendleBaseToken__factory.ts +0 -348
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +0 -871
- package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +0 -332
- package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +0 -391
- package/typechain-types/factories/PendleMarketRewards__factory.ts +0 -1140
- package/typechain-types/factories/PendleStEthSCY__factory.ts +0 -716
- package/typechain-types/factories/PendleVotingController__factory.ts +0 -776
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +0 -691
- package/typechain-types/factories/RewardManagerMini__factory.ts +0 -116
- package/typechain-types/factories/VotingEscrowController__factory.ts +0 -80
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
Contract,
|
|
8
8
|
ContractFactory,
|
|
9
9
|
Overrides,
|
|
10
|
-
BytesLike,
|
|
11
10
|
BigNumberish,
|
|
12
11
|
} from "ethers";
|
|
13
12
|
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
@@ -39,11 +38,6 @@ const _abi = [
|
|
|
39
38
|
name: "_governanceManager",
|
|
40
39
|
type: "address",
|
|
41
40
|
},
|
|
42
|
-
{
|
|
43
|
-
internalType: "bytes",
|
|
44
|
-
name: "_pendleYtCreationCode",
|
|
45
|
-
type: "bytes",
|
|
46
|
-
},
|
|
47
41
|
],
|
|
48
42
|
stateMutability: "nonpayable",
|
|
49
43
|
type: "constructor",
|
|
@@ -221,6 +215,19 @@ const _abi = [
|
|
|
221
215
|
stateMutability: "view",
|
|
222
216
|
type: "function",
|
|
223
217
|
},
|
|
218
|
+
{
|
|
219
|
+
inputs: [
|
|
220
|
+
{
|
|
221
|
+
internalType: "bytes",
|
|
222
|
+
name: "_pendleYtCreationCode",
|
|
223
|
+
type: "bytes",
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
name: "initialize",
|
|
227
|
+
outputs: [],
|
|
228
|
+
stateMutability: "nonpayable",
|
|
229
|
+
type: "function",
|
|
230
|
+
},
|
|
224
231
|
{
|
|
225
232
|
inputs: [],
|
|
226
233
|
name: "interestFeeRate",
|
|
@@ -353,7 +360,7 @@ const _abi = [
|
|
|
353
360
|
];
|
|
354
361
|
|
|
355
362
|
const _bytecode =
|
|
356
|
-
"0x60c06040523480156200001157600080fd5b5060405162003eb338038062003eb38339810160408190526200003491620004bc565b816001600160a01b038116620000805760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6001600160a01b03166080526200009785620000e6565b620000a2846200019e565b620000ad8362000211565b620000b881620002df565b6001600160a01b031660a05260038054906000620000d683620005b0565b9190505550505050505062000684565b620000f06200033d565b6001600160a01b0316336001600160a01b031614620001235760405162461bcd60e51b81526004016200007790620005d8565b80600003620001625760405162461bcd60e51b815260206004820152600a6024820152697a65726f2076616c756560b01b604482015260640162000077565b60008190556040518181527fdaf60f79a59eb1d8c1748ab26dc83c44f364ce8c1fc497ec2df45d9538a1aa11906020015b60405180910390a150565b620001a86200033d565b6001600160a01b0316336001600160a01b031614620001db5760405162461bcd60e51b81526004016200007790620005d8565b60018190556040518181527fa9d618683ded3ac7317e1717ad10e9e3b92041092a8e97ceb038c699cc54d6409060200162000193565b6200021b6200033d565b6001600160a01b0316336001600160a01b0316146200024e5760405162461bcd60e51b81526004016200007790620005d8565b6001600160a01b038116620002955760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000077565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b600080825111620003215760405162461bcd60e51b815260206004820152600b60248201526a0f4cae4de40d8cadccee8d60ab1b604482015260640162000077565b6200033782620003ab60201b62000bb61760201c565b92915050565b60006080516001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000380573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a6919062000601565b905090565b60008082604051602001620003c1919062000626565b6040516020818303038152906040529050600081604051602001620003e791906200064e565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166200044f5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b604482015260640162000077565b5050919050565b80516001600160a01b03811681146200046e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004a65781810151838201526020016200048c565b83811115620004b6576000848401525b50505050565b600080600080600060a08688031215620004d557600080fd5b8551945060208601519350620004ee6040870162000456565b9250620004fe6060870162000456565b60808701519092506001600160401b03808211156200051c57600080fd5b818801915088601f8301126200053157600080fd5b81518181111562000546576200054662000473565b604051601f8201601f19908116603f0116810190838211818310171562000571576200057162000473565b816040528281528b60208487010111156200058b57600080fd5b6200059e83602083016020880162000489565b80955050505050509295509295909350565b600060018201620005d157634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b6000602082840312156200061457600080fd5b6200061f8262000456565b9392505050565b60008152600082516200064181600185016020870162000489565b9190910160010192915050565b6a600b5981380380925939f360a81b815281516000906200067781600b85016020870162000489565b91909101600b0192915050565b60805160a0516137fb620006b86000396000818161023901526107ed0152600081816102610152610c6501526137fb6000f3fe60806040523480156200001157600080fd5b5060043610620000ca5760003560e01c806318b7373d14620000cf57806361d027b3146200010a57806371846aa8146200013757806374973958146200015d5780637d379a48146200017657806387efe5a7146200018d5780638c9f796214620001c4578063a18248c914620001fb578063af64d7411462000233578063d2e6d1c3146200025b578063d58e111f1462000283578063dd86fea1146200029c578063e9e5f3cf14620002a6578063f0f4426014620002b0575b600080fd5b620000f5620000e036600462001841565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6002546200011e906001600160a01b031681565b6040516001600160a01b03909116815260200162000101565b620000f56200014836600462001841565b60076020526000908152604090205460ff1681565b620001746200016e36600462001868565b620002c7565b005b620001746200018736600462001868565b62000388565b6200011e6200019e36600462001882565b60046020908152600092835260408084209091529082529020546001600160a01b031681565b6200011e620001d536600462001882565b60056020908152600092835260408084209091529082529020546001600160a01b031681565b620002126200020c366004620018b1565b620003fb565b604080516001600160a01b0393841681529290911660208301520162000101565b6200011e7f000000000000000000000000000000000000000000000000000000000000000081565b6200011e7f000000000000000000000000000000000000000000000000000000000000000081565b6200028d60035481565b60405190815260200162000101565b6200028d60015481565b6200028d60005481565b62000174620002c136600462001841565b62000ae8565b620002d162000c61565b6001600160a01b0316336001600160a01b0316146200030d5760405162461bcd60e51b81526004016200030490620018f7565b60405180910390fd5b806000036200034c5760405162461bcd60e51b815260206004820152600a6024820152697a65726f2076616c756560b01b604482015260640162000304565b60008190556040518181527fdaf60f79a59eb1d8c1748ab26dc83c44f364ce8c1fc497ec2df45d9538a1aa11906020015b60405180910390a150565b6200039262000c61565b6001600160a01b0316336001600160a01b031614620003c55760405162461bcd60e51b81526004016200030490620018f7565b60018190556040518181527fa9d618683ded3ac7317e1717ad10e9e3b92041092a8e97ceb038c699cc54d640906020016200037d565b60008063ffffffff83164210620004545760405162461bcd60e51b815260206004820152601c60248201527b657870697279206d75737420626520696e207468652066757475726560201b604482015260640162000304565b600054620004699063ffffffff851662001936565b15620004b65760405162461bcd60e51b815260206004820152601b60248201527a36bab9ba1031329036bab63a34b836329037b3103234bb34b9b7b960291b604482015260640162000304565b6001600160a01b03848116600090815260046020908152604080832063ffffffff881684529091529020541615620005265760405162461bcd60e51b8152602060048201526012602482015271141508185b1c9958591e48195e1a5cdd195960721b604482015260640162000304565b60008490506000816001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200056c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200059291906200194d565b925050506000620005b930600360008154620005ae90620019bf565b918290555062000ced565b90506000620005d330600360008154620005ae90620019bf565b9050878162000691866001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200061a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000644919081019062001a24565b8a63ffffffff16604051806040016040528060018152602001600160fd1b81525060405180604001604052806002815260200161141560f21b81525062000f30909392919063ffffffff16565b6200074b876001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620006d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620006fe919081019062001a24565b8b63ffffffff16604051806040016040528060018152602001602d60f81b81525060405180604001604052806002815260200161141560f21b81525062000f30909392919063ffffffff16565b868b6040516200075b906200181a565b6200076c9695949392919062001b0a565b604051809103906000f08015801562000789573d6000803e3d6000fd5b509550816001600160a01b0316866001600160a01b031614620007e75760405162461bcd60e51b815260206004820152601560248201527449452070726564696374656450544164647265737360581b604482015260640162000304565b620009b07f00000000000000000000000000000000000000000000000000000000000000008984620008c8886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000851573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200087b919081019062001a24565b8c63ffffffff16604051806040016040528060018152602001600160fd1b81525060405180604001604052806002815260200161165560f21b81525062000f30909392919063ffffffff16565b62000982896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200090b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000935919081019062001a24565b8d63ffffffff16604051806040016040528060018152602001602d60f81b81525060405180604001604052806002815260200161165560f21b81525062000f30909392919063ffffffff16565b888d6040516020016200099b9695949392919062001b0a565b60405160208183030381529060405262000f70565b9450806001600160a01b0316856001600160a01b03161462000a0d5760405162461bcd60e51b815260206004820152601560248201527449452070726564696374656459544164647265737360581b604482015260640162000304565b6001600160a01b03888116600081815260046020908152604080832063ffffffff8d1680855290835281842080548d88166001600160a01b031991821681179092558686526005855283862083875285528386208054988e16989091168817905580855260068452828520805460ff199081166001908117909255888752600786529584902080549096161790945581519384529183019490945292810192909252907f7c10d2914fa2900a53b0058359f4d5581f2b83982b0964c38c182079e884ba2f9060600160405180910390a2505050509250929050565b62000af262000c61565b6001600160a01b0316336001600160a01b03161462000b255760405162461bcd60e51b81526004016200030490620018f7565b6001600160a01b03811662000b6c5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000304565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b6000808260405160200162000bcc919062001b6f565b604051602081830303815290604052905060008160405160200162000bf2919062001b97565b60405160208183030381529060405290508051602082016000f092506001600160a01b03831662000c5a5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b604482015260640162000304565b5050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000cc2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ce8919062001bcd565b905090565b60008160000362000d5757604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152600160ff1b603682015262000d4f906037015b6040516020818303038152906040528051906020012090565b905062000f2a565b607f821162000dad57604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b16602282015260f883901b6001600160f81b031916603682015262000d4f9060370162000d36565b60ff821162000e0d5760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608160f81b603682015260f883901b6001600160f81b031916603782015262000d4f9060380162000d36565b61ffff821162000e6e57604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152604160f91b60368201526001600160f01b031960f084901b16603782015262000d4f9060390162000d36565b62ffffff821162000ed05760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608360f81b60368201526001600160e81b031960e884901b16603782015262000d4f90603a0162000d36565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152602160fa1b60368201526001600160e01b031960e084901b16603782015262000f2790603b0162000d36565b90505b92915050565b60608482858462000f418762001049565b60405160200162000f5795949392919062001bed565b6040516020818303038152906040529050949350505050565b60006001600160a01b03831662000fb95760405162461bcd60e51b815260206004820152600c60248201526b3d32b937903837b4b73a32b960a11b604482015260640162000304565b600062000fc684620010c7565b8360405160200162000fda92919062001c62565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216620010425760405162461bcd60e51b815260206004820152601160248201527019195c1b1bde5b595b9d0819985a5b1959607a1b604482015260640162000304565b5092915050565b606060006200105883620010ec565b905060006200106e826040015160ff16620012a1565b905060006200107d83620013db565b9050600062001094846000015161ffff16620012a1565b9050828282604051602001620010ad9392919062001c95565b604051602081830303815290604052945050505050919050565b606062000f2a826001620010e6816001600160a01b0384163b62001cde565b62001565565b60408051606081018252600080825260208201819052918101829052908080620011168562001588565b61ffff168452620011296107b2620016a1565b84516200113a9061ffff16620016a1565b62001146919062001cde565b915062001158826301e2850062001cf8565b62001164908462001d1a565b9250816107b285600001516200117b919062001d35565b61ffff166200118b919062001cde565b6200119b906301e1338062001cf8565b620011a7908462001d1a565b92506000600191505b600c8260ff16116200122657620011cc828660000151620016f2565b620011de9060ff166201518062001cf8565b905085620011ed858362001d1a565b1115620012035760ff8216602086015262001226565b6200120f818562001d1a565b9350816200121d8162001d5b565b925050620011b0565b600191505b6200123f85602001518660000151620016f2565b60ff168260ff16116200129857856200125c856201518062001d1a565b1115620012725760ff8216604086015262001298565b62001281620151808562001d1a565b9350816200128f8162001d5b565b9250506200122b565b50505050919050565b606081600003620012c95750506040805180820190915260018152600360fc1b602082015290565b8160005b8115620012f95780620012e081620019bf565b9150620012f19050600a8362001d7d565b9150620012cd565b6000816001600160401b03811115620013165762001316620019db565b6040519080825280601f01601f19166020018201604052801562001341576020820181803683370190505b50905060006200135360018462001cde565b90505b8515620013d2576200136a600a8762001936565b6200137790603062001d1a565b60f81b8282815181106200138f576200138f62001d94565b60200101906001600160f81b031916908160001a9053508015620013bd5780620013b98162001daa565b9150505b620013ca600a8762001d7d565b955062001356565b50949350505050565b604080516101c08101825260036101808201818152622520a760e91b6101a0840152825282518084018452818152622322a160e91b60208281019190915280840191909152835180850185528281526226a0a960e91b8183015283850152835180850185528281526220a82960e91b8183015260608481019190915284518086018652838152624d415960e81b8184015260808501528451808601865283815262252aa760e91b8184015260a0850152845180860186528381526212955360ea1b8184015260c0850152845180860186528381526241554760e81b8184015260e0850152845180860186528381526205345560ec1b81840152610100850152845180860186528381526213d0d560ea1b8184015261012085015284518086018652838152622727ab60e91b8184015261014085015284518086019095529184526244454360e81b84820152610160830193909352918301518190620015439060019062001dc4565b60ff16600c811062001559576200155962001d94565b60200201519392505050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008080806200159d6301e133808662001d7d565b620015ab906107b262001d1a565b9150620015ba6107b2620016a1565b620015c98361ffff16620016a1565b620015d5919062001cde565b9050620015e7816301e2850062001cf8565b620015f3908462001d1a565b925080620016046107b28462001d35565b61ffff1662001614919062001cde565b62001624906301e1338062001cf8565b62001630908462001d1a565b92505b848311156200169957620016536200164d60018462001d35565b620017ca565b156200167157620016696301e285008462001cde565b925062001684565b620016816301e133808462001cde565b92505b6200169160018362001d35565b915062001633565b509392505050565b6000620016b060018362001cde565b9150620016c06101908362001d7d565b620016cd60648462001d7d565b620016da60048562001d7d565b620016e6919062001cde565b62000f2a919062001d1a565b60008260ff16600114806200170a57508260ff166003145b806200171957508260ff166005145b806200172857508260ff166007145b806200173757508260ff166008145b806200174657508260ff16600a145b806200175557508260ff16600c145b15620017645750601f62000f2a565b8260ff16600414806200177a57508260ff166006145b806200178957508260ff166009145b806200179857508260ff16600b145b15620017a75750601e62000f2a565b620017b282620017ca565b15620017c15750601d62000f2a565b50601c62000f2a565b6000620017d960048362001dea565b61ffff16158015620017fa5750620017f360648362001dea565b61ffff1615155b8062000f2a57506200180f6101908362001dea565b61ffff161592915050565b6119b78062001e0f83390190565b6001600160a01b03811681146200183e57600080fd5b50565b6000602082840312156200185457600080fd5b8135620018618162001828565b9392505050565b6000602082840312156200187b57600080fd5b5035919050565b600080604083850312156200189657600080fd5b8235620018a38162001828565b946020939093013593505050565b60008060408385031215620018c557600080fd5b8235620018d28162001828565b9150602083013563ffffffff81168114620018ec57600080fd5b809150509250929050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008262001948576200194862001920565b500690565b6000806000606084860312156200196357600080fd5b8351600281106200197357600080fd5b6020850151909350620019868162001828565b604085015190925060ff811681146200199e57600080fd5b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b600060018201620019d457620019d4620019a9565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562001a0e578181015183820152602001620019f4565b8381111562001a1e576000848401525b50505050565b60006020828403121562001a3757600080fd5b81516001600160401b038082111562001a4f57600080fd5b818401915084601f83011262001a6457600080fd5b81518181111562001a795762001a79620019db565b604051601f8201601f19908116603f0116810190838211818310171562001aa45762001aa4620019db565b8160405282815287602084870101111562001abe57600080fd5b62001ad1836020830160208801620019f1565b979650505050505050565b6000815180845262001af6816020860160208601620019f1565b601f01601f19169290920160200192915050565b6001600160a01b0387811682528616602082015260c06040820181905260009062001b389083018762001adc565b828103606084015262001b4c818762001adc565b91505060ff8416608083015263ffffffff831660a0830152979650505050505050565b600081526000825162001b8a816001850160208701620019f1565b9190910160010192915050565b6a600b5981380380925939f360a81b8152815160009062001bc081600b850160208701620019f1565b91909101600b0192915050565b60006020828403121562001be057600080fd5b8151620018618162001828565b6000865162001c01818460208b01620019f1565b86519083019062001c17818360208b01620019f1565b865191019062001c2c818360208a01620019f1565b855191019062001c41818360208901620019f1565b845191019062001c56818360208801620019f1565b01979650505050505050565b6000835162001c76818460208801620019f1565b83519083019062001c8c818360208801620019f1565b01949350505050565b6000845162001ca9818460208901620019f1565b84519083019062001cbf818360208901620019f1565b845191019062001cd4818360208801620019f1565b0195945050505050565b60008282101562001cf35762001cf3620019a9565b500390565b600081600019048311821515161562001d155762001d15620019a9565b500290565b6000821982111562001d305762001d30620019a9565b500190565b600061ffff8381169083168181101562001d535762001d53620019a9565b039392505050565b600060ff821660ff810362001d745762001d74620019a9565b60010192915050565b60008262001d8f5762001d8f62001920565b500490565b634e487b7160e01b600052603260045260246000fd5b60008162001dbc5762001dbc620019a9565b506000190190565b600060ff821660ff84168082101562001de15762001de1620019a9565b90039392505050565b600061ffff8084168062001e025762001e0262001920565b9216919091069291505056fe6102006040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610160523480156200003757600080fd5b50604051620019b7380380620019b78339810160408190526200005a9162000329565b83838382604051806040016040528060018152602001603160f81b815250848460805182600390805190602001906200009592919062000199565b508151620000ab90600490602085019062000199565b5060ff166080525050600280546001600160f81b0316600160f81b17905581516020808401919091208251918301919091206101008290526101208190524660c0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200015e8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60a0523060e05261014052505050506001600160a01b0398891661018052505050939094166101a05250506101e05250336101c05262000419565b828054620001a790620003dd565b90600052602060002090601f016020900481019282620001cb576000855562000216565b82601f10620001e657805160ff191683800117855562000216565b8280016001018555821562000216579182015b8281111562000216578251825591602001919060010190620001f9565b506200022492915062000228565b5090565b5b8082111562000224576000815560010162000229565b80516001600160a01b03811681146200025757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200028457600080fd5b81516001600160401b0380821115620002a157620002a16200025c565b604051601f8301601f19908116603f01168101908282118183101715620002cc57620002cc6200025c565b81604052838152602092508683858801011115620002e957600080fd5b600091505b838210156200030d5785820183015181830184015290820190620002ee565b838211156200031f5760008385830101525b9695505050505050565b60008060008060008060c087890312156200034357600080fd5b6200034e876200023f565b95506200035e602088016200023f565b60408801519095506001600160401b03808211156200037c57600080fd5b6200038a8a838b0162000272565b95506060890151915080821115620003a157600080fd5b50620003b089828a0162000272565b935050608087015160ff81168114620003c857600080fd5b8092505060a087015190509295509295509295565b600181811c90821680620003f257607f821691505b6020821081036200041357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516114f7620004c06000396000818161017c0152610306015260006102b9015260008181610251015281816103dd015261056a015260006101e90152600061060501526000610c8a01526000610cd901526000610cb401526000610c0d01526000610c3701526000610c61015260006101a801526114f76000f3fe608060405234801561001057600080fd5b50600436106100f15760003560e01c806306fdde03146100f6578063095ea7b31461011457806312a31dcc1461013757806318160ddd1461014c57806323b872dd146101675780632f13b60c1461017a578063313ce567146101a35780633644e515146101dc57806347bfac62146101e457806370a0823114610223578063781c18db1461024c5780637ecebe001461027357806395d89b4114610286578063a9059cbb1461028e578063b64761f9146102a1578063c45a0155146102b4578063d505accf146102db578063dd62ed3e146102ee578063e184c9be14610301575b600080fd5b6100fe610328565b60405161010b91906111df565b60405180910390f35b610127610122366004611250565b6103ba565b604051901515815260200161010b565b61014a610145366004611250565b6103d2565b005b6002546001600160f81b03165b60405190815260200161010b565b61012761017536600461127a565b610431565b7f0000000000000000000000000000000000000000000000000000000000000000421015610127565b6101ca7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161010b565b6101596104b4565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010b565b6101596102313660046112b6565b6001600160a01b031660009081526020819052604090205490565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b6101596102813660046112b6565b6104be565b6100fe6104de565b61012761029c366004611250565b6104ed565b61014a6102af366004611250565b61055f565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b61014a6102e93660046112d8565b6105b1565b6101596102fc36600461134b565b610715565b6101597f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546103379061137e565b80601f01602080910402602001604051908101604052809291908181526020018280546103639061137e565b80156103b05780601f10610385576101008083540402835291602001916103b0565b820191906000526020600020905b81548152906001019060200180831161039357829003601f168201915b5050505050905090565b6000336103c8818585610740565b5060019392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104235760405162461bcd60e51b815260040161041a906113b2565b60405180910390fd5b61042d8282610865565b5050565b600254600090600119600160f81b90910460ff16016104625760405162461bcd60e51b815260040161041a906113d3565b600280546001600160f81b0316600160f91b1790553361048385828561096f565b61048e8585856109e9565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b905090565b60006104af610c00565b6001600160a01b0381166000908152600560205260408120545b92915050565b6060600480546103379061137e565b600254600090600119600160f81b90910460ff160161051e5760405162461bcd60e51b815260040161041a906113d3565b600280546001600160f81b0316600160f91b1790553361053f8185856109e9565b6001915050600280546001600160f81b0316600160f81b17905592915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105a75760405162461bcd60e51b815260040161041a906113b2565b61042d8282610d27565b834211156106015760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161041a565b60007f00000000000000000000000000000000000000000000000000000000000000008888886106308c610e94565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061068b82610ebc565b9050600061069b82878787610f0a565b9050896001600160a01b0316816001600160a01b0316146106fe5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161041a565b6107098a8a8a610740565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166107a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161041a565b6001600160a01b0382166108035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161041a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382166108bb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161041a565b6108c481610f32565b600280546000906108df9084906001600160f81b0316611420565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b031681526020019081526020016000206000828254610937919061144b565b90915550506040518181526001600160a01b038316906000906000805160206114a28339815191529060200160405180910390a35050565b600061097b8484610715565b905060001981146109e357818110156109d65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161041a565b6109e38484848403610740565b50505050565b6001600160a01b038316610a4d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041a565b6001600160a01b038216610aaf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041a565b816001600160a01b0316836001600160a01b031603610b0a5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b604482015260640161041a565b6001600160a01b03831660009081526020819052604090205481811015610b825760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161041a565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610bb990849061144b565b92505081905550826001600160a01b0316846001600160a01b03166000805160206114a283398151915284604051610bf391815260200190565b60405180910390a36109e3565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610c5957507f000000000000000000000000000000000000000000000000000000000000000046145b15610c8357507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6001600160a01b038216610d875760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161041a565b6001600160a01b03821660009081526020819052604090205481811015610dfb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161041a565b6001600160a01b03831660009081526020819052604090208282039055610e2182610f32565b60028054600090610e3c9084906001600160f81b0316611463565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206114a28339815191528460405161085891815260200190565b6001600160a01b03811660009081526005602052604090208054600181018255905b50919050565b60006104d8610ec9610c00565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000610f1b87878787610f48565b91509150610f288161102b565b5095945050505050565b6000600160f81b8210610f4457600080fd5b5090565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115610f755750600090506003611022565b8460ff16601b14158015610f8d57508460ff16601c14155b15610f9e5750600090506004611022565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610ff2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661101b57600060019250925050611022565b9150600090505b94509492505050565b600081600481111561103f5761103f61148b565b036110475750565b600181600481111561105b5761105b61148b565b036110a35760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015260640161041a565b60028160048111156110b7576110b761148b565b036111045760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161041a565b60038160048111156111185761111861148b565b036111705760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161041a565b60048160048111156111845761118461148b565b036111dc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161041a565b50565b600060208083528351808285015260005b8181101561120c578581018301518582016040015282016111f0565b8181111561121e576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461124b57600080fd5b919050565b6000806040838503121561126357600080fd5b61126c83611234565b946020939093013593505050565b60008060006060848603121561128f57600080fd5b61129884611234565b92506112a660208501611234565b9150604084013590509250925092565b6000602082840312156112c857600080fd5b6112d182611234565b9392505050565b600080600080600080600060e0888a0312156112f357600080fd5b6112fc88611234565b965061130a60208901611234565b95506040880135945060608801359350608088013560ff8116811461132e57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561135e57600080fd5b61136783611234565b915061137560208401611234565b90509250929050565b600181811c9082168061139257607f821691505b602082108103610eb657634e487b7160e01b600052602260045260246000fd5b60208082526007908201526613d3931657d65560ca1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001600160f81b038281168482168083038211156114425761144261140a565b01949350505050565b6000821982111561145e5761145e61140a565b500190565b60006001600160f81b03838116908316818110156114835761148361140a565b039392505050565b634e487b7160e01b600052602160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e61b0262644c29cb8c27e1835587e551a2c130f2aa729967d464986268136cdb64736f6c634300080d0033a26469706673582212209090539212e2ff5e35386a5c68d4c96945b0e60d1c7fd2e10dcdc6404335ce1a64736f6c634300080d0033";
|
|
363
|
+
"0x60a06040523480156200001157600080fd5b50604051620035ab380380620035ab833981016040819052620000349162000352565b806001600160a01b038116620000805760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6001600160a01b03166080526200009784620000ce565b620000a28362000186565b620000ad82620001f9565b60688054906000620000bf836200039d565b91905055505050505062000413565b620000d8620002c7565b6001600160a01b0316336001600160a01b0316146200010b5760405162461bcd60e51b81526004016200007790620003c5565b806000036200014a5760405162461bcd60e51b815260206004820152600a6024820152697a65726f2076616c756560b01b604482015260640162000077565b60658190556040518181527fdaf60f79a59eb1d8c1748ab26dc83c44f364ce8c1fc497ec2df45d9538a1aa11906020015b60405180910390a150565b62000190620002c7565b6001600160a01b0316336001600160a01b031614620001c35760405162461bcd60e51b81526004016200007790620003c5565b60668190556040518181527fa9d618683ded3ac7317e1717ad10e9e3b92041092a8e97ceb038c699cc54d640906020016200017b565b62000203620002c7565b6001600160a01b0316336001600160a01b031614620002365760405162461bcd60e51b81526004016200007790620003c5565b6001600160a01b0381166200027d5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000077565b606780546001600160a01b0319166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b60006080516001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200030a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003309190620003ee565b905090565b80516001600160a01b03811681146200034d57600080fd5b919050565b600080600080608085870312156200036957600080fd5b8451935060208501519250620003826040860162000335565b9150620003926060860162000335565b905092959194509250565b600060018201620003be57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b6000602082840312156200040157600080fd5b6200040c8262000335565b9392505050565b608051613175620004366000396000818161026c0152610c8401526131756000f3fe60806040523480156200001157600080fd5b5060043610620000d65760003560e01c806318b7373d14620000db578063439fab91146200011657806361d027b3146200012f57806371846aa814620001525780637497395814620001785780637d379a48146200018f57806387efe5a714620001a65780638c9f796214620001dd578063a18248c91462000214578063af64d741146200024c578063d2e6d1c31462000266578063d58e111f146200028e578063dd86fea114620002a7578063e9e5f3cf14620002b1578063f0f4426014620002bb575b600080fd5b62000101620000ec36600462001757565b606b6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6200012d62000127366004620017f1565b620002d2565b005b60675462000143906001600160a01b031681565b6040516200010d919062001878565b620001016200016336600462001757565b606c6020526000908152604090205460ff1681565b6200012d620001893660046200188c565b620003c7565b6200012d620001a03660046200188c565b6200047f565b62000143620001b7366004620018a6565b60696020908152600092835260408084209091529082529020546001600160a01b031681565b62000143620001ee366004620018a6565b606a6020908152600092835260408084209091529082529020546001600160a01b031681565b6200022b62000225366004620018d5565b620004f2565b604080516001600160a01b039384168152929091166020830152016200010d565b60645462000143906201000090046001600160a01b031681565b620001437f000000000000000000000000000000000000000000000000000000000000000081565b6200029860685481565b6040519081526020016200010d565b6200029860665481565b6200029860655481565b6200012d620002cc36600462001757565b62000b5f565b606454610100900460ff16620002ef5760645460ff1615620002f3565b303b155b6200035c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b606454610100900460ff161580156200037f576064805461ffff19166101011790555b6200038a8262000c2d565b606460026101000a8154816001600160a01b0302191690836001600160a01b031602179055508015620003c3576064805461ff00191690555b5050565b620003d162000c80565b6001600160a01b0316336001600160a01b031614620004045760405162461bcd60e51b815260040162000353906200191b565b80600003620004435760405162461bcd60e51b815260206004820152600a6024820152697a65726f2076616c756560b01b604482015260640162000353565b60658190556040518181527fdaf60f79a59eb1d8c1748ab26dc83c44f364ce8c1fc497ec2df45d9538a1aa11906020015b60405180910390a150565b6200048962000c80565b6001600160a01b0316336001600160a01b031614620004bc5760405162461bcd60e51b815260040162000353906200191b565b60668190556040518181527fa9d618683ded3ac7317e1717ad10e9e3b92041092a8e97ceb038c699cc54d6409060200162000474565b60008063ffffffff831642106200054b5760405162461bcd60e51b815260206004820152601c60248201527b657870697279206d75737420626520696e207468652066757475726560201b604482015260640162000353565b606554620005609063ffffffff85166200195a565b15620005ad5760405162461bcd60e51b815260206004820152601b60248201527a36bab9ba1031329036bab63a34b836329037b3103234bb34b9b7b960291b604482015260640162000353565b6001600160a01b03848116600090815260696020908152604080832063ffffffff8816845290915290205416156200061d5760405162461bcd60e51b8152602060048201526012602482015271141508185b1c9958591e48195e1a5cdd195960721b604482015260640162000353565b60008490506000816001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000689919062001971565b925050506200085d60405180602001620006a39062001730565b6020820181038252601f19601f820116604052506000801b8862000776866001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015620006ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000729919081019062001a00565b8a63ffffffff16604051806040016040528060018152602001600160fd1b81525060405180604001604052806002815260200161141560f21b81525062000d0c909392919063ffffffff16565b62000830876001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620007b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620007e3919081019062001a00565b8b63ffffffff16604051806040016040528060018152602001602d60f81b81525060405180604001604052806002815260200161141560f21b81525062000d0c909392919063ffffffff16565b868b6040516020016200084895949392919062001aa4565b60405160208183030381529060405262000d4c565b935062000a21606460029054906101000a90046001600160a01b03166000801b888762000939876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015620008c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620008ec919081019062001a00565b8b63ffffffff16604051806040016040528060018152602001600160fd1b81525060405180604001604052806002815260200161165560f21b81525062000d0c909392919063ffffffff16565b620009f3886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200097c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620009a6919081019062001a00565b8c63ffffffff16604051806040016040528060018152602001602d60f81b81525060405180604001604052806002815260200161165560f21b81525062000d0c909392919063ffffffff16565b878c60405160200162000a0c9695949392919062001b00565b60405160208183030381529060405262000d8c565b60405163189acdbd60e31b81529093506001600160a01b0385169063c4d66de89062000a5290869060040162001878565b600060405180830381600087803b15801562000a6d57600080fd5b505af115801562000a82573d6000803e3d6000fd5b505050506001600160a01b03868116600081815260696020908152604080832063ffffffff8b1680855290835281842080548b88166001600160a01b03199182168117909255868652606a855283862083875285528386208054988c169890911688179055808552606b8452828520805460ff199081166001908117909255888752606c86529584902080549096161790945581519384529183019490945292810192909252907f7c10d2914fa2900a53b0058359f4d5581f2b83982b0964c38c182079e884ba2f9060600160405180910390a250509250929050565b62000b6962000c80565b6001600160a01b0316336001600160a01b03161462000b9c5760405162461bcd60e51b815260040162000353906200191b565b6001600160a01b03811662000be35760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000353565b606780546001600160a01b0319166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b60008082511162000c6f5760405162461bcd60e51b815260206004820152600b60248201526a0f4cae4de40d8cadccee8d60ab1b604482015260640162000353565b62000c7a8262000dad565b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ce1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d07919062001b65565b905090565b60608482858462000d1d8762000e58565b60405160200162000d3395949392919062001b85565b6040516020818303038152906040529050949350505050565b600080848360405160200162000d6492919062001bfa565b604051602081830303815290604052905062000d836000858362000ed6565b95945050505050565b600062000da562000d9d8562000fdd565b848462000d4c565b949350505050565b6000808260405160200162000dc3919062001c2d565b604051602081830303815290604052905060008160405160200162000de9919062001c55565b60405160208183030381529060405290508051602082016000f092506001600160a01b03831662000e515760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b604482015260640162000353565b5050919050565b6060600062000e678362001002565b9050600062000e7d826040015160ff16620011b7565b9050600062000e8c83620012f1565b9050600062000ea3846000015161ffff16620011b7565b905082828260405160200162000ebc9392919062001c8b565b604051602081830303815290604052945050505050919050565b6000808447101562000f2b5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000353565b825160000362000f7e5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000353565b8383516020850187f590506001600160a01b03811662000da55760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b604482015260640162000353565b606062000c7a82600162000ffc816001600160a01b0384163b62001cea565b6200147b565b604080516060810182526000808252602082018190529181018290529080806200102c856200149e565b61ffff1684526200103f6107b2620015b7565b8451620010509061ffff16620015b7565b6200105c919062001cea565b91506200106e826301e2850062001d04565b6200107a908462001d26565b9250816107b2856000015162001091919062001d41565b61ffff16620010a1919062001cea565b620010b1906301e1338062001d04565b620010bd908462001d26565b92506000600191505b600c8260ff16116200113c57620010e282866000015162001608565b620010f49060ff166201518062001d04565b90508562001103858362001d26565b1115620011195760ff821660208601526200113c565b62001125818562001d26565b935081620011338162001d67565b925050620010c6565b600191505b620011558560200151866000015162001608565b60ff168260ff1611620011ae578562001172856201518062001d26565b1115620011885760ff82166040860152620011ae565b62001197620151808562001d26565b935081620011a58162001d67565b92505062001141565b50505050919050565b606081600003620011df5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156200120f5780620011f68162001d89565b9150620012079050600a8362001da5565b9150620011e3565b6000816001600160401b038111156200122c576200122c6200177e565b6040519080825280601f01601f19166020018201604052801562001257576020820181803683370190505b50905060006200126960018462001cea565b90505b8515620012e85762001280600a876200195a565b6200128d90603062001d26565b60f81b828281518110620012a557620012a562001dbc565b60200101906001600160f81b031916908160001a9053508015620012d35780620012cf8162001dd2565b9150505b620012e0600a8762001da5565b95506200126c565b50949350505050565b604080516101c08101825260036101808201818152622520a760e91b6101a0840152825282518084018452818152622322a160e91b60208281019190915280840191909152835180850185528281526226a0a960e91b8183015283850152835180850185528281526220a82960e91b8183015260608481019190915284518086018652838152624d415960e81b8184015260808501528451808601865283815262252aa760e91b8184015260a0850152845180860186528381526212955360ea1b8184015260c0850152845180860186528381526241554760e81b8184015260e0850152845180860186528381526205345560ec1b81840152610100850152845180860186528381526213d0d560ea1b8184015261012085015284518086018652838152622727ab60e91b8184015261014085015284518086019095529184526244454360e81b84820152610160830193909352918301518190620014599060019062001dec565b60ff16600c81106200146f576200146f62001dbc565b60200201519392505050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b6000808080620014b36301e133808662001da5565b620014c1906107b262001d26565b9150620014d06107b2620015b7565b620014df8361ffff16620015b7565b620014eb919062001cea565b9050620014fd816301e2850062001d04565b62001509908462001d26565b9250806200151a6107b28462001d41565b61ffff166200152a919062001cea565b6200153a906301e1338062001d04565b62001546908462001d26565b92505b84831115620015af57620015696200156360018462001d41565b620016e0565b1562001587576200157f6301e285008462001cea565b92506200159a565b620015976301e133808462001cea565b92505b620015a760018362001d41565b915062001549565b509392505050565b6000620015c660018362001cea565b9150620015d66101908362001da5565b620015e360648462001da5565b620015f060048562001da5565b620015fc919062001cea565b62000c7a919062001d26565b60008260ff16600114806200162057508260ff166003145b806200162f57508260ff166005145b806200163e57508260ff166007145b806200164d57508260ff166008145b806200165c57508260ff16600a145b806200166b57508260ff16600c145b156200167a5750601f62000c7a565b8260ff16600414806200169057508260ff166006145b806200169f57508260ff166009145b80620016ae57508260ff16600b145b15620016bd5750601e62000c7a565b620016c882620016e0565b15620016d75750601d62000c7a565b50601c92915050565b6000620016ef60048362001e12565b61ffff161580156200171057506200170960648362001e12565b61ffff1615155b8062000c7a5750620017256101908362001e12565b61ffff161592915050565b6113098062001e3783390190565b6001600160a01b03811681146200175457600080fd5b50565b6000602082840312156200176a57600080fd5b813562001777816200173e565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620017bf57620017bf6200177e565b604052919050565b60006001600160401b03821115620017e357620017e36200177e565b50601f01601f191660200190565b6000602082840312156200180457600080fd5b81356001600160401b038111156200181b57600080fd5b8201601f810184136200182d57600080fd5b8035620018446200183e82620017c7565b62001794565b8181528560208385010111156200185a57600080fd5b81602084016020830137600091810160200191909152949350505050565b6001600160a01b0391909116815260200190565b6000602082840312156200189f57600080fd5b5035919050565b60008060408385031215620018ba57600080fd5b8235620018c7816200173e565b946020939093013593505050565b60008060408385031215620018e957600080fd5b8235620018f6816200173e565b9150602083013563ffffffff811681146200191057600080fd5b809150509250929050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826200196c576200196c62001944565b500690565b6000806000606084860312156200198757600080fd5b8351600281106200199757600080fd5b6020850151909350620019aa816200173e565b604085015190925060ff81168114620019c257600080fd5b809150509250925092565b60005b83811015620019ea578181015183820152602001620019d0565b83811115620019fa576000848401525b50505050565b60006020828403121562001a1357600080fd5b81516001600160401b0381111562001a2a57600080fd5b8201601f8101841362001a3c57600080fd5b805162001a4d6200183e82620017c7565b81815285602083850101111562001a6357600080fd5b62000d83826020830160208601620019cd565b6000815180845262001a90816020860160208601620019cd565b601f01601f19169290920160200192915050565b6001600160a01b038616815260a06020820181905260009062001aca9083018762001a76565b828103604084015262001ade818762001a76565b91505060ff8416606083015263ffffffff831660808301529695505050505050565b6001600160a01b0387811682528616602082015260c06040820181905260009062001b2e9083018762001a76565b828103606084015262001b42818762001a76565b91505060ff8416608083015263ffffffff831660a0830152979650505050505050565b60006020828403121562001b7857600080fd5b815162001777816200173e565b6000865162001b99818460208b01620019cd565b86519083019062001baf818360208b01620019cd565b865191019062001bc4818360208a01620019cd565b855191019062001bd9818360208901620019cd565b845191019062001bee818360208801620019cd565b01979650505050505050565b6000835162001c0e818460208801620019cd565b83519083019062001c24818360208801620019cd565b01949350505050565b600081526000825162001c48816001850160208701620019cd565b9190910160010192915050565b6a600b5981380380925939f360a81b8152815160009062001c7e81600b850160208701620019cd565b91909101600b0192915050565b6000845162001c9f818460208901620019cd565b84519083019062001cb5818360208901620019cd565b845191019062001cca818360208801620019cd565b0195945050505050565b634e487b7160e01b600052601160045260246000fd5b60008282101562001cff5762001cff62001cd4565b500390565b600081600019048311821515161562001d215762001d2162001cd4565b500290565b6000821982111562001d3c5762001d3c62001cd4565b500190565b600061ffff8381169083168181101562001d5f5762001d5f62001cd4565b039392505050565b600060ff821660ff810362001d805762001d8062001cd4565b60010192915050565b60006001820162001d9e5762001d9e62001cd4565b5060010190565b60008262001db75762001db762001944565b500490565b634e487b7160e01b600052603260045260246000fd5b60008162001de45762001de462001cd4565b506000190190565b600060ff821660ff84168082101562001e095762001e0962001cd4565b90039392505050565b600061ffff8084168062001e2a5762001e2a62001944565b9216919091069291505056fe6101006040523480156200001257600080fd5b50604051620013093803806200130983398101604081905262000035916200015e565b83838360036200004684826200029d565b5060046200005583826200029d565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b0390941660a05250505060e0523360c05262000369565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000b957600080fd5b81516001600160401b0380821115620000d657620000d662000091565b604051601f8301601f19908116603f0116810190828211818310171562000101576200010162000091565b816040528381526020925086838588010111156200011e57600080fd5b600091505b8382101562000142578582018301518183018401529082019062000123565b83821115620001545760008385830101525b9695505050505050565b600080600080600060a086880312156200017757600080fd5b85516001600160a01b03811681146200018f57600080fd5b60208701519095506001600160401b0380821115620001ad57600080fd5b620001bb89838a01620000a7565b95506040880151915080821115620001d257600080fd5b50620001e188828901620000a7565b935050606086015160ff81168114620001f957600080fd5b80925050608086015190509295509295909350565b600181811c908216806200022357607f821691505b6020821081036200024457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029857600081815260208120601f850160051c81016020861015620002735750805b601f850160051c820191505b8181101562000294578281556001016200027f565b5050505b505050565b81516001600160401b03811115620002b957620002b962000091565b620002d181620002ca84546200020e565b846200024a565b602080601f831160018114620003095760008415620002f05750858301515b600019600386901b1c1916600185901b17855562000294565b600085815260208120601f198616915b828110156200033a5788860151825594840194600190910190840162000319565b5085821015620003595787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610f58620003b16000396000818161016601526102c701526000818161027a01526105c2015260006101cb015260006101920152610f586000f3fe608060405234801561001057600080fd5b50600436106100db5760003560e01c806306fdde03146100e0578063095ea7b3146100fe57806312a31dcc1461012157806318160ddd1461013657806323b872dd146101515780632f13b60c14610164578063313ce5671461018d57806347bfac62146101c657806370a0823114610205578063781c18db1461022e57806395d89b4114610247578063a9059cbb1461024f578063b64761f914610262578063c45a015514610275578063c4d66de81461029c578063dd62ed3e146102af578063e184c9be146102c2575b600080fd5b6100e86102e9565b6040516100f59190610cc3565b60405180910390f35b61011161010c366004610d34565b61037b565b60405190151581526020016100f5565b61013461012f366004610d34565b610393565b005b6002546001600160f81b03165b6040519081526020016100f5565b61011161015f366004610d5e565b6103da565b7f0000000000000000000000000000000000000000000000000000000000000000421015610111565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100f5565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f5565b610143610213366004610d9a565b6001600160a01b031660009081526020819052604090205490565b6005546101ed906201000090046001600160a01b031681565b6100e8610458565b61011161025d366004610d34565b610467565b610134610270366004610d34565b6104d9565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6101346102aa366004610d9a565b610513565b6101436102bd366004610dbc565b610655565b6101437f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546102f890610def565b80601f016020809104026020016040519081016040528092919081815260200182805461032490610def565b80156103715780601f1061034657610100808354040283529160200191610371565b820191906000526020600020905b81548152906001019060200180831161035457829003601f168201915b5050505050905090565b600033610389818585610680565b5060019392505050565b6005546201000090046001600160a01b031633146103cc5760405162461bcd60e51b81526004016103c390610e29565b60405180910390fd5b6103d682826107a5565b5050565b600254600090600119600160f81b90910460ff160161040b5760405162461bcd60e51b81526004016103c390610e4a565b600280546001600160f81b0316600160f91b1790553361042c8582856108af565b610437858585610929565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6060600480546102f890610def565b600254600090600119600160f81b90910460ff16016104985760405162461bcd60e51b81526004016103c390610e4a565b600280546001600160f81b0316600160f91b179055336104b9818585610929565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6005546201000090046001600160a01b031633146105095760405162461bcd60e51b81526004016103c390610e29565b6103d68282610b40565b600554610100900460ff1661052e5760055460ff1615610532565b303b155b6105955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103c3565b600554610100900460ff161580156105b7576005805461ffff19166101011790555b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461061e5760405162461bcd60e51b815260206004820152600c60248201526b4f4e4c595f464143544f525960a01b60448201526064016103c3565b6005805462010000600160b01b031916620100006001600160a01b0385160217905580156103d6576005805461ff00191690555050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166106e25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c3565b6001600160a01b0382166107435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c3565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382166107fb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103c3565b61080481610cad565b6002805460009061081f9084906001600160f81b0316610e97565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546108779190610ec2565b90915550506040518181526001600160a01b03831690600090600080516020610f038339815191529060200160405180910390a35050565b60006108bb8484610655565b9050600019811461092357818110156109165760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103c3565b6109238484848403610680565b50505050565b6001600160a01b03831661098d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c3565b6001600160a01b0382166109ef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c3565b816001600160a01b0316836001600160a01b031603610a4a5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016103c3565b6001600160a01b03831660009081526020819052604090205481811015610ac25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103c3565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610af9908490610ec2565b92505081905550826001600160a01b0316846001600160a01b0316600080516020610f0383398151915284604051610b3391815260200190565b60405180910390a3610923565b6001600160a01b038216610ba05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103c3565b6001600160a01b03821660009081526020819052604090205481811015610c145760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103c3565b6001600160a01b03831660009081526020819052604090208282039055610c3a82610cad565b60028054600090610c559084906001600160f81b0316610eda565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020610f038339815191528460405161079891815260200190565b6000600160f81b8210610cbf57600080fd5b5090565b600060208083528351808285015260005b81811015610cf057858101830151858201604001528201610cd4565b81811115610d02576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b610db582610d18565b9392505050565b60008060408385031215610dcf57600080fd5b610dd883610d18565b9150610de660208401610d18565b90509250929050565b600181811c90821680610e0357607f821691505b602082108103610e2357634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526007908201526613d3931657d65560ca1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001600160f81b03828116848216808303821115610eb957610eb9610e81565b01949350505050565b60008219821115610ed557610ed5610e81565b500190565b60006001600160f81b0383811690831681811015610efa57610efa610e81565b03939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f35402327244b52e6d97630361a9002d179f2c37a217c1ca64cae720df30f51464736f6c634300080f0033a2646970667358221220ddf0d0325223798f3b6c129d58c1693edadfeb8772d9b884184a6e19b1bbe5f464736f6c634300080f0033";
|
|
357
364
|
|
|
358
365
|
type PendleYieldContractFactoryConstructorParams =
|
|
359
366
|
| [signer?: Signer]
|
|
@@ -378,7 +385,6 @@ export class PendleYieldContractFactory__factory extends ContractFactory {
|
|
|
378
385
|
_interestFeeRate: BigNumberish,
|
|
379
386
|
_treasury: string,
|
|
380
387
|
_governanceManager: string,
|
|
381
|
-
_pendleYtCreationCode: BytesLike,
|
|
382
388
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
383
389
|
): Promise<PendleYieldContractFactory> {
|
|
384
390
|
return super.deploy(
|
|
@@ -386,7 +392,6 @@ export class PendleYieldContractFactory__factory extends ContractFactory {
|
|
|
386
392
|
_interestFeeRate,
|
|
387
393
|
_treasury,
|
|
388
394
|
_governanceManager,
|
|
389
|
-
_pendleYtCreationCode,
|
|
390
395
|
overrides || {}
|
|
391
396
|
) as Promise<PendleYieldContractFactory>;
|
|
392
397
|
}
|
|
@@ -395,7 +400,6 @@ export class PendleYieldContractFactory__factory extends ContractFactory {
|
|
|
395
400
|
_interestFeeRate: BigNumberish,
|
|
396
401
|
_treasury: string,
|
|
397
402
|
_governanceManager: string,
|
|
398
|
-
_pendleYtCreationCode: BytesLike,
|
|
399
403
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
400
404
|
): TransactionRequest {
|
|
401
405
|
return super.getDeployTransaction(
|
|
@@ -403,7 +407,6 @@ export class PendleYieldContractFactory__factory extends ContractFactory {
|
|
|
403
407
|
_interestFeeRate,
|
|
404
408
|
_treasury,
|
|
405
409
|
_governanceManager,
|
|
406
|
-
_pendleYtCreationCode,
|
|
407
410
|
overrides || {}
|
|
408
411
|
);
|
|
409
412
|
}
|
|
@@ -77,6 +77,62 @@ const _abi = [
|
|
|
77
77
|
name: "Approval",
|
|
78
78
|
type: "event",
|
|
79
79
|
},
|
|
80
|
+
{
|
|
81
|
+
anonymous: false,
|
|
82
|
+
inputs: [
|
|
83
|
+
{
|
|
84
|
+
indexed: true,
|
|
85
|
+
internalType: "address",
|
|
86
|
+
name: "caller",
|
|
87
|
+
type: "address",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
indexed: true,
|
|
91
|
+
internalType: "address",
|
|
92
|
+
name: "receiverPT",
|
|
93
|
+
type: "address",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
indexed: true,
|
|
97
|
+
internalType: "address",
|
|
98
|
+
name: "receiverYT",
|
|
99
|
+
type: "address",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
indexed: false,
|
|
103
|
+
internalType: "uint256",
|
|
104
|
+
name: "amount",
|
|
105
|
+
type: "uint256",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
name: "Mint",
|
|
109
|
+
type: "event",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
anonymous: false,
|
|
113
|
+
inputs: [
|
|
114
|
+
{
|
|
115
|
+
indexed: true,
|
|
116
|
+
internalType: "address",
|
|
117
|
+
name: "caller",
|
|
118
|
+
type: "address",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
indexed: true,
|
|
122
|
+
internalType: "address",
|
|
123
|
+
name: "receiver",
|
|
124
|
+
type: "address",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
indexed: false,
|
|
128
|
+
internalType: "uint256",
|
|
129
|
+
name: "amount",
|
|
130
|
+
type: "uint256",
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
name: "Redeem",
|
|
134
|
+
type: "event",
|
|
135
|
+
},
|
|
80
136
|
{
|
|
81
137
|
anonymous: false,
|
|
82
138
|
inputs: [
|
|
@@ -329,19 +385,6 @@ const _abi = [
|
|
|
329
385
|
stateMutability: "view",
|
|
330
386
|
type: "function",
|
|
331
387
|
},
|
|
332
|
-
{
|
|
333
|
-
inputs: [],
|
|
334
|
-
name: "getScyIndex",
|
|
335
|
-
outputs: [
|
|
336
|
-
{
|
|
337
|
-
internalType: "uint256",
|
|
338
|
-
name: "currentIndex",
|
|
339
|
-
type: "uint256",
|
|
340
|
-
},
|
|
341
|
-
],
|
|
342
|
-
stateMutability: "view",
|
|
343
|
-
type: "function",
|
|
344
|
-
},
|
|
345
388
|
{
|
|
346
389
|
inputs: [],
|
|
347
390
|
name: "isExpired",
|
|
@@ -355,19 +398,6 @@ const _abi = [
|
|
|
355
398
|
stateMutability: "view",
|
|
356
399
|
type: "function",
|
|
357
400
|
},
|
|
358
|
-
{
|
|
359
|
-
inputs: [],
|
|
360
|
-
name: "lastRewardBlock",
|
|
361
|
-
outputs: [
|
|
362
|
-
{
|
|
363
|
-
internalType: "uint256",
|
|
364
|
-
name: "",
|
|
365
|
-
type: "uint256",
|
|
366
|
-
},
|
|
367
|
-
],
|
|
368
|
-
stateMutability: "view",
|
|
369
|
-
type: "function",
|
|
370
|
-
},
|
|
371
401
|
{
|
|
372
402
|
inputs: [
|
|
373
403
|
{
|
|
@@ -476,7 +506,7 @@ const _abi = [
|
|
|
476
506
|
},
|
|
477
507
|
{
|
|
478
508
|
internalType: "uint256[]",
|
|
479
|
-
name: "
|
|
509
|
+
name: "maxAmountScyOuts",
|
|
480
510
|
type: "uint256[]",
|
|
481
511
|
},
|
|
482
512
|
],
|
|
@@ -484,7 +514,7 @@ const _abi = [
|
|
|
484
514
|
outputs: [
|
|
485
515
|
{
|
|
486
516
|
internalType: "uint256",
|
|
487
|
-
name: "
|
|
517
|
+
name: "totalAmountScyOut",
|
|
488
518
|
type: "uint256",
|
|
489
519
|
},
|
|
490
520
|
],
|
|
@@ -537,24 +567,26 @@ const _abi = [
|
|
|
537
567
|
type: "function",
|
|
538
568
|
},
|
|
539
569
|
{
|
|
540
|
-
inputs: [
|
|
570
|
+
inputs: [],
|
|
571
|
+
name: "scyIndexCurrent",
|
|
572
|
+
outputs: [
|
|
541
573
|
{
|
|
542
|
-
internalType: "
|
|
543
|
-
name: "
|
|
544
|
-
type: "
|
|
574
|
+
internalType: "uint256",
|
|
575
|
+
name: "currentIndex",
|
|
576
|
+
type: "uint256",
|
|
545
577
|
},
|
|
546
578
|
],
|
|
547
|
-
|
|
579
|
+
stateMutability: "nonpayable",
|
|
580
|
+
type: "function",
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
inputs: [],
|
|
584
|
+
name: "scyIndexStored",
|
|
548
585
|
outputs: [
|
|
549
586
|
{
|
|
550
|
-
internalType: "
|
|
551
|
-
name: "
|
|
552
|
-
type: "
|
|
553
|
-
},
|
|
554
|
-
{
|
|
555
|
-
internalType: "uint128",
|
|
556
|
-
name: "lastBalance",
|
|
557
|
-
type: "uint128",
|
|
587
|
+
internalType: "uint256",
|
|
588
|
+
name: "",
|
|
589
|
+
type: "uint256",
|
|
558
590
|
},
|
|
559
591
|
],
|
|
560
592
|
stateMutability: "view",
|
|
@@ -565,9 +597,9 @@ const _abi = [
|
|
|
565
597
|
name: "scyReserve",
|
|
566
598
|
outputs: [
|
|
567
599
|
{
|
|
568
|
-
internalType: "
|
|
600
|
+
internalType: "uint128",
|
|
569
601
|
name: "",
|
|
570
|
-
type: "
|
|
602
|
+
type: "uint128",
|
|
571
603
|
},
|
|
572
604
|
],
|
|
573
605
|
stateMutability: "view",
|
|
@@ -652,32 +684,6 @@ const _abi = [
|
|
|
652
684
|
stateMutability: "nonpayable",
|
|
653
685
|
type: "function",
|
|
654
686
|
},
|
|
655
|
-
{
|
|
656
|
-
inputs: [
|
|
657
|
-
{
|
|
658
|
-
internalType: "address",
|
|
659
|
-
name: "user",
|
|
660
|
-
type: "address",
|
|
661
|
-
},
|
|
662
|
-
],
|
|
663
|
-
name: "updateAndDistributeInterest",
|
|
664
|
-
outputs: [],
|
|
665
|
-
stateMutability: "nonpayable",
|
|
666
|
-
type: "function",
|
|
667
|
-
},
|
|
668
|
-
{
|
|
669
|
-
inputs: [
|
|
670
|
-
{
|
|
671
|
-
internalType: "address",
|
|
672
|
-
name: "user",
|
|
673
|
-
type: "address",
|
|
674
|
-
},
|
|
675
|
-
],
|
|
676
|
-
name: "updateAndDistributeReward",
|
|
677
|
-
outputs: [],
|
|
678
|
-
stateMutability: "nonpayable",
|
|
679
|
-
type: "function",
|
|
680
|
-
},
|
|
681
687
|
{
|
|
682
688
|
inputs: [
|
|
683
689
|
{
|
|
@@ -731,34 +737,10 @@ const _abi = [
|
|
|
731
737
|
stateMutability: "view",
|
|
732
738
|
type: "function",
|
|
733
739
|
},
|
|
734
|
-
{
|
|
735
|
-
inputs: [
|
|
736
|
-
{
|
|
737
|
-
internalType: "address",
|
|
738
|
-
name: "token",
|
|
739
|
-
type: "address",
|
|
740
|
-
},
|
|
741
|
-
{
|
|
742
|
-
internalType: "address",
|
|
743
|
-
name: "user",
|
|
744
|
-
type: "address",
|
|
745
|
-
},
|
|
746
|
-
],
|
|
747
|
-
name: "userRewardAccrued",
|
|
748
|
-
outputs: [
|
|
749
|
-
{
|
|
750
|
-
internalType: "uint128",
|
|
751
|
-
name: "",
|
|
752
|
-
type: "uint128",
|
|
753
|
-
},
|
|
754
|
-
],
|
|
755
|
-
stateMutability: "view",
|
|
756
|
-
type: "function",
|
|
757
|
-
},
|
|
758
740
|
];
|
|
759
741
|
|
|
760
742
|
const _bytecode =
|
|
761
|
-
"0x6101206040523480156200001257600080fd5b5060405162003ab138038062003ab183398101604081905262000035916200029b565b8383838260039080519060200190620000509291906200010b565b508151620000669060049060208501906200010b565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b03861615801590620000a557506001600160a01b03851615155b620000e55760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640160405180910390fd5b6001600160a01b0395861660a0529390941660c052505061010052503360e0526200038b565b82805462000119906200034f565b90600052602060002090601f0160209004810192826200013d576000855562000188565b82601f106200015857805160ff191683800117855562000188565b8280016001018555821562000188579182015b82811115620001885782518255916020019190600101906200016b565b50620001969291506200019a565b5090565b5b808211156200019657600081556001016200019b565b80516001600160a01b0381168114620001c957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f657600080fd5b81516001600160401b0380821115620002135762000213620001ce565b604051601f8301601f19908116603f011681019082821181831017156200023e576200023e620001ce565b816040528381526020925086838588010111156200025b57600080fd5b600091505b838210156200027f578582018301518183018401529082019062000260565b83821115620002915760008385830101525b9695505050505050565b60008060008060008060c08789031215620002b557600080fd5b620002c087620001b1565b9550620002d060208801620001b1565b60408801519095506001600160401b0380821115620002ee57600080fd5b620002fc8a838b01620001e4565b955060608901519150808211156200031357600080fd5b506200032289828a01620001e4565b935050608087015160ff811681146200033a57600080fd5b8092505060a087015190509295509295509295565b600181811c908216806200036457607f821691505b6020821081036200038557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516136476200046a60003960008181610537015261083001526000818161047a0152818161069401528181611ad401528181611b570152611eea0152600081816104ea01528181610f5c01528181611e530152818161277b015261281601526000818161028b015281816108a201528181610c1901528181610ffd01528181611087015281816111c401528181611816015281816118c801528181611be101528181611c2101528181611c6b01528181611f7101528181611f9e0152611fd40152600061024101526136476000f3fe608060405234801561001057600080fd5b50600436106101965760003560e01c806306fdde031461019b5780630820a5c5146101b9578063095ea7b3146101ce5780630ef853eb146101f157806318160ddd1461020657806323b872dd146102215780632f13b60c14610234578063313ce5671461023c5780634023fdd4146102755780634321f6bb1461027d57806347bfac62146102865780635cbadbe4146102ba57806366247a72146103195780636b8ae5f31461032c57806370a082311461038d578063719dfc18146103a057806379e6ea16146103b35780638ff5bd7f146103c657806395d89b4114610402578063989cdfb21461040a578063a9059cbb1461041d578063a9f8d18114610430578063b9d9a45314610439578063bcb7ea5d14610441578063bdaba53614610454578063c45a015514610475578063c4f59f9b1461049c578063d68076c3146104b1578063d94073d4146104e5578063db74aa151461050c578063dd62ed3e1461051f578063e184c9be14610532578063ea64a82014610559578063f8b2f9911461056f575b600080fd5b6101a3610577565b6040516101b09190612ecf565b60405180910390f35b6101c1610609565b6040516101b09190612f3d565b6101e16101dc366004612f65565b610734565b60405190151581526020016101b0565b6102046101ff366004612f91565b61074c565b005b6002546001600160f81b03165b6040519081526020016101b0565b6101e161022f366004612fae565b6107b0565b6101e161082e565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101b0565b61020461085a565b61021360075481565b6102ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101b09190612fef565b6102f96102c8366004613003565b60066020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101b0565b610213610327366004612f91565b61095d565b61037561033a366004613003565b6001600160a01b039182166000908152600660209081526040808320939094168252919091522054600160801b90046001600160801b031690565b6040516001600160801b0390911681526020016101b0565b61021361039b366004612f91565b610a13565b6102046103ae366004612f91565b610a2e565b6101c16103c1366004612f91565b610a7a565b6009546103e39060ff81169061010090046001600160801b031682565b6040805192151583526001600160801b039091166020830152016101b0565b6101a3610b1e565b610213610418366004613110565b610b2d565b6101e161042b366004612f65565b610ba3565b61021360055481565b610213610c15565b61021361044f366004612f91565b610c99565b610467610462366004612f91565b610d91565b6040516101b09291906131d1565b6102ad7f000000000000000000000000000000000000000000000000000000000000000081565b6104a4610e87565b6040516101b091906131ea565b6102f96104bf366004612f91565b6008602052600090815260409020546001600160801b0380821691600160801b90041682565b6102ad7f000000000000000000000000000000000000000000000000000000000000000081565b61021361051a366004613003565b610e91565b61021361052d366004613003565b610fce565b6102137f000000000000000000000000000000000000000000000000000000000000000081565b6102f9610567366004612f91565b506000908190565b6101c1610ff9565b60606003805461058690613237565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290613237565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b5050505050905090565b600254606090600119600160f81b90910460ff16016106435760405162461bcd60e51b815260040161063a90613271565b60405180910390fd5b600280546001600160f81b0316600160f91b1790556000610662611083565b9050600061066f8261110b565b90506106796111ad565b61068c816106868461110b565b90611240565b925061071a827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071491906132a8565b85611320565b5050600280546001600160f81b0316600160f81b17905590565b600033610742818585611399565b5060019392505050565b600254600119600160f81b90910460ff160161077a5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055610798816114bd565b50600280546001600160f81b0316600160f81b179055565b600254600090600119600160f81b90910460ff16016107e15760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055336108028582856114ce565b61080d858585611548565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b905090565b61086261082e565b1580610870575060095460ff165b1561087757565b6009805460ff1916600117905560408051633ba0b9a960e01b81529051610917916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633ba0b9a9916004808201926020929091908290030181865afa1580156108ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091291906132c5565b61176a565b600980546001600160801b039290921661010002610100600160881b0319909216919091179055610946611784565b805161095a91600a91602090910190612e4c565b50565b600254600090600119600160f81b90910460ff160161098e5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b1790556109ac826114bd565b6109b582611877565b6109be82611a88565b9050816001600160a01b03166000805160206135b2833981519152826040516109e991815260200190565b60405180910390a26109f9611c50565b600280546001600160f81b0316600160f81b179055919050565b6001600160a01b031660009081526020819052604090205490565b600254600119600160f81b90910460ff1601610a5c5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b17905561079881611877565b600254606090600119600160f81b90910460ff1601610aab5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055610ac9826114bd565b610ad38283611ccb565b9050816001600160a01b03166000805160206135f283398151915282604051610afc9190612f3d565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b60606004805461058690613237565b600254600090600119600160f81b90910460ff1601610b5e5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055610b7d8383611e2c565b509050610b88611c50565b600280546001600160f81b0316600160f81b17905592915050565b600254600090600119600160f81b90910460ff1601610bd45760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b17905533610bf5818585611548565b6001915050600280546001600160f81b0316600160f81b17905592915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906132c5565b600254600090600119600160f81b90910460ff1601610cca5760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b1790556040805160018082528183019092526000916020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090508360001983600081518110610d3b57610d3b6132de565b6020026020010183600081518110610d5557610d556132de565b6020026020010182815250826001600160a01b03166001600160a01b03168152505050610d828282611e2c565b508093505050506109f9611c50565b600254600090606090600119600160f81b90910460ff1601610dc55760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055610de3836114bd565b610dec83611877565b610df68384611ccb565b9050610e0183611a88565b9150826001600160a01b03166000805160206135f283398151915282604051610e2a9190612f3d565b60405180910390a2826001600160a01b03166000805160206135b283398151915283604051610e5b91815260200190565b60405180910390a2610e6b611c50565b600280546001600160f81b0316600160f81b1790559092909150565b6060610855611083565b600254600090600119600160f81b90910460ff1601610ec25760405162461bcd60e51b815260040161063a90613271565b600280546001600160f81b0316600160f91b179055610edf61082e565b610f245760405162461bcd60e51b81526020600482015260166024820152751e5a595b190818dbdb9d1c9858dd08195e1c1a5c995960521b604482015260640161063a565b6000610f2e611fcd565b9050610f39816120aa565b9150610f4583836120c3565b6040516304a8c77360e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906312a31dcc90610f9390879086906004016132f4565b600060405180830381600087803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b5050505050610b88611c50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af115801561105b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610855919081019061330d565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108559190810190613392565b8051606090806001600160401b038111156111285761112861303c565b604051908082528060200260200182016040528015611151578160200160208202803683370190505b50915060005b818110156111a657611181848281518110611174576111746132de565b60200260200101516121d9565b838281518110611193576111936132de565b6020908102919091010152600101611157565b5050919050565b604051633bd73ee360e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ef5cfb8c906111f9903090600401612fef565b6000604051808303816000875af1158015611218573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095a919081019061330d565b815181516060919081146112665760405162461bcd60e51b815260040161063a90613420565b806001600160401b0381111561127e5761127e61303c565b6040519080825280602002602001820160405280156112a7578160200160208202803683370190505b50915060005b81811015611318578381815181106112c7576112c76132de565b60200260200101518582815181106112e1576112e16132de565b60200260200101516112f3919061345f565b838281518110611305576113056132de565b60209081029190910101526001016112ad565b505092915050565b8251815181146113425760405162461bcd60e51b815260040161063a90613420565b60005b818110156113925761138a858281518110611362576113626132de565b60200260200101518585848151811061137d5761137d6132de565b6020026020010151612263565b600101611345565b5050505050565b6001600160a01b0383166113fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161063a565b6001600160a01b03821661145c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161063a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6114c561232c565b61095a8161233d565b60006114da8484610fce565b9050600019811461154257818110156115355760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161063a565b6115428484848403611399565b50505050565b6001600160a01b0383166115ac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161063a565b6001600160a01b03821661160e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161063a565b816001600160a01b0316836001600160a01b0316036116695760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b604482015260640161063a565b61167483838361255a565b6001600160a01b038316600090815260208190526040902054818110156116ec5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161063a565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611723908490613476565b92505081905550826001600160a01b0316846001600160a01b03166000805160206135d28339815191528460405161175d91815260200190565b60405180910390a3611542565b60006001600160801b0382111561178057600080fd5b5090565b606061178e61082e565b156118145761179b61085a565b60006117a5611083565b51905061180e8160096001018054806020026020016040519081016040528092919081815260200182805480156117fb57602002820191906000526020600020905b8154815260200190600101908083116117e7575b50505050506125d290919063ffffffff16565b91505090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af115801561105b573d6000803e3d6000fd5b90565b6001600160a01b0381166000908152600860205260408120546001600160801b0316906118a261082e565b156118c6576118af61085a565b5060095461010090046001600160801b031661194b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194891906132c5565b90505b80820361195757505050565b816000036119a4576119688161176a565b6001600160a01b0393909316600090815260086020526040902080546001600160801b0319166001600160801b03909416939093179092555050565b60006119af84610a13565b905060006119da6119c0848661348e565b6119ca868661345f565b6119d4908561348e565b906126af565b90506119e58161176a565b6001600160a01b03861660009081526008602052604090208054601090611a1d908490600160801b90046001600160801b03166134ad565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a4a8361176a565b6001600160a01b0395909516600090815260086020526040902080546001600160801b0319166001600160801b039096169590951790945550505050565b6001600160a01b03818116600090815260086020908152604080832080546001600160801b03808216909255825163dd86fea160e01b815292519495600160801b9091049091169385937f00000000000000000000000000000000000000000000000000000000000000009092169263dd86fea19260048083019391928290030181865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4291906132c5565b90506000611b5083836126de565b9050611c087f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd791906132a8565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690836126fc565b611c12818461345f565b9350611c486001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001686866126fc565b505050919050565b6040516370a0823160e01b8152611cbd906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190611ca0903090600401612fef565b602060405180830381865afa1580156108ee573d6000803e3d6000fd5b6001600160801b0316600755565b6060611cd56111ad565b6000611cdf611083565b905080516001600160401b03811115611cfa57611cfa61303c565b604051908082528060200260200182016040528015611d23578160200160208202803683370190505b50915060005b8151811015611318576000828281518110611d4657611d466132de565b6020908102919091018101516001600160a01b038082166000908152600684526040808220928b16825291909352909120548551919250600160801b90046001600160801b031690859084908110611da057611da06132de565b602002602001018181525050838281518110611dbe57611dbe6132de565b6020026020010151600014611e1b576001600160a01b038082166000908152600660209081526040808320938a1683529290522080546001600160801b031690558351611e1b908290879087908690811061137d5761137d6132de565b50611e25816134d8565b9050611d29565b6000806000611e39612752565b60405163b64761f960e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b64761f990611e8a90309085906004016132f4565b600060405180830381600087803b158015611ea457600080fd5b505af1158015611eb8573d6000803e3d6000fd5b50505050611ec461082e565b611ed257611ed23082612868565b611edb816129ee565b90935091508115611f995760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6a91906132a8565b9050611f977f00000000000000000000000000000000000000000000000000000000000000008285612263565b505b611fc57f0000000000000000000000000000000000000000000000000000000000000000848787612a63565b509250929050565b60006007547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161201e9190612fef565b602060405180830381865afa15801561203b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205f91906132c5565b612069919061345f565b9050600081116118745760405162461bcd60e51b815260206004820152600c60248201526b524543454956455f5a45524f60a01b604482015260640161063a565b60006120bd6120b7610c15565b83612b14565b92915050565b6001600160a01b0382166121195760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161063a565b6121256000838361255a565b61212e81612b3a565b600280546000906121499084906001600160f81b03166134f1565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546121a19190613476565b90915550506040518181526001600160a01b038316906000906000805160206135d28339815191529060200160405180910390a35050565b60006001600160a01b0382161561225c576040516370a0823160e01b81526001600160a01b038316906370a0823190612216903090600401612fef565b602060405180830381865afa158015612233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225791906132c5565b6120bd565b4792915050565b8060000361227057505050565b6001600160a01b038316612313576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146122cb576040519150601f19603f3d011682016040523d82523d6000602084013e6122d0565b606091505b50509050806115425760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161063a565b6123276001600160a01b03841683836126fc565b505050565b61233461082e565b1561233b57565b565b6000612347611083565b90506000612353611784565b9050600061236084612b4c565b905060005b8351811015611392576000848281518110612382576123826132de565b6020026020010151905060008483815181106123a0576123a06132de565b6020908102919091018101516001600160a01b038085166000908152600684526040808220928c16825291909352909120549091506001600160801b0316801580156123ec5750600082115b156123f5575060015b8082036124045750505061254a565b6000612410828461345f565b9050600061241e87836126de565b6001600160a01b038681166000908152600660209081526040808320938f1683529290529081205491925090612465908390600160801b90046001600160801b0316613476565b9050604051806040016040528061247b8761176a565b6001600160801b031681526020016124928361176a565b6001600160801b031681525060066000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b612553816134d8565b9050612365565b61256261232c565b6001600160a01b0383161580159061258357506001600160a01b0383163014155b1561259a5761259183611877565b61259a8361233d565b6001600160a01b038216158015906125bb57506001600160a01b0382163014155b15612327576125c982611877565b6123278261233d565b60606000826001600160401b038111156125ee576125ee61303c565b604051908082528060200260200182016040528015612617578160200160208202803683370190505b50845190915060005b848160ff1610156126a557818160ff16101561267957858160ff168151811061264b5761264b6132de565b6020026020010151838260ff1681518110612668576126686132de565b60200260200101818152505061269d565b6000838260ff1681518110612690576126906132de565b6020026020010181815250505b600101612620565b5090949350505050565b6000806126c4670de0b6b3a76400008561348e565b90508281816126d5576126d5613513565b04949350505050565b6000806126eb838561348e565b9050670de0b6b3a7640000816126d5565b6123278363a9059cbb60e01b848460405160240161271b9291906132f4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612b57565b600061275c61082e565b6127ff576040516370a0823160e01b8152610855906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906127b0903090600401612fef565b602060405180830381865afa1580156127cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f191906132c5565b6127fa30610a13565b612c29565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061284b903090600401612fef565b602060405180830381865afa158015610c75573d6000803e3d6000fd5b6001600160a01b0382166128c85760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161063a565b6128d48260008361255a565b6001600160a01b038216600090815260208190526040902054818110156129485760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161063a565b6001600160a01b0383166000908152602081905260409020828203905561296e82612b3a565b600280546000906129899084906001600160f81b0316613529565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206135d2833981519152846040516129e191815260200190565b60405180910390a3505050565b6000806129f961082e565b15612a4b57612a0661085a565b600954600090612a249061010090046001600160801b031685612c3f565b9050612a37612a31610c15565b85612c3f565b9250612a43838261345f565b915050915091565b612a5c612a56610c15565b84612c3f565b9150915091565b815181518114612aa65760405162461bcd60e51b815260206004820152600e60248201526d0d2dcecc2d8d2c840d8cadccee8d60931b604482015260640161063a565b8360005b82811015612b0b576000848281518110612ac657612ac66132de565b6020026020010151905082811115612adb5750815b612aff88878481518110612af157612af16132de565b602002602001015183612263565b90910390600101612aaa565b50505050505050565b6000670de0b6b3a7640000612b29848461348e565b612b339190613551565b9392505050565b6000600160f81b821061178057600080fd5b60006120bd82612c54565b6000612bac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ccb9092919063ffffffff16565b8051909150156123275780806020019051810190612bca9190613573565b6123275760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161063a565b6000818310612c385781612b33565b5090919050565b600082612b29670de0b6b3a76400008461348e565b6001600160a01b0381166000908152600860205260408120546001600160801b0316808203612c865750600092915050565b6001600160a01b038316600090815260086020526040902054600160801b90046001600160801b0316612cc182612cbc86610a13565b612c3f565b612b339190613476565b6060612cda8484600085612ce2565b949350505050565b606082471015612d435760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161063a565b6001600160a01b0385163b612d9a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161063a565b600080866001600160a01b03168587604051612db69190613595565b60006040518083038185875af1925050503d8060008114612df3576040519150601f19603f3d011682016040523d82523d6000602084013e612df8565b606091505b5091509150612e08828286612e13565b979650505050505050565b60608315612e22575081612b33565b825115612e325782518084602001fd5b8160405162461bcd60e51b815260040161063a9190612ecf565b828054828255906000526020600020908101928215612e87579160200282015b82811115612e87578251825591602001919060010190612e6c565b506117809291505b808211156117805760008155600101612e8f565b60005b83811015612ebe578181015183820152602001612ea6565b838111156115425750506000910152565b6020815260008251806020840152612eee816040850160208701612ea3565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015612f3257815187529582019590820190600101612f16565b509495945050505050565b602081526000612b336020830184612f02565b6001600160a01b038116811461095a57600080fd5b60008060408385031215612f7857600080fd5b8235612f8381612f50565b946020939093013593505050565b600060208284031215612fa357600080fd5b8135612b3381612f50565b600080600060608486031215612fc357600080fd5b8335612fce81612f50565b92506020840135612fde81612f50565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806040838503121561301657600080fd5b823561302181612f50565b9150602083013561303181612f50565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561307a5761307a61303c565b604052919050565b60006001600160401b0382111561309b5761309b61303c565b5060051b60200190565b600082601f8301126130b657600080fd5b813560206130cb6130c683613082565b613052565b82815260059290921b840181019181810190868411156130ea57600080fd5b8286015b8481101561310557803583529183019183016130ee565b509695505050505050565b6000806040838503121561312357600080fd5b82356001600160401b038082111561313a57600080fd5b818501915085601f83011261314e57600080fd5b8135602061315e6130c683613082565b82815260059290921b8401810191818101908984111561317d57600080fd5b948201945b838610156131a457853561319581612f50565b82529482019490820190613182565b965050860135925050808211156131ba57600080fd5b506131c7858286016130a5565b9150509250929050565b828152604060208201526000612cda6040830184612f02565b6020808252825182820181905260009190848201906040850190845b8181101561322b5783516001600160a01b031683529284019291840191600101613206565b50909695505050505050565b600181811c9082168061324b57607f821691505b60208210810361326b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6000602082840312156132ba57600080fd5b8151612b3381612f50565b6000602082840312156132d757600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b6000602080838503121561332057600080fd5b82516001600160401b0381111561333657600080fd5b8301601f8101851361334757600080fd5b80516133556130c682613082565b81815260059190911b8201830190838101908783111561337457600080fd5b928401925b82841015612e0857835182529284019290840190613379565b600060208083850312156133a557600080fd5b82516001600160401b038111156133bb57600080fd5b8301601f810185136133cc57600080fd5b80516133da6130c682613082565b81815260059190911b820183019083810190878311156133f957600080fd5b928401925b82841015612e0857835161341181612f50565b825292840192908401906133fe565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561347157613471613449565b500390565b6000821982111561348957613489613449565b500190565b60008160001904831182151516156134a8576134a8613449565b500290565b60006001600160801b038281168482168083038211156134cf576134cf613449565b01949350505050565b6000600182016134ea576134ea613449565b5060010190565b60006001600160f81b038281168482168083038211156134cf576134cf613449565b634e487b7160e01b600052601260045260246000fd5b60006001600160f81b038381169083168181101561354957613549613449565b039392505050565b60008261356e57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561358557600080fd5b81518015158114612b3357600080fd5b600082516135a7818460208701612ea3565b919091019291505056fe83a945bd12c713615b59a6e48a3467c05d1a7442350600d6f7fce6af9f7190e9ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef78d61a0c27b13f43911095f9f356f14daa3cd8b125eea1aa22421245e90e813da26469706673582212202ef35303b00b89dd5e77ff60e6d0f055402a8beee27ff5ed4a33a5559d90f63964736f6c634300080d0033";
|
|
743
|
+
"0x6101206040523480156200001257600080fd5b5060405162003aad38038062003aad833981016040819052620000359162000183565b8383836003620000468482620002c6565b506004620000558382620002c6565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b0395861660a0529390941660c052505061010052503360e05262000392565b80516001600160a01b0381168114620000b157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000de57600080fd5b81516001600160401b0380821115620000fb57620000fb620000b6565b604051601f8301601f19908116603f01168101908282118183101715620001265762000126620000b6565b816040528381526020925086838588010111156200014357600080fd5b600091505b8382101562000167578582018301518183018401529082019062000148565b83821115620001795760008385830101525b9695505050505050565b60008060008060008060c087890312156200019d57600080fd5b620001a88762000099565b9550620001b86020880162000099565b60408801519095506001600160401b0380821115620001d657600080fd5b620001e48a838b01620000cc565b95506060890151915080821115620001fb57600080fd5b506200020a89828a01620000cc565b935050608087015160ff811681146200022257600080fd5b8092505060a087015190509295509295509295565b600181811c908216806200024c57607f821691505b6020821081036200026d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002c157600081815260208120601f850160051c810160208610156200029c5750805b601f850160051c820191505b81811015620002bd57828155600101620002a8565b5050505b505050565b81516001600160401b03811115620002e257620002e2620000b6565b620002fa81620002f3845462000237565b8462000273565b602080601f831160018114620003325760008415620003195750858301515b600019600386901b1c1916600185901b178555620002bd565b600085815260208120601f198616915b82811015620003635788860151825594840194600190910190840162000342565b5085821015620003825787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610100516136516200045c600039600081816104ad01526107760152600081816103f00152818161063e015281816108a201528181610c960152611c8301526000818161046001528181610e1601528181611bec0152818161231401526123af01526000818161026e0152818161088101528181610c7501528181610f1101528181610fd8015281816110620152818161119f0152818161195501528181611d0a01528181611d370152611d8d0152600061020001526136516000f3fe608060405234801561001057600080fd5b506004361061016a5760003560e01c806306fdde031461016f5780630820a5c51461018d578063095ea7b3146101a257806318160ddd146101c557806323b872dd146101e05780632f13b60c146101f3578063313ce567146101fb5780634023fdd4146102345780634321f6bb1461023e57806347bfac62146102695780635cbadbe41461029d57806366247a72146102fc57806370a082311461030f57806379e6ea16146103225780638e37b269146103355780638ff5bd7f1461034d57806395d89b4114610389578063989cdfb214610391578063a9059cbb146103a4578063bcb7ea5d146103b7578063bdaba536146103ca578063c45a0155146103eb578063c4f59f9b14610412578063d68076c314610427578063d94073d41461045b578063db74aa1514610482578063dd62ed3e14610495578063e184c9be146104a8578063f65d6fc8146104cf578063f8b2f991146104d7575b600080fd5b6101776104df565b6040516101849190612ed9565b60405180910390f35b610195610571565b6040516101849190612f47565b6101b56101b0366004612f6f565b6106de565b6040519015158152602001610184565b6002546001600160f81b03165b604051908152602001610184565b6101b56101ee366004612f9b565b6106f6565b6101b5610774565b6102227f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610184565b61023c6107a0565b005b600754610251906001600160801b031681565b6040516001600160801b039091168152602001610184565b6102907f000000000000000000000000000000000000000000000000000000000000000081565b6040516101849190612fdc565b6102dc6102ab366004612ff0565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610184565b6101d261030a366004613029565b610823565b6101d261031d366004613029565b61091b565b610195610330366004613029565b610936565b600754600160801b90046001600160801b03166101d2565b60085461036a9060ff81169061010090046001600160801b031682565b6040805192151583526001600160801b03909116602083015201610184565b6101776109da565b6101d261039f36600461311a565b6109e9565b6101b56103b2366004612f6f565b610a5f565b6101d26103c5366004613029565b610ad1565b6103dd6103d8366004613029565b610c08565b6040516101849291906131db565b6102907f000000000000000000000000000000000000000000000000000000000000000081565b61041a610d40565b60405161018491906131f4565b6102dc610435366004613029565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b6102907f000000000000000000000000000000000000000000000000000000000000000081565b6101d2610490366004612ff0565b610d4a565b6101d26104a3366004612ff0565b610edf565b6101d27f000000000000000000000000000000000000000000000000000000000000000081565b6101d2610f0a565b610195610fd4565b6060600380546104ee90613241565b80601f016020809104026020016040519081016040528092919081815260200182805461051a90613241565b80156105675780601f1061053c57610100808354040283529160200191610567565b820191906000526020600020905b81548152906001019060200180831161054a57829003601f168201915b5050505050905090565b600254606090600119600160f81b90910460ff16016105ab5760405162461bcd60e51b81526004016105a29061327b565b60405180910390fd5b600280546001600160f81b0316600160f91b1790556105c8610774565b6106025760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b60448201526064016105a2565b600061060c61105e565b90506000610619826110e6565b9050610623611188565b61063681610630846110e6565b9061121e565b92506106c4827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be91906132b2565b856112fe565b5050600280546001600160f81b0316600160f81b17905590565b6000336106ec818585611377565b5060019392505050565b600254600090600119600160f81b90910460ff16016107275760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b1790553361074885828561149b565b610753858585611515565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b905090565b6107a8610774565b15806107b6575060085460ff165b156107bd57565b6008805460ff191660011790556107da6107d5610f0a565b611737565b600880546001600160801b039290921661010002610100600160881b0319909216919091179055610809611751565b805190915061081f906009906020840190612e56565b5050565b600254600090600119600160f81b90910460ff16016108545760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b179055610872826117e8565b61087b826117f3565b6108c6827f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fe565b9050816001600160a01b03166000805160206135bc833981519152826040516108f191815260200190565b60405180910390a261090161193a565b600280546001600160f81b0316600160f81b179055919050565b6001600160a01b031660009081526020819052604090205490565b600254606090600119600160f81b90910460ff16016109675760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b179055610985826117e8565b61098f82836119ed565b9050816001600160a01b03166000805160206135fc833981519152826040516109b89190612f47565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b6060600480546104ee90613241565b600254600090600119600160f81b90910460ff1601610a1a5760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b179055610a398383611bc5565b509050610a4461193a565b600280546001600160f81b0316600160f81b17905592915050565b600254600090600119600160f81b90910460ff1601610a905760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b17905533610ab1818585611515565b6001915050600280546001600160f81b0316600160f81b17905592915050565b600254600090600119600160f81b90910460ff1601610b025760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b1790556040805160018082528183019092526000916020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090508360001983600081518110610b7357610b736132cf565b6020026020010183600081518110610b8d57610b8d6132cf565b6020026020010182815250826001600160a01b03166001600160a01b03168152505050610bba8282611bc5565b506040518181529093506001600160a01b0385169033907fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d99060200160405180910390a3505061090161193a565b600254600090606090600119600160f81b90910460ff1601610c3c5760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b179055610c5a836117e8565b610c63836117f3565b610c6d83846119ed565b9050610cba837f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fe565b9150826001600160a01b03166000805160206135fc83398151915282604051610ce39190612f47565b60405180910390a2826001600160a01b03166000805160206135bc83398151915283604051610d1491815260200190565b60405180910390a2610d2461193a565b600280546001600160f81b0316600160f81b1790559092909150565b606061079b61105e565b600254600090600119600160f81b90910460ff1601610d7b5760405162461bcd60e51b81526004016105a29061327b565b600280546001600160f81b0316600160f91b179055610d98610774565b15610dde5760405162461bcd60e51b81526020600482015260166024820152751e5a595b190818dbdb9d1c9858dd08195e1c1a5c995960521b60448201526064016105a2565b6000610de8611d66565b9050610df381611e51565b9150610dff8383611e6a565b6040516304a8c77360e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906312a31dcc90610e4d90879086906004016132e5565b600060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b50505050826001600160a01b0316846001600160a01b0316336001600160a01b03167f6b460f6f5497bb72eeec65f6df538e6388b2e74b8fc03e7d318653a663e7378285604051610ece91815260200190565b60405180910390a450610a4461193a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000610fa97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9191906132fe565b600754600160801b90046001600160801b0316611f80565b9050610fb481611737565b600780546001600160801b03928316600160801b02921691909117905590565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af1158015611036573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261079b9190810190613317565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261079b919081019061339c565b8051606090806001600160401b0381111561110357611103613046565b60405190808252806020026020018201604052801561112c578160200160208202803683370190505b50915060005b818110156111815761115c84828151811061114f5761114f6132cf565b6020026020010151611f98565b83828151811061116e5761116e6132cf565b6020908102919091010152600101611132565b5050919050565b604051633bd73ee360e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ef5cfb8c906111d4903090600401612fdc565b6000604051808303816000875af11580156111f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261121b9190810190613317565b50565b815181516060919081146112445760405162461bcd60e51b81526004016105a29061342a565b806001600160401b0381111561125c5761125c613046565b604051908082528060200260200182016040528015611285578160200160208202803683370190505b50915060005b818110156112f6578381815181106112a5576112a56132cf565b60200260200101518582815181106112bf576112bf6132cf565b60200260200101516112d19190613469565b8382815181106112e3576112e36132cf565b602090810291909101015260010161128b565b505092915050565b8251815181146113205760405162461bcd60e51b81526004016105a29061342a565b60005b8181101561137057611368858281518110611340576113406132cf565b60200260200101518585848151811061135b5761135b6132cf565b6020026020010151612022565b600101611323565b5050505050565b6001600160a01b0383166113d95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a2565b6001600160a01b03821661143a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006114a78484610edf565b9050600019811461150f57818110156115025760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a2565b61150f8484848403611377565b50505050565b6001600160a01b0383166115795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a2565b6001600160a01b0382166115db5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a2565b816001600160a01b0316836001600160a01b0316036116365760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016105a2565b6116418383836120eb565b6001600160a01b038316600090815260208190526040902054818110156116b95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a2565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906116f0908490613480565b92505081905550826001600160a01b0316846001600160a01b03166000805160206135dc8339815191528460405161172a91815260200190565b60405180910390a361150f565b60006001600160801b0382111561174d57600080fd5b5090565b60608061175c61105e565b9150611766610774565b156117e0576117736107a0565b6117da825160086001018054806020026020016040519081016040528092919081815260200182805480156117c757602002820191906000526020600020905b8154815260200190600101908083116117b3575b50505050506120ff90919063ffffffff16565b90509091565b6117da610fd4565b61121b8160006121dc565b61121b81600061225c565b6001600160a01b03838116600090815260066020908152604080832080546001600160801b0380821690925582516361d027b360e01b815292519495600160801b909104909116938593918716926361d027b39260048083019391928290030181865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189791906132b2565b90506000846001600160a01b031663dd86fea16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fd91906132fe565b9050600061190b84836122c8565b90506119178185613469565b9450611924878483612022565b61192f878987612022565b505050509392505050565b6040516370a0823160e01b81526119cb906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061198a903090600401612fdc565b602060405180830381865afa1580156119a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d591906132fe565b600780546001600160801b0319166001600160801b0392909216919091179055565b60606119f7611188565b6000611a0161105e565b905080516001600160401b03811115611a1c57611a1c613046565b604051908082528060200260200182016040528015611a45578160200160208202803683370190505b50915060005b81518110156112f65760056000838381518110611a6a57611a6a6132cf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611ae757611ae76132cf565b602002602001018181525050828181518110611b0557611b056132cf565b6020026020010151600014611bb357600060056000848481518110611b2c57611b2c6132cf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611bb3828281518110611340576113406132cf565b80611bbd81613498565b915050611a4b565b6000806000611bd26122eb565b60405163b64761f960e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b64761f990611c2390309085906004016132e5565b600060405180830381600087803b158015611c3d57600080fd5b505af1158015611c51573d6000803e3d6000fd5b50505050611c5d610774565b611c6b57611c6b3082612425565b611c74816125ab565b90935091508115611d325760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0391906132b2565b9050611d307f00000000000000000000000000000000000000000000000000000000000000008285612022565b505b611d5e7f0000000000000000000000000000000000000000000000000000000000000000848787612620565b509250929050565b6007546040516370a0823160e01b81526000916001600160801b0316906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190611dc2903090600401612fdc565b602060405180830381865afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0391906132fe565b611e0d9190613469565b905060008111611e4e5760405162461bcd60e51b815260206004820152600c60248201526b524543454956455f5a45524f60a01b60448201526064016105a2565b90565b6000611e64611e5e610f0a565b836126d1565b92915050565b6001600160a01b038216611ec05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105a2565b611ecc600083836120eb565b611ed5816126f0565b60028054600090611ef09084906001600160f81b03166134b1565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611f489190613480565b90915550506040518181526001600160a01b038316906000906000805160206135dc8339815191529060200160405180910390a35050565b6000818311611f8f5781611f91565b825b9392505050565b60006001600160a01b0382161561201b576040516370a0823160e01b81526001600160a01b038316906370a0823190611fd5903090600401612fdc565b602060405180830381865afa158015611ff2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201691906132fe565b611e64565b4792915050565b8060000361202f57505050565b6001600160a01b0383166120d2576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461208a576040519150601f19603f3d011682016040523d82523d6000602084013e61208f565b606091505b505090508061150f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016105a2565b6120e66001600160a01b0384168383612702565b505050565b6120f5838361225c565b6120e683836121dc565b60606000826001600160401b0381111561211b5761211b613046565b604051908082528060200260200182016040528015612144578160200160208202803683370190505b50845190915060005b848160ff1610156121d257818160ff1610156121a657858160ff1681518110612178576121786132cf565b6020026020010151838260ff1681518110612195576121956132cf565b6020026020010181815250506121ca565b6000838260ff16815181106121bd576121bd6132cf565b6020026020010181815250505b60010161214d565b5090949350505050565b6000806121e7611751565b9150915081516000036121fa5750505050565b6001600160a01b0384161580159061221b57506001600160a01b0384163014155b1561222b5761222b848383612758565b6001600160a01b0383161580159061224c57506001600160a01b0383163014155b1561150f5761150f838383612758565b60006122666129a4565b90506001600160a01b0383161580159061228957506001600160a01b0383163014155b156122985761229883826129d8565b6001600160a01b038216158015906122b957506001600160a01b0382163014155b156120e6576120e682826129d8565b6000806122d583856134dc565b9050670de0b6b3a7640000815b04949350505050565b60006122f5610774565b612398576040516370a0823160e01b815261079b906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190612349903090600401612fdc565b602060405180830381865afa158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238a91906132fe565b6123933061091b565b612b37565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906123e4903090600401612fdc565b602060405180830381865afa158015612401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b91906132fe565b6001600160a01b0382166124855760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105a2565b612491826000836120eb565b6001600160a01b038216600090815260208190526040902054818110156125055760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105a2565b6001600160a01b0383166000908152602081905260409020828203905561252b826126f0565b600280546000906125469084906001600160f81b0316613511565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206135dc8339815191528460405161259e91815260200190565b60405180910390a3505050565b6000806125b6610774565b15612608576125c36107a0565b6008546000906125e19061010090046001600160801b031685612b46565b90506125f46125ee610f0a565b85612b46565b92506126008382613469565b915050915091565b612619612613610f0a565b84612b46565b9150915091565b8151815181146126635760405162461bcd60e51b815260206004820152600e60248201526d0d2dcecc2d8d2c840d8cadccee8d60931b60448201526064016105a2565b8360005b828110156126c8576000848281518110612683576126836132cf565b60200260200101519050828111156126985750815b6126bc888784815181106126ae576126ae6132cf565b602002602001015183612022565b90910390600101612667565b50505050505050565b6000670de0b6b3a76400006126e684846134dc565b611f919190613539565b6000600160f81b821061174d57600080fd5b6120e68363a9059cbb60e01b84846040516024016127219291906132e5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612b5b565b600061276384612c2d565b905060005b8351811015611370576000848281518110612785576127856132cf565b6020026020010151905060008483815181106127a3576127a36132cf565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b03169081900361283f576127f182611737565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506129949050565b81810361284e57505050612994565b600061285a8284613469565b9050600061286887836122c8565b6001600160a01b038681166000908152600560209081526040808320938f16835292905290812054919250906128af908390600160801b90046001600160801b0316613480565b905060405180604001604052806128c587611737565b6001600160801b031681526020016128dc83611737565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61299d81613498565b9050612768565b60006129ae610774565b156129d0576129bb6107a0565b5060085461010090046001600160801b031690565b61079b610f0a565b6001600160a01b0382166000908152600660205260409020546001600160801b0316818103612a0657505050565b80600003612a5357612a1782611737565b6001600160a01b0393909316600090815260066020526040902080546001600160801b0319166001600160801b03909416939093179092555050565b6000612a5e84612ca4565b90506000612a89612a6f85856134dc565b612a798587613469565b612a8390856134dc565b90612caf565b9050612a9481611737565b6001600160a01b03861660009081526006602052604090208054601090612acc908490600160801b90046001600160801b031661355b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612af984611737565b6001600160a01b0395909516600090815260066020526040902080546001600160801b0319166001600160801b039096169590951790945550505050565b6000818310611f8f5781611f91565b6000826126e6670de0b6b3a7640000846134dc565b6000612bb0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612cd59092919063ffffffff16565b8051909150156120e65780806020019051810190612bce919061357d565b6120e65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105a2565b6001600160a01b0381166000908152600660205260408120546001600160801b0316808203612c5f5750600092915050565b6001600160a01b038316600090815260066020526040902054600160801b90046001600160801b0316612c9a82612c958661091b565b612b46565b611f919190613480565b6000611e648261091b565b600080612cc4670de0b6b3a7640000856134dc565b90508281816122e2576122e26134fb565b6060612ce48484600085612cec565b949350505050565b606082471015612d4d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105a2565b6001600160a01b0385163b612da45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105a2565b600080866001600160a01b03168587604051612dc0919061359f565b60006040518083038185875af1925050503d8060008114612dfd576040519150601f19603f3d011682016040523d82523d6000602084013e612e02565b606091505b5091509150612e12828286612e1d565b979650505050505050565b60608315612e2c575081611f91565b825115612e3c5782518084602001fd5b8160405162461bcd60e51b81526004016105a29190612ed9565b828054828255906000526020600020908101928215612e91579160200282015b82811115612e91578251825591602001919060010190612e76565b5061174d9291505b8082111561174d5760008155600101612e99565b60005b83811015612ec8578181015183820152602001612eb0565b8381111561150f5750506000910152565b6020815260008251806020840152612ef8816040850160208701612ead565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015612f3c57815187529582019590820190600101612f20565b509495945050505050565b602081526000611f916020830184612f0c565b6001600160a01b038116811461121b57600080fd5b60008060408385031215612f8257600080fd5b8235612f8d81612f5a565b946020939093013593505050565b600080600060608486031215612fb057600080fd5b8335612fbb81612f5a565b92506020840135612fcb81612f5a565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806040838503121561300357600080fd5b823561300e81612f5a565b9150602083013561301e81612f5a565b809150509250929050565b60006020828403121561303b57600080fd5b8135611f9181612f5a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561308457613084613046565b604052919050565b60006001600160401b038211156130a5576130a5613046565b5060051b60200190565b600082601f8301126130c057600080fd5b813560206130d56130d08361308c565b61305c565b82815260059290921b840181019181810190868411156130f457600080fd5b8286015b8481101561310f57803583529183019183016130f8565b509695505050505050565b6000806040838503121561312d57600080fd5b82356001600160401b038082111561314457600080fd5b818501915085601f83011261315857600080fd5b813560206131686130d08361308c565b82815260059290921b8401810191818101908984111561318757600080fd5b948201945b838610156131ae57853561319f81612f5a565b8252948201949082019061318c565b965050860135925050808211156131c457600080fd5b506131d1858286016130af565b9150509250929050565b828152604060208201526000612ce46040830184612f0c565b6020808252825182820181905260009190848201906040850190845b818110156132355783516001600160a01b031683529284019291840191600101613210565b50909695505050505050565b600181811c9082168061325557607f821691505b60208210810361327557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6000602082840312156132c457600080fd5b8151611f9181612f5a565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561331057600080fd5b5051919050565b6000602080838503121561332a57600080fd5b82516001600160401b0381111561334057600080fd5b8301601f8101851361335157600080fd5b805161335f6130d08261308c565b81815260059190911b8201830190838101908783111561337e57600080fd5b928401925b82841015612e1257835182529284019290840190613383565b600060208083850312156133af57600080fd5b82516001600160401b038111156133c557600080fd5b8301601f810185136133d657600080fd5b80516133e46130d08261308c565b81815260059190911b8201830190838101908783111561340357600080fd5b928401925b82841015612e1257835161341b81612f5a565b82529284019290840190613408565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561347b5761347b613453565b500390565b6000821982111561349357613493613453565b500190565b6000600182016134aa576134aa613453565b5060010190565b60006001600160f81b038281168482168083038211156134d3576134d3613453565b01949350505050565b60008160001904831182151516156134f6576134f6613453565b500290565b634e487b7160e01b600052601260045260246000fd5b60006001600160f81b038381169083168181101561353157613531613453565b039392505050565b60008261355657634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160801b038281168482168083038211156134d3576134d3613453565b60006020828403121561358f57600080fd5b81518015158114611f9157600080fd5b600082516135b1818460208701612ead565b919091019291505056fe83a945bd12c713615b59a6e48a3467c05d1a7442350600d6f7fce6af9f7190e9ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef78d61a0c27b13f43911095f9f356f14daa3cd8b125eea1aa22421245e90e813da264697066735822122015841ab9028fe2189cda4389e51d557cac3d61d4904b97f8a25eaf538952707164736f6c634300080f0033";
|
|
762
744
|
|
|
763
745
|
type PendleYieldTokenConstructorParams =
|
|
764
746
|
| [signer?: Signer]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type {
|
|
8
|
+
RewardManagerAbstract,
|
|
9
|
+
RewardManagerAbstractInterface,
|
|
10
|
+
} from "../RewardManagerAbstract";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
inputs: [
|
|
15
|
+
{
|
|
16
|
+
internalType: "address",
|
|
17
|
+
name: "",
|
|
18
|
+
type: "address",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
internalType: "address",
|
|
22
|
+
name: "",
|
|
23
|
+
type: "address",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
name: "userReward",
|
|
27
|
+
outputs: [
|
|
28
|
+
{
|
|
29
|
+
internalType: "uint128",
|
|
30
|
+
name: "index",
|
|
31
|
+
type: "uint128",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
internalType: "uint128",
|
|
35
|
+
name: "accrued",
|
|
36
|
+
type: "uint128",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
stateMutability: "view",
|
|
40
|
+
type: "function",
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
export class RewardManagerAbstract__factory {
|
|
45
|
+
static readonly abi = _abi;
|
|
46
|
+
static createInterface(): RewardManagerAbstractInterface {
|
|
47
|
+
return new utils.Interface(_abi) as RewardManagerAbstractInterface;
|
|
48
|
+
}
|
|
49
|
+
static connect(
|
|
50
|
+
address: string,
|
|
51
|
+
signerOrProvider: Signer | Provider
|
|
52
|
+
): RewardManagerAbstract {
|
|
53
|
+
return new Contract(
|
|
54
|
+
address,
|
|
55
|
+
_abi,
|
|
56
|
+
signerOrProvider
|
|
57
|
+
) as RewardManagerAbstract;
|
|
58
|
+
}
|
|
59
|
+
}
|