@pendle/core-v2 5.8.9 → 5.9.0
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/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +9 -3
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.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/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.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/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +300 -0
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +50 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +50 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +4 -4
- package/contracts/interfaces/IPChainlinkOracle.sol +3 -1
- package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +80 -0
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +10 -0
- package/deployments/1-core.json +2 -2
- package/deployments/146-core.json +2 -2
- package/deployments/42161-core.json +2 -2
- package/deployments/5000-core.json +2 -2
- package/deployments/56-core.json +2 -2
- package/deployments/80094-core.json +3 -3
- package/deployments/8453-core.json +2 -2
- package/package.json +1 -1
- package/typechain-types/ExpiredLpPtRedeemer.ts +7 -6
- package/typechain-types/I1inchAggregationRouterV6.ts +337 -0
- package/typechain-types/IGenericSwapExactAmountIn.ts +161 -0
- package/typechain-types/IPendleCommonPoolDeployHelperV2.ts +391 -0
- package/typechain-types/MarketSwapNSeed.ts +222 -0
- package/typechain-types/PendleMultiTokenMerkleDistributor.ts +7 -6
- package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +8 -2
- package/typechain-types/factories/I1inchAggregationRouterV6__factory.ts +233 -0
- package/typechain-types/factories/IGenericSwapExactAmountIn__factory.ts +100 -0
- package/typechain-types/factories/IPendleCommonPoolDeployHelperV2__factory.ts +447 -0
- package/typechain-types/factories/MarketSwapNSeed__factory.ts +287 -0
- package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +49 -1
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +49 -1
- package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +8 -2
- package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +9 -0
- package/typechain-types/index.ts +2 -0
- package/typechain-types/AccessControlUpgradeable.ts +0 -369
- package/typechain-types/ActionBase.ts +0 -81
- package/typechain-types/ActionDelegateBase.ts +0 -81
- package/typechain-types/ActionInputTracker.ts +0 -81
- package/typechain-types/AddressProvider.ts +0 -280
- package/typechain-types/AggregatorInterface.ts +0 -233
- package/typechain-types/AggregatorV2V3Interface.ts +0 -385
- package/typechain-types/AggregatorV3Interface.ts +0 -221
- package/typechain-types/AutomateReady.ts +0 -102
- package/typechain-types/BaseSplitCodeFactoryContract.ts +0 -276
- package/typechain-types/BoringOwnableUpgradeable.ts +0 -203
- package/typechain-types/BoringOwnableUpgradeableData.ts +0 -100
- package/typechain-types/ContextUpgradeable.ts +0 -68
- package/typechain-types/EIP712Upgradeable.ts +0 -144
- package/typechain-types/ERC165Upgradeable.ts +0 -113
- package/typechain-types/ERC1967Upgrade.ts +0 -97
- package/typechain-types/ERC20.ts +0 -417
- package/typechain-types/EmptyUUPS.ts +0 -352
- package/typechain-types/Errors.ts +0 -57
- package/typechain-types/IAccessControlUpgradeable.ts +0 -305
- package/typechain-types/IAddressProvider.ts +0 -123
- package/typechain-types/IAutomate.ts +0 -203
- package/typechain-types/IBeacon.ts +0 -87
- package/typechain-types/IERC1271.ts +0 -107
- package/typechain-types/IERC165Upgradeable.ts +0 -102
- package/typechain-types/IERC1822Proxiable.ts +0 -87
- package/typechain-types/IERC1967.ts +0 -97
- package/typechain-types/IERC20.ts +0 -300
- package/typechain-types/IERC20Metadata.ts +0 -339
- package/typechain-types/IERC20Permit.ts +0 -175
- package/typechain-types/IERC5267Upgradeable.ts +0 -135
- package/typechain-types/ILayerZeroEndpoint.ts +0 -256
- package/typechain-types/ILayerZeroReceiver.ts +0 -117
- package/typechain-types/IOpsProxyFactory.ts +0 -93
- package/typechain-types/IPActionInfoStatic.ts +0 -310
- package/typechain-types/IPActionMintRedeemStatic.ts +0 -435
- package/typechain-types/IPChainlinkOracleWithQuote.ts +0 -404
- package/typechain-types/IPExchangeRateOracle.ts +0 -87
- package/typechain-types/IPFeeDistributor.ts +0 -191
- package/typechain-types/IPFeeDistributorV2.ts +0 -287
- package/typechain-types/IPGauge.ts +0 -132
- package/typechain-types/IPGaugeController.ts +0 -275
- package/typechain-types/IPGaugeControllerMainchain.ts +0 -319
- package/typechain-types/IPInterestManagerYT.ts +0 -131
- package/typechain-types/IPInterestManagerYTV2.ts +0 -117
- package/typechain-types/IPMarketFactory.ts +0 -234
- package/typechain-types/IPMarketSwapCallback.ts +0 -115
- package/typechain-types/IPMerkleDistributor.ts +0 -235
- package/typechain-types/IPMiniDiamond.ts +0 -147
- package/typechain-types/IPMsgReceiverApp.ts +0 -104
- package/typechain-types/IPMsgSendEndpoint.ts +0 -166
- package/typechain-types/IPOffchainStorage.ts +0 -146
- package/typechain-types/IPPYLpOracle.ts +0 -400
- package/typechain-types/IPPriceFeed.ts +0 -81
- package/typechain-types/IPPrincipalToken.ts +0 -501
- package/typechain-types/IPReflector.ts +0 -95
- package/typechain-types/IPTokenWithSupplyCap.ts +0 -110
- package/typechain-types/IPVeToken.ts +0 -201
- package/typechain-types/IPYieldContractFactory.ts +0 -370
- package/typechain-types/IPYieldToken.ts +0 -917
- package/typechain-types/IPYieldTokenV2.ts +0 -901
- package/typechain-types/IPossibleSupplyCapInterface.ts +0 -142
- package/typechain-types/IRedstonePriceFeed.ts +0 -259
- package/typechain-types/IRewardManager.ts +0 -108
- package/typechain-types/IStandardizedYield.ts +0 -895
- package/typechain-types/ITaskTreasuryUpgradable.ts +0 -160
- package/typechain-types/ITracker.ts +0 -224
- package/typechain-types/IWETH.ts +0 -380
- package/typechain-types/IWstETH.ts +0 -162
- package/typechain-types/Initializable.ts +0 -68
- package/typechain-types/LegacyNFTHelper.ts +0 -87
- package/typechain-types/Multicall2.ts +0 -437
- package/typechain-types/NonceManager.ts +0 -209
- package/typechain-types/OracleLib.ts +0 -124
- package/typechain-types/PTExpiry.ts +0 -81
- package/typechain-types/PendleERC20.ts +0 -339
- package/typechain-types/PendleFeeDistributorV2.ts +0 -722
- package/typechain-types/PendleMerkleDistributor.ts +0 -610
- package/typechain-types/PendleMsgReceiverAppUpg.ts +0 -125
- package/typechain-types/PendleMsgSenderAppUpg.ts +0 -353
- package/typechain-types/PendleMulticallV1.ts +0 -162
- package/typechain-types/PendleMulticallV2.ts +0 -241
- package/typechain-types/PendleOffchainStorage.ts +0 -666
- package/typechain-types/PendlePrincipalToken.ts +0 -510
- package/typechain-types/PendleSparkLinearDiscountOracle.ts +0 -213
- package/typechain-types/PendleWstETHPriceFeed.ts +0 -148
- package/typechain-types/Proxy.ts +0 -57
- package/typechain-types/SimulateHelper.ts +0 -153
- package/typechain-types/StarNFTV1.ts +0 -880
- package/typechain-types/SupplyCapReader.ts +0 -105
- package/typechain-types/Tracker.ts +0 -432
- package/typechain-types/UUPSUpgradeable.ts +0 -197
- package/typechain-types/factories/AccessControlUpgradeable__factory.ts +0 -247
- package/typechain-types/factories/ActionBase__factory.ts +0 -36
- package/typechain-types/factories/ActionDelegateBase__factory.ts +0 -93
- package/typechain-types/factories/ActionInputTracker__factory.ts +0 -39
- package/typechain-types/factories/AddressProvider__factory.ts +0 -196
- package/typechain-types/factories/AggregatorInterface__factory.ts +0 -153
- package/typechain-types/factories/AggregatorV2V3Interface__factory.ts +0 -268
- package/typechain-types/factories/AggregatorV3Interface__factory.ts +0 -141
- package/typechain-types/factories/AutomateReady__factory.ts +0 -49
- package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +0 -239
- package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +0 -96
- package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +0 -118
- package/typechain-types/factories/ContextUpgradeable__factory.ts +0 -39
- package/typechain-types/factories/EIP712Upgradeable__factory.ts +0 -88
- package/typechain-types/factories/ERC165Upgradeable__factory.ts +0 -58
- package/typechain-types/factories/ERC1967Upgrade__factory.ts +0 -71
- package/typechain-types/factories/ERC20__factory.ts +0 -348
- package/typechain-types/factories/EmptyUUPS__factory.ts +0 -250
- package/typechain-types/factories/Errors__factory.ts +0 -1483
- package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +0 -202
- package/typechain-types/factories/IAddressProvider__factory.ts +0 -63
- package/typechain-types/factories/IAutomate__factory.ts +0 -126
- package/typechain-types/factories/IBeacon__factory.ts +0 -36
- package/typechain-types/factories/IERC1271__factory.ts +0 -47
- package/typechain-types/factories/IERC165Upgradeable__factory.ts +0 -45
- package/typechain-types/factories/IERC1822Proxiable__factory.ts +0 -39
- package/typechain-types/factories/IERC1967__factory.ts +0 -68
- package/typechain-types/factories/IERC20Metadata__factory.ts +0 -248
- package/typechain-types/factories/IERC20Permit__factory.ts +0 -98
- package/typechain-types/factories/IERC20__factory.ts +0 -203
- package/typechain-types/factories/IERC5267Upgradeable__factory.ts +0 -75
- package/typechain-types/factories/ILayerZeroEndpoint__factory.ts +0 -134
- package/typechain-types/factories/ILayerZeroReceiver__factory.ts +0 -54
- package/typechain-types/factories/IOpsProxyFactory__factory.ts +0 -50
- package/typechain-types/factories/IPActionInfoStatic__factory.ts +0 -322
- package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +0 -261
- package/typechain-types/factories/IPChainlinkOracleWithQuote__factory.ts +0 -281
- package/typechain-types/factories/IPExchangeRateOracle__factory.ts +0 -43
- package/typechain-types/factories/IPFeeDistributorV2__factory.ts +0 -184
- package/typechain-types/factories/IPFeeDistributor__factory.ts +0 -138
- package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +0 -202
- package/typechain-types/factories/IPGaugeController__factory.ts +0 -175
- package/typechain-types/factories/IPGauge__factory.ts +0 -74
- package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +0 -59
- package/typechain-types/factories/IPInterestManagerYT__factory.ts +0 -63
- package/typechain-types/factories/IPMarketFactory__factory.ts +0 -168
- package/typechain-types/factories/IPMarketSwapCallback__factory.ts +0 -53
- package/typechain-types/factories/IPMerkleDistributor__factory.ts +0 -165
- package/typechain-types/factories/IPMiniDiamond__factory.ts +0 -67
- package/typechain-types/factories/IPMsgReceiverApp__factory.ts +0 -39
- package/typechain-types/factories/IPMsgSendEndpoint__factory.ts +0 -88
- package/typechain-types/factories/IPOffchainStorage__factory.ts +0 -82
- package/typechain-types/factories/IPPYLpOracle__factory.ts +0 -227
- package/typechain-types/factories/IPPriceFeed__factory.ts +0 -36
- package/typechain-types/factories/IPPrincipalToken__factory.ts +0 -362
- package/typechain-types/factories/IPReflector__factory.ts +0 -42
- package/typechain-types/factories/IPTokenWithSupplyCap__factory.ts +0 -56
- package/typechain-types/factories/IPVeToken__factory.ts +0 -116
- package/typechain-types/factories/IPYieldContractFactory__factory.ts +0 -285
- package/typechain-types/factories/IPYieldTokenV2__factory.ts +0 -694
- package/typechain-types/factories/IPYieldToken__factory.ts +0 -693
- package/typechain-types/factories/IPossibleSupplyCapInterface__factory.ts +0 -82
- package/typechain-types/factories/IRedstonePriceFeed__factory.ts +0 -163
- package/typechain-types/factories/IRewardManager__factory.ts +0 -55
- package/typechain-types/factories/IStandardizedYield__factory.ts +0 -658
- package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +0 -76
- package/typechain-types/factories/ITracker__factory.ts +0 -114
- package/typechain-types/factories/IWETH__factory.ts +0 -261
- package/typechain-types/factories/IWstETH__factory.ts +0 -87
- package/typechain-types/factories/Initializable__factory.ts +0 -36
- package/typechain-types/factories/LegacyNFTHelper__factory.ts +0 -83
- package/typechain-types/factories/Multicall2__factory.ts +0 -372
- package/typechain-types/factories/NonceManager__factory.ts +0 -149
- package/typechain-types/factories/OracleLib__factory.ts +0 -150
- package/typechain-types/factories/PTExpiry__factory.ts +0 -36
- package/typechain-types/factories/PendleERC20__factory.ts +0 -327
- package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +0 -549
- package/typechain-types/factories/PendleMerkleDistributor__factory.ts +0 -488
- package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +0 -67
- package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +0 -193
- package/typechain-types/factories/PendleMulticallV1__factory.ts +0 -142
- package/typechain-types/factories/PendleMulticallV2__factory.ts +0 -212
- package/typechain-types/factories/PendleOffchainStorage__factory.ts +0 -492
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +0 -489
- package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +0 -209
- package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +0 -133
- package/typechain-types/factories/Proxy__factory.ts +0 -28
- package/typechain-types/factories/SimulateHelper__factory.ts +0 -137
- package/typechain-types/factories/StarNFTV1__factory.ts +0 -584
- package/typechain-types/factories/SupplyCapReader__factory.ts +0 -88
- package/typechain-types/factories/Tracker__factory.ts +0 -303
- package/typechain-types/factories/UUPSUpgradeable__factory.ts +0 -115
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
+
import type {
|
|
7
|
+
MarketSwapNSeed,
|
|
8
|
+
MarketSwapNSeedInterface,
|
|
9
|
+
} from "../MarketSwapNSeed";
|
|
10
|
+
|
|
11
|
+
const _abi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [
|
|
14
|
+
{
|
|
15
|
+
internalType: "address",
|
|
16
|
+
name: "_router",
|
|
17
|
+
type: "address",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
stateMutability: "nonpayable",
|
|
21
|
+
type: "constructor",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
inputs: [
|
|
25
|
+
{
|
|
26
|
+
internalType: "int256",
|
|
27
|
+
name: "exchangeRate",
|
|
28
|
+
type: "int256",
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
name: "MarketExchangeRateBelowOne",
|
|
32
|
+
type: "error",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [],
|
|
36
|
+
name: "MarketExpired",
|
|
37
|
+
type: "error",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
inputs: [],
|
|
41
|
+
name: "MarketProportionMustNotEqualOne",
|
|
42
|
+
type: "error",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
inputs: [
|
|
46
|
+
{
|
|
47
|
+
internalType: "int256",
|
|
48
|
+
name: "proportion",
|
|
49
|
+
type: "int256",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
internalType: "int256",
|
|
53
|
+
name: "maxProportion",
|
|
54
|
+
type: "int256",
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
name: "MarketProportionTooHigh",
|
|
58
|
+
type: "error",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
inputs: [
|
|
62
|
+
{
|
|
63
|
+
internalType: "int256",
|
|
64
|
+
name: "rateScalar",
|
|
65
|
+
type: "int256",
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
name: "MarketRateScalarBelowZero",
|
|
69
|
+
type: "error",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
inputs: [
|
|
73
|
+
{
|
|
74
|
+
internalType: "int256",
|
|
75
|
+
name: "totalPt",
|
|
76
|
+
type: "int256",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
internalType: "int256",
|
|
80
|
+
name: "totalAsset",
|
|
81
|
+
type: "int256",
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
name: "MarketZeroTotalPtOrTotalAsset",
|
|
85
|
+
type: "error",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
inputs: [],
|
|
89
|
+
name: "MAX_ITERATIONS",
|
|
90
|
+
outputs: [
|
|
91
|
+
{
|
|
92
|
+
internalType: "uint256",
|
|
93
|
+
name: "",
|
|
94
|
+
type: "uint256",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
stateMutability: "view",
|
|
98
|
+
type: "function",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
inputs: [],
|
|
102
|
+
name: "router",
|
|
103
|
+
outputs: [
|
|
104
|
+
{
|
|
105
|
+
internalType: "address",
|
|
106
|
+
name: "",
|
|
107
|
+
type: "address",
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
stateMutability: "view",
|
|
111
|
+
type: "function",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
inputs: [
|
|
115
|
+
{
|
|
116
|
+
internalType: "address",
|
|
117
|
+
name: "receiver",
|
|
118
|
+
type: "address",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
internalType: "address",
|
|
122
|
+
name: "market",
|
|
123
|
+
type: "address",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
internalType: "uint256",
|
|
127
|
+
name: "minLpOut",
|
|
128
|
+
type: "uint256",
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
internalType: "uint256",
|
|
132
|
+
name: "minYtOut",
|
|
133
|
+
type: "uint256",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
components: [
|
|
137
|
+
{
|
|
138
|
+
internalType: "address",
|
|
139
|
+
name: "tokenIn",
|
|
140
|
+
type: "address",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
internalType: "uint256",
|
|
144
|
+
name: "netTokenIn",
|
|
145
|
+
type: "uint256",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
internalType: "address",
|
|
149
|
+
name: "tokenMintSy",
|
|
150
|
+
type: "address",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
internalType: "address",
|
|
154
|
+
name: "pendleSwap",
|
|
155
|
+
type: "address",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
components: [
|
|
159
|
+
{
|
|
160
|
+
internalType: "enum SwapType",
|
|
161
|
+
name: "swapType",
|
|
162
|
+
type: "uint8",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
internalType: "address",
|
|
166
|
+
name: "extRouter",
|
|
167
|
+
type: "address",
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
internalType: "bytes",
|
|
171
|
+
name: "extCalldata",
|
|
172
|
+
type: "bytes",
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
internalType: "bool",
|
|
176
|
+
name: "needScale",
|
|
177
|
+
type: "bool",
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
internalType: "struct SwapData",
|
|
181
|
+
name: "swapData",
|
|
182
|
+
type: "tuple",
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
internalType: "struct TokenInput",
|
|
186
|
+
name: "input",
|
|
187
|
+
type: "tuple",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
components: [
|
|
191
|
+
{
|
|
192
|
+
internalType: "uint256",
|
|
193
|
+
name: "targetLnImpliedRate",
|
|
194
|
+
type: "uint256",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
internalType: "uint256",
|
|
198
|
+
name: "maxPtToSwap",
|
|
199
|
+
type: "uint256",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
internalType: "uint256",
|
|
203
|
+
name: "eps",
|
|
204
|
+
type: "uint256",
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
internalType: "struct IPMarketSwapNSeed.SwapNSeedData",
|
|
208
|
+
name: "snsData",
|
|
209
|
+
type: "tuple",
|
|
210
|
+
},
|
|
211
|
+
],
|
|
212
|
+
name: "swapNSeed",
|
|
213
|
+
outputs: [
|
|
214
|
+
{
|
|
215
|
+
internalType: "int256",
|
|
216
|
+
name: "amountPYToAccount",
|
|
217
|
+
type: "int256",
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
internalType: "uint256",
|
|
221
|
+
name: "netLpOut",
|
|
222
|
+
type: "uint256",
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
internalType: "uint256",
|
|
226
|
+
name: "netYtOut",
|
|
227
|
+
type: "uint256",
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
stateMutability: "payable",
|
|
231
|
+
type: "function",
|
|
232
|
+
},
|
|
233
|
+
];
|
|
234
|
+
|
|
235
|
+
const _bytecode =
|
|
236
|
+
"0x60a06040523480156200001157600080fd5b5060405162002e8f38038062002e8f833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051612dfc62000093600039600060a10152612dfc6000f3fe6080604052600436106100345760003560e01c80631d92c26d146100395780637fe2f0b214610061578063f887ea401461008f575b600080fd5b34801561004557600080fd5b5061004e601e81565b6040519081526020015b60405180910390f35b61007461006f366004612740565b6100d0565b60408051938452602084019290925290820152606001610058565b34801561009b57600080fd5b506100c37f000000000000000000000000000000000000000000000000000000000000000081565b60405161005891906127d6565b6040805160608101825260008082526020820181905291810182905281908190886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561012e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015291906127ea565b6001600160a01b03908116604085015290811660208401521680825261017c9030906001896101cd565b506101978a8a83610192368a90038a018a61286e565b6102bc565b815160408301519195506101b9918c918c916101b2826104dd565b8d8d610553565b50949b909a50939850929650505050505050565b6000806101dd60808401846128d7565b6101eb906020810190612906565b905060008082600a81111561020257610202612921565b0361022d576102226102176020860186612937565b338660200135610794565b5060208301356102a4565b600382600a81111561024157610241612921565b03610280576102566102176020860186612937565b6102226102666020860186612937565b6102766060870160408801612937565b8660200135610800565b610289846108c6565b6102a161029c6060860160408701612937565b6109dd565b90505b6102b18787838888610a67565b979650505050505050565b6000806102c885610b4d565b905060006102d586610c21565b905060006102e4828442610c97565b9050846000015182610100015111156103d55761030e85602001516103098484610d98565b610dd2565b60208601526000806103228484878a610de8565b9150915081955061034088600001518a61033b84610efc565b610f12565b886001600160a01b0316635b709f178b61035985610efc565b604080516000815260208101918290526001600160e01b031960e086901b1690915261038a929190602481016129a4565b60408051808303816000875af11580156103a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cc91906129d4565b505050506104d2565b6103eb8560200151610309838560000151610fdc565b60208601526103fc82828588611070565b9350600061040985610efc565b8751604089015191925060009161042e9130916104268987611163565b86600061116f565b905061043f88602001518a83610f12565b61044e88604001518b83610f12565b604080516000815260208101918290526329910b1160e01b9091526001600160a01b038a16906329910b119061048b9030908690602481016129a4565b60408051808303816000875af11580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd91906129d4565b505050505b505050949350505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a082319061050c9030906004016127d6565b602060405180830381865afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d91906129f8565b92915050565b6000806000806105628a610c21565b90506000610578896001600160a01b0316611250565b905061059161058a8360200151611292565b82906112a1565b825161059c90611292565b6105a69190612a27565b82516105b190611292565b6105bb908a612a3a565b6105c59190612a67565b925060006105d3848a612a7b565b90506105e08b8b86610f12565b6105eb8b8d83610f12565b896001600160a01b031663db74aa158d8f6040518363ffffffff1660e01b8152600401610619929190612a8e565b6020604051808303816000875af1158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c91906129f8565b604051630ab714fb60e11b81526001600160a01b038f811660048301526024820184905260448201839052919650908d169063156e29f6906064016060604051808303816000875af11580156106b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106da9190612aa8565b5090965050878610156107345760405162461bcd60e51b815260206004820152601d60248201527f536c6970706167653a20494e53554646494349454e545f4c505f4f555400000060448201526064015b60405180910390fd5b868510156107845760405162461bcd60e51b815260206004820152601d60248201527f536c6970706167653a20494e53554646494349454e545f59545f4f5554000000604482015260640161072b565b5050509750975097945050505050565b6001600160a01b0383166107e5578034146107e05760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161072b565b505050565b80156107e0576107e06001600160a01b0384168330846112ad565b6001600160a01b03831661086757816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561084957600080fd5b505af115801561085d573d6000803e3d6000fd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d90602401600060405180830381600087803b1580156108a957600080fd5b505af11580156108bd573d6000803e3d6000fd5b50505050505050565b60006108d56020830183612937565b6001600160a01b0316036108f8576108f36000338360200135610794565b610923565b6109236109086020830183612937565b336109196080850160608601612937565b8460200135611318565b6109336080820160608301612937565b6001600160a01b0316632bdb823c60006109506020850185612937565b6001600160a01b03161461096557600061096b565b82602001355b6109786020850185612937565b602085013561098a60808701876128d7565b6040518563ffffffff1660e01b81526004016109a893929190612b18565b6000604051808303818588803b1580156109c157600080fd5b505af11580156109d5573d6000803e3d6000fd5b505050505050565b60006001600160a01b03821615610a60576040516370a0823160e01b81526001600160a01b038316906370a0823190610a1a9030906004016127d6565b602060405180830381865afa158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b91906129f8565b61054d565b4792915050565b60008080610a7b6060850160408601612937565b6001600160a01b031614610a90576000610a92565b845b9050610aad610aa76060850160408601612937565b87611333565b6001600160a01b0386166320e8c5658289610ace6060880160408901612937565b6040516001600160e01b031960e086901b1681526001600160a01b03928316600482015291166024820152604481018990526064810188905260840160206040518083038185885af1158015610b28573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102b191906129f8565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb291906127ea565b92505050806001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a91906129f8565b9392505050565b610c296126d3565b60405163794052f360e01b81526001600160a01b0383169063794052f390610c559030906004016127d6565b61012060405180830381865afa158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d9190612bfa565b610cc26040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610ce65760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610cf89190612a7b565b9050610d0485826113f2565b82526020850151610d16908590611453565b602083015284511580610d2b57506020820151155b15610d59578451602083015160405163b1c4aefb60e01b81526004810192909252602482015260440161072b565b610d7785600001518661010001518460200151856000015185611492565b604083015260c0850151610d8b9082611513565b6060830152509392505050565b81516020820151600091610c1a91610dc390610db49083612c7c565b670d529ae9e860000090611547565b610dcd9190612ca4565b611292565b6000818310610de15781610c1a565b5090919050565b6000806000610dfa846020015161156a565b90506000806000896101000151905060005b601e811015610e8657610e20600286612ccb565b94506000610e2d8c611580565b90506000610e3b8787612c7c565b90506000610e4b838e8e856115ec565b505090508a600001518361010001511115610e7857610e6a8888612c7c565b965082610100015194508095505b505050806001019050610e0c565b50610e9a8760000151828960400151611740565b15610eaa57829550819450610eef565b60405162461bcd60e51b815260206004820152601a60248201527917d8d85b18d05b5bdd5b9d141d151bd09d5e4e8819985a5b195960321b604482015260640161072b565b5050505094509492505050565b6000808213610f0e57610a5b82612cf9565b5090565b80600003610f1f57505050565b6001600160a01b038316610fc8576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f7a576040519150601f19603f3d011682016040523d82523d6000602084013e610f7f565b606091505b5050905080610fc25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161072b565b50505050565b6107e06001600160a01b0384168383611788565b600080611009611004856000015186604001518760600151610ffe9190612ca4565b90611547565b6117a7565b90506000611029611022670de0b6b3a764000084612c7c565b8390611bbc565b905060006110478660200151866110409190612c7c565b8390611547565b905060006110558287612ca4565b90506103e8611066826103e7612a3a565b6102b19190612a67565b600080611080836020015161156a565b610100870151909150600090815b601e8110156110fc576110a2600285612ccb565b935060006110af8a611580565b905060006110bd8686612ca4565b90506110cb828b8b846115ec565b50508851610100840151101590506110f2576110e78686612ca4565b945081610100015193505b505060010161108e565b506111108560000151828760400151611740565b1561111d578193506104d2565b60405162461bcd60e51b815260206004820152601b60248201527a17d8d85b18d05b5bdd5b9d141d151bd4d95b1b0e8819985a5b1959602a1b604482015260640161072b565b6000610c1a8383611be2565b600081156111835761118386338787611318565b60405163db74aa1560e01b81526001600160a01b0386169063db74aa15906111b1908a908190600401612a8e565b6020604051808303816000875af11580156111d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f491906129f8565b9050828110156112465760405162461bcd60e51b815260206004820181905260248201527f536c6970706167653a20494e53554646494349454e545f50545f59545f4f5554604482015260640161072b565b9695505050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610529573d6000803e3d6000fd5b600080821215610f0e57600080fd5b6000610c1a8383611c18565b6040516001600160a01b0380851660248301528316604482015260648101829052610fc29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c2d565b8015610fc257610fc26001600160a01b0385168484846112ad565b6001600160a01b038216611345575050565b61135760026001600160601b03612d15565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b815260040161138e929190612a8e565b602060405180830381865afa1580156113ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cf91906129f8565b10156113ee576113e182826000611d02565b6113ee8282600019611d02565b5050565b60006113fd8261156a565b61141461140f6201518061016d612a3a565b61156a565b84608001516114239190612d3b565b61142d9190612ccb565b90506000811361054d57604051630e520c3b60e11b81526004810182905260240161072b565b60008060008312611465576001611469565b6000195b905061148061140f8561147b86610efc565b611c18565b61148a9082612d3b565b949350505050565b60008061149f8684611513565b9050670de0b6b3a76400008112156114cd5760405163329e322960e21b81526004810182905260240161072b565b60006114e36114dc878a612c7c565b8990611bbc565b905060006114f082611e16565b90506114fc8187611bbc565b6115069084612ca4565b9998505050505050505050565b6000806115256201518061016d612a3a565b61152f8486612a3a565b6115399190612a67565b905061148a6110048261156a565b6000806115548385612d3b565b9050670de0b6b3a7640000815b05949350505050565b60006001600160ff1b03821115610f0e57600080fd5b6115886126d3565b8151815260208083015190820152604080830151908201526060808301516001600160a01b0316908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100918201519181019190915290565b60008060008061160f8860000151886020015189600001518a6040015189611e69565b905060006116256116208784611bbc565b611f1f565b606089015190915060008713156116945760006116428483611bbc565b9050670de0b6b3a76400008112156116705760405163329e322960e21b81526004810182905260240161072b565b61168c61168583670de0b6b3a7640000612ca4565b8490611547565b9150506116c1565b6116be816116aa81670de0b6b3a7640000612ca4565b6116b49085612d3b565b6116209190612ccb565b90505b600060646116d28c60e0015161156a565b6116dc9084612d3b565b6116e69190612ccb565b905060006116f48385612ca4565b90506000811261170d576117088a82611f2d565b611717565b6117178a82611f5a565b97506117238a84611f2d565b965061172f8a83611f2d565b955050505050509450945094915050565b60008361175e8461175985670de0b6b3a7640000612a7b565b611f87565b1115801561148a575061177d8361175984670de0b6b3a7640000612a27565b841115949350505050565b6107e08363a9059cbb60e01b84846040516024016112e1929190612d6b565b6000680238fd42c5cf03ffff1982121580156117cc575068070c1cc73b00c800008213155b61180b5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161072b565b600082121561184357611820826000036117a7565b6a0c097ce7bc90715b34b9f160241b8161183c5761183c612a51565b0592915050565b60006806f05b59d3b2000000831261188157506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6118b7565b6803782dace9d900000083126118b357506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806118b7565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126119075768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611943576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261197d57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126119b7576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126119f057680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611a295768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611a62576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611a9b5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080611bd1670de0b6b3a764000085612d3b565b905082818161156157611561612a51565b600082600181611bfa670de0b6b3a764000086612a3a565b611c049190612a27565b611c0e9190612a7b565b610c1a9190612a67565b6000670de0b6b3a7640000611c0e8484612a3a565b6000611c82826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fa79092919063ffffffff16565b9050805160001480611ca3575080806020019051810190611ca39190612d84565b6107e05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161072b565b600080846001600160a01b031663095ea7b360e01b8585604051602401611d2a929190612d6b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611d689190612da1565b6000604051808303816000865af19150503d8060008114611da5576040519150601f19603f3d011682016040523d82523d6000602084013e611daa565b606091505b5091509150818015611dd4575080511580611dd4575080806020019051810190611dd49190612d84565b611e0f5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161072b565b5050505050565b6000670de0b6b3a76400008203611e405760405163a9c8b14d60e01b815260040160405180910390fd5b6000611e5e611e5784670de0b6b3a7640000612ca4565b8490611bbc565b9050610c1a81611fb6565b600080611e768784612047565b90506000611e87611022888a612c7c565b9050670d529ae9e8600000811315611ec357604051637e34684f60e11b815260048101829052670d529ae9e8600000602482015260440161072b565b6000611ece82611e16565b905085611edb8289611bbc565b611ee59190612c7c565b9350670de0b6b3a7640000841215611f135760405163329e322960e21b81526004810185905260240161072b565b50505095945050505050565b600061054d82600019612d3b565b60008060008312611f3f576001611f43565b6000195b905061148061140f85611f5586610efc565b61208e565b60008060008312611f6c576001611f70565b6000195b905061148061140f85611f8286610efc565b611be2565b600080611f948385612a3a565b670de0b6b3a76400009004949350505050565b606061148a84846000856120a3565b6000808213611ff75760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161072b565b670c7d713b49da0000821380156120155750670f43fc2c04ee000082125b1561203957670de0b6b3a764000061202c83612173565b8161183c5761183c612a51565b61054d82612292565b919050565b6000818312156120845760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161072b565b610c1a8284612ca4565b600082611c0e670de0b6b3a764000084612a3a565b6060824710156121045760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161072b565b600080866001600160a01b031685876040516121209190612da1565b60006040518083038185875af1925050503d806000811461215d576040519150601f19603f3d011682016040523d82523d6000602084013e612162565b606091505b50915091506102b187838387612635565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816121b4576121b4612a51565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156122d3576122ca826a0c097ce7bc90715b34b9f160241b816122c4576122c4612a51565b05612292565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b831261231e5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612355576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261239d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126123d8576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261240f57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261244657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261247b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126124a657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126124db576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612510576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612544576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612578576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816125a1576125a1612a51565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b606083156126a457825160000361269d576001600160a01b0385163b61269d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161072b565b508161148a565b61148a83838151156126b95781518083602001fd5b8060405162461bcd60e51b815260040161072b9190612db3565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b038116811461273d57600080fd5b50565b60008060008060008086880361010081121561275b57600080fd5b873561276681612728565b9650602088013561277681612728565b9550604088013594506060880135935060808801356001600160401b0381111561279f57600080fd5b880160a0818b0312156127b157600080fd5b92506060609f19820112156127c557600080fd5b5060a0870190509295509295509295565b6001600160a01b0391909116815260200190565b6000806000606084860312156127ff57600080fd5b835161280a81612728565b602085015190935061281b81612728565b604085015190925061282c81612728565b809150509250925092565b60405161012081016001600160401b038111828210171561286857634e487b7160e01b600052604160045260246000fd5b60405290565b60006060828403121561288057600080fd5b604051606081016001600160401b03811182821017156128b057634e487b7160e01b600052604160045260246000fd5b80604052508235815260208301356020820152604083013560408201528091505092915050565b60008235607e198336030181126128ed57600080fd5b9190910192915050565b8035600b811061204257600080fd5b60006020828403121561291857600080fd5b610c1a826128f7565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561294957600080fd5b8135610c1a81612728565b60005b8381101561296f578181015183820152602001612957565b50506000910152565b60008151808452612990816020860160208601612954565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006129cb6060830184612978565b95945050505050565b600080604083850312156129e757600080fd5b505080516020909101519092909150565b600060208284031215612a0a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561054d5761054d612a11565b808202811582820484141761054d5761054d612a11565b634e487b7160e01b600052601260045260246000fd5b600082612a7657612a76612a51565b500490565b8181038181111561054d5761054d612a11565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215612abd57600080fd5b8351925060208401519150604084015190509250925092565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b801515811461273d57600080fd5b803561204281612aff565b6001600160a01b0384811682526020820184905260606040830152600090612b3f846128f7565b600b8110612b5d57634e487b7160e01b600052602160045260246000fd5b60608401526020840135612b7081612728565b166080830152604083013536849003601e19018112612b8e57600080fd5b83016020810190356001600160401b03811115612baa57600080fd5b803603821315612bb957600080fd5b608060a0850152612bce60e085018284612ad6565b915050612bdd60608501612b0d565b80151560c08501525095945050505050565b805161204281612728565b60006101208284031215612c0d57600080fd5b612c15612837565b825181526020830151602082015260408301516040820152612c3960608401612bef565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b8082018281126000831280158216821582161715612c9c57612c9c612a11565b505092915050565b8181036000831280158383131683831282161715612cc457612cc4612a11565b5092915050565b600082612cda57612cda612a51565b600160ff1b821460001984141615612cf457612cf4612a11565b500590565b6000600160ff1b8201612d0e57612d0e612a11565b5060000390565b60006001600160601b0383811680612d2f57612d2f612a51565b92169190910492915050565b80820260008212600160ff1b84141615612d5757612d57612a11565b818105831482151761054d5761054d612a11565b6001600160a01b03929092168252602082015260400190565b600060208284031215612d9657600080fd5b8151610c1a81612aff565b600082516128ed818460208701612954565b602081526000610c1a602083018461297856fea2646970667358221220a8e3f293fe0706fe969e19fc7da3304047f55f6c82beac9cd0b1bb7d9dfba89a64736f6c63430008170033";
|
|
237
|
+
|
|
238
|
+
type MarketSwapNSeedConstructorParams =
|
|
239
|
+
| [signer?: Signer]
|
|
240
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
241
|
+
|
|
242
|
+
const isSuperArgs = (
|
|
243
|
+
xs: MarketSwapNSeedConstructorParams
|
|
244
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
245
|
+
|
|
246
|
+
export class MarketSwapNSeed__factory extends ContractFactory {
|
|
247
|
+
constructor(...args: MarketSwapNSeedConstructorParams) {
|
|
248
|
+
if (isSuperArgs(args)) {
|
|
249
|
+
super(...args);
|
|
250
|
+
} else {
|
|
251
|
+
super(_abi, _bytecode, args[0]);
|
|
252
|
+
}
|
|
253
|
+
this.contractName = "MarketSwapNSeed";
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
deploy(
|
|
257
|
+
_router: string,
|
|
258
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
259
|
+
): Promise<MarketSwapNSeed> {
|
|
260
|
+
return super.deploy(_router, overrides || {}) as Promise<MarketSwapNSeed>;
|
|
261
|
+
}
|
|
262
|
+
getDeployTransaction(
|
|
263
|
+
_router: string,
|
|
264
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
265
|
+
): TransactionRequest {
|
|
266
|
+
return super.getDeployTransaction(_router, overrides || {});
|
|
267
|
+
}
|
|
268
|
+
attach(address: string): MarketSwapNSeed {
|
|
269
|
+
return super.attach(address) as MarketSwapNSeed;
|
|
270
|
+
}
|
|
271
|
+
connect(signer: Signer): MarketSwapNSeed__factory {
|
|
272
|
+
return super.connect(signer) as MarketSwapNSeed__factory;
|
|
273
|
+
}
|
|
274
|
+
static readonly contractName: "MarketSwapNSeed";
|
|
275
|
+
public readonly contractName: "MarketSwapNSeed";
|
|
276
|
+
static readonly bytecode = _bytecode;
|
|
277
|
+
static readonly abi = _abi;
|
|
278
|
+
static createInterface(): MarketSwapNSeedInterface {
|
|
279
|
+
return new utils.Interface(_abi) as MarketSwapNSeedInterface;
|
|
280
|
+
}
|
|
281
|
+
static connect(
|
|
282
|
+
address: string,
|
|
283
|
+
signerOrProvider: Signer | Provider
|
|
284
|
+
): MarketSwapNSeed {
|
|
285
|
+
return new Contract(address, _abi, signerOrProvider) as MarketSwapNSeed;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
@@ -344,7 +344,7 @@ const _abi = [
|
|
|
344
344
|
];
|
|
345
345
|
|
|
346
346
|
const _bytecode =
|
|
347
|
-
"0x60a060405234801561001057600080fd5b5060405161582138038061582183398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161578f6100926000396000818161011701526102d7015261578f6000f3fe60806040523480156200001157600080fd5b5060043610620000825760003560e01c80630b5af9f814620000875780631bdfe05314620000bb5780632d9a4a9d14620000d4578063451d27b814620000fa5780638ca06ea61462000111578063ca6ec89a1462000139578063e233c3661462000150578063e54f48df1462000167575b600080fd5b6200009e6200009836600462000618565b6200017e565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d2620000cc36600462000662565b620002a6565b005b620000eb620000e536600462000618565b620003a3565b604051908152602001620000b2565b6200009e6200010b3660046200069a565b620003db565b6200009e7f000000000000000000000000000000000000000000000000000000000000000081565b6200009e6200014a36600462000618565b62000512565b6200009e620001613660046200069a565b62000546565b620000eb620001783660046200069a565b6200057f565b6000806200018e858585620003a3565b6000818152602081905260409020549091506001600160a01b031615620001c8576040516363ed528560e01b815260040160405180910390fd5b620001d48585620002a6565b848484604051620001e590620005ba565b620001f39392919062000730565b604051809103906000f08015801562000210573d6000803e3d6000fd5b50600082815260208190526040902080546001600160a01b0319166001600160a01b03831617905591508260018111156200024f576200024f620006f7565b604080516001600160a01b0385811682526020820185905263ffffffff881692908916917f1f9e05a536e40324537d577d17a8b32d1d2a2894f53cce4c730bc82235d6ab58910160405180910390a4509392505050565b60405162439f4b60e91b81526001600160a01b03838116600483015263ffffffff83166024830152600091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063873e960090604401606060405180830381865afa15801562000321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034791906200076c565b925061ffff169250925082156200037d576040516380b1d95f60e01b815263ffffffff8316600482015260240160405180910390fd5b806200039c57604051631cedb8bf60e11b815260040160405180910390fd5b5050505050565b6000838383604051602001620003bc9392919062000730565b6040516020818303038152906040528051906020012090509392505050565b600080620003ec868686866200057f565b6000818152600160205260409020549091506001600160a01b03161562000426576040516363ed528560e01b815260040160405180910390fd5b620004328686620002a6565b858585856040516200044490620005c8565b620004539493929190620007b5565b604051809103906000f08015801562000470573d6000803e3d6000fd5b50600082815260016020819052604090912080546001600160a01b0319166001600160a01b0384161790559092508490811115620004b257620004b2620006f7565b604080516001600160a01b038681168252858116602083015291810184905263ffffffff8816918916907f0c00ff77242aa7973d8bb5cb73ecc1733bf615b0aaf967a50c2b7672f9110da39060600160405180910390a450949350505050565b600080600062000524868686620003a3565b81526020810191909152604001600020546001600160a01b0316949350505050565b6000600160006200055a878787876200057f565b81526020810191909152604001600020546001600160a01b031690505b949350505050565b6000848484846040516020016200059a9493929190620007b5565b604051602081830303815290604052805190602001209050949350505050565b61264880620007f583390190565b61291d8062002e3d83390190565b80356001600160a01b0381168114620005ee57600080fd5b919050565b803563ffffffff81168114620005ee57600080fd5b803560028110620005ee57600080fd5b6000806000606084860312156200062e57600080fd5b6200063984620005d6565b92506200064960208501620005f3565b9150620006596040850162000608565b90509250925092565b600080604083850312156200067657600080fd5b6200068183620005d6565b91506200069160208401620005f3565b90509250929050565b60008060008060808587031215620006b157600080fd5b620006bc85620005d6565b9350620006cc60208601620005f3565b9250620006dc6040860162000608565b9150620006ec60608601620005d6565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600281106200072c57634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b038416815263ffffffff83166020820152606081016200057760408301846200070d565b80518015158114620005ee57600080fd5b6000806000606084860312156200078257600080fd5b6200078d846200075b565b9250602084015161ffff81168114620007a557600080fd5b915062000659604085016200075b565b6001600160a01b03858116825263ffffffff851660208301526080820190620007e260408401866200070d565b8084166060840152509594505050505056fe6101606040523480156200001257600080fd5b506040516200264838038062002648833981016040819052620000359162000de3565b336080526001600160a01b03831660a05263ffffffff821660c05280600181111562000065576200006562000e3f565b60e08160018111156200007c576200007c62000e3f565b9052506000806200008e8584620000dd565b60ff9182169350169050620000a582600a62000f68565b620000b282600a62000f68565b6101205261010052620000c462000286565b6001600160401b03166101405250620013829350505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000147919062000f76565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000fd6565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b919062000ff4565b925060019150620002299050565b8660018111156200023e576200023e62000e3f565b03620002525793508392506200027f915050565b600086600181111562000269576200026962000e3f565b036200027b57935091506200027f9050565b5050505b9250929050565b62000dc362000db060201b17600060e0516001811115620002ab57620002ab62000e3f565b03620002c15750620002db6200032d60201b1790565b600160e0516001811115620002da57620002da62000e3f565b03620002f05750620003256200038160201b1790565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b600080806200033c85620003ce565b915091508082106200036a57620003608262000359878762000612565b90620006f7565b925050506200037b565b620003608162000359878762000612565b92915050565b600080806200039085620003ce565b91509150808210620003a85762000360858562000612565b8082620003b6878762000612565b620003c2919062001043565b62000360919062001073565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000439919062000f76565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200047d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a391906200108a565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200050c91906200108a565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200054d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005739190620010a4565b8015620005ec575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e19190620010c8565b6001600160801b0316145b15620005fb578093506200060a565b6200060785826200072b565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200067a91906200108a565b90504281116200069657670de0b6b3a76400009150506200037b565b6000620006a4858562000745565b90506000620006b44284620010f3565b90506000620006ce620006c884846200090c565b62000957565b9050620006e4670de0b6b3a764000082620006f7565b9450505050506200037b565b5092915050565b6000806200070e670de0b6b3a76400008562001043565b90508281816200072257620007226200105d565b04949350505050565b60008183116200073c57816200073e565b825b9392505050565b60008163ffffffff16600003620007d7576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000797573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007bd91906200112f565b50505092505050806001600160601b03169150506200037b565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106200080f576200080f620011d4565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000855908590600401620011ea565b600060405180830381865afa15801562000873573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200089d91908101906200124e565b90508363ffffffff1681600081518110620008bc57620008bc620011d4565b602002602001015182600181518110620008da57620008da620011d4565b6020026020010151620008ee919062001320565b620008fa919062001343565b6001600160d81b031695945050505050565b600080620009206201518061016d62001043565b6200092c848662001043565b62000938919062001073565b90506200094f62000949826200096b565b62000982565b949350505050565b6000808212156200096757600080fd5b5090565b60006001600160ff1b038211156200096757600080fd5b6000680238fd42c5cf03ffff198212158015620009a8575068070c1cc73b00c800008213155b620009e95760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640162000324565b600082121562000a295762000a02600083900362000982565b6ec097ce7bc90715b34b9f10000000008162000a225762000a226200105d565b0592915050565b60006806f05b59d3b2000000831262000a6b57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062000aa3565b6803782dace9d9000000831262000a9f57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062000aa3565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841262000af45768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841262000b31576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841262000b6c57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841262000ba7576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841262000be157680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841262000c1b5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841262000c55576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841262000c8f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b62000dba6200136c565b565b6001600160a01b038116811462000dd257600080fd5b50565b6002811062000dd257600080fd5b60008060006060848603121562000df957600080fd5b835162000e068162000dbc565b602085015190935063ffffffff8116811462000e2157600080fd5b604085015190925062000e348162000dd5565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000eac57816000190482111562000e905762000e9062000e55565b8085161562000e9e57918102915b93841c939080029062000e70565b509250929050565b60008262000ec5575060016200037b565b8162000ed4575060006200037b565b816001811462000eed576002811462000ef85762000f18565b60019150506200037b565b60ff84111562000f0c5762000f0c62000e55565b50506001821b6200037b565b5060208310610133831016604e8410600b841016171562000f3d575081810a6200037b565b62000f49838362000e6b565b806000190482111562000f605762000f6062000e55565b029392505050565b60006200073e838362000eb4565b60008060006060848603121562000f8c57600080fd5b835162000f998162000dbc565b602085015190935062000fac8162000dbc565b604085015190925062000e348162000dbc565b805160ff8116811462000fd157600080fd5b919050565b60006020828403121562000fe957600080fd5b6200073e8262000fbf565b6000806000606084860312156200100a57600080fd5b8351620010178162000dd5565b60208501519093506200102a8162000dbc565b91506200103a6040850162000fbf565b90509250925092565b80820281158282048414176200037b576200037b62000e55565b634e487b7160e01b600052601260045260246000fd5b6000826200108557620010856200105d565b500490565b6000602082840312156200109d57600080fd5b5051919050565b600060208284031215620010b757600080fd5b815180151581146200073e57600080fd5b600060208284031215620010db57600080fd5b81516001600160801b03811681146200073e57600080fd5b818103818111156200037b576200037b62000e55565b8051600f81900b811462000fd157600080fd5b805161ffff8116811462000fd157600080fd5b60008060008060008060c087890312156200114957600080fd5b620011548762001109565b9550620011646020880162001109565b60408801519095506001600160601b03811681146200118257600080fd5b935062001192606088016200111c565b9250620011a2608088016200111c565b9150620011b260a088016200111c565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156200122a57835163ffffffff168352928401929184019160010162001206565b50909695505050505050565b80516001600160d81b038116811462000fd157600080fd5b600060208083850312156200126257600080fd5b82516001600160401b03808211156200127a57600080fd5b818501915085601f8301126200128f57600080fd5b815181811115620012a457620012a4620011be565b8060051b604051601f19603f83011681018181108582111715620012cc57620012cc620011be565b604052918252848201925083810185019188831115620012eb57600080fd5b938501935b828510156200131457620013048562001236565b84529385019392850192620012f0565b98975050505050505050565b6001600160d81b03828116828216039080821115620006f057620006f062000e55565b60006001600160d81b03838116806200136057620013606200105d565b92169190910492915050565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051611251620013f760003960006103b4015260008181610229015261072001526000818161012b01526107440152600060a301526000818160e0015261039301526000818161017c01526103720152600061020201526112516000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80630aa33a241461009e57806326d89545146100db578063313ce567146101175780634ae5fa9b1461012657806354fd4d501461015b5780637284e4161461016257806380f55605146101775780639a6fc8f5146101b6578063c45a0155146101fd578063ee81d99714610224578063feaf968c1461024b575b600080fd5b6100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d29190610dcd565b60405180910390f35b6101027f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100d2565b604051601281526020016100d2565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100d2565b600161014d565b61016a610253565b6040516100d29190610df5565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d2565b6101c96101c4366004610e44565b610273565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100d2565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b6101c96102bd565b60606040518060600160405280602281526020016111fa60229139905090565b600080808080856001600160501b038116156102a25760405163bfbe031f60e01b815260040160405180910390fd5b6102aa6102bd565b939b929a50909850965090945092505050565b6000808080806102cb610368565b9495600094504293508492509050565b60008060006102e9856103e5565b9150915080821061031157610308826103028787610615565b906106ea565b9250505061031f565b610308816103028787610615565b92915050565b6000806000610333856103e5565b91509150808210610348576103088585610615565b80826103548787610615565b61035e9190610e83565b6103089190610eb0565b60006103e06103db7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610719565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044d9190610edc565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b49190610f29565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051a9190610f29565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057e9190610f42565b80156105f3575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e89190610f64565b6001600160801b0316145b156106005780935061060d565b61060a8582610778565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067a9190610f29565b905042811161069457670de0b6b3a764000091505061031f565b60006106a08585610790565b905060006106ae4284610f8d565b905060006106c46106bf8484610940565b610981565b90506106d8670de0b6b3a7640000826106ea565b94505050505061031f565b5092915050565b6000806106ff670de0b6b3a764000085610e83565b905082818161071057610710610e9a565b04949350505050565b600061031f7f00000000000000000000000000000000000000000000000000000000000000006107697f000000000000000000000000000000000000000000000000000000000000000085610e83565b6107739190610eb0565b610994565b60008183116107875781610789565b825b9392505050565b60008163ffffffff1660000361081d576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190610fc9565b50505092505050806001600160601b031691505061031f565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061085257610852611062565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610896908590600401611078565b600060405180830381865afa1580156108b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108db91908101906110d9565b90508363ffffffff16816000815181106108f7576108f7611062565b60200260200101518260018151811061091257610912611062565b6020026020010151610924919061119d565b61092e91906111bd565b6001600160d81b031695945050505050565b6000806109526201518061016d610e83565b61095c8486610e83565b6109669190610eb0565b905061097961097482610994565b6109aa565b949350505050565b60008082121561099057600080fd5b5090565b60006001600160ff1b0382111561099057600080fd5b6000680238fd42c5cf03ffff1982121580156109cf575068070c1cc73b00c800008213155b610a125760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b6000821215610a4a57610a27826000036109aa565b6a0c097ce7bc90715b34b9f160241b81610a4357610a43610e9a565b0592915050565b60006806f05b59d3b20000008312610a8857506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610abe565b6803782dace9d90000008312610aba57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610abe565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610b0e5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610b4a576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610b8457682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610bbe576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610bf757680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610c305768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610c69576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610ca25768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b610dcb6111e3565b565b6020810160028310610def57634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b81811015610e2357858101830151858201604001528201610e07565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610e5657600080fd5b81356001600160501b038116811461078957600080fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761031f5761031f610e6d565b634e487b7160e01b600052601260045260246000fd5b600082610ebf57610ebf610e9a565b500490565b6001600160a01b0381168114610ed957600080fd5b50565b600080600060608486031215610ef157600080fd5b8351610efc81610ec4565b6020850151909350610f0d81610ec4565b6040850151909250610f1e81610ec4565b809150509250925092565b600060208284031215610f3b57600080fd5b5051919050565b600060208284031215610f5457600080fd5b8151801515811461078957600080fd5b600060208284031215610f7657600080fd5b81516001600160801b038116811461078957600080fd5b8181038181111561031f5761031f610e6d565b8051600f81900b8114610fb257600080fd5b919050565b805161ffff81168114610fb257600080fd5b60008060008060008060c08789031215610fe257600080fd5b610feb87610fa0565b9550610ff960208801610fa0565b60408801519095506001600160601b038116811461101657600080fd5b935061102460608801610fb7565b925061103260808801610fb7565b915061104060a08801610fb7565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156110b657835163ffffffff1683529284019291840191600101611094565b50909695505050505050565b80516001600160d81b0381168114610fb257600080fd5b600060208083850312156110ec57600080fd5b82516001600160401b038082111561110357600080fd5b818501915085601f83011261111757600080fd5b8151818111156111295761112961104c565b8060051b604051601f19603f8301168101818110858211171561114e5761114e61104c565b60405291825284820192508381018501918883111561116c57600080fd5b938501935b8285101561119157611182856110c2565b84529385019392850192611171565b98975050505050505050565b6001600160d81b038281168282160390808211156106e3576106e3610e6d565b60006001600160d81b03838116806111d7576111d7610e9a565b92169190910492915050565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a26469706673582212201aca0ea6e174a453aa0e10f54cb264e07e8994f43448e9f9a255cb96fddccd9264736f6c634300081700336101a06040523480156200001257600080fd5b506040516200291d3803806200291d833981016040819052620000359162000e78565b336080526001600160a01b03841660a05263ffffffff831660c05283838380600181111562000068576200006862000ee8565b60e08160018111156200007f576200007f62000ee8565b90525060008062000091858462000172565b60ff9182169350169050620000a882600a62001011565b620000b582600a62001011565b6101205261010052620000c76200031b565b6001600160401b031661014052505050506001600160a01b0382166101608190526040805163313ce56760e01b8152905162000163935063313ce567916004808201926020929091908290030181865afa1580156200012a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000150919062001036565b6200015d90600a62001054565b620003c2565b61018052506200144792505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062001065565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062001036565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b09190620010b9565b925060019150620002be9050565b866001811115620002d357620002d362000ee8565b03620002e757935083925062000314915050565b6000866001811115620002fe57620002fe62000ee8565b03620003105793509150620003149050565b5050505b9250929050565b62000ef062000e4560201b17600060e051600181111562000340576200034062000ee8565b0362000356575062000408620003dd60201b1790565b600160e05160018111156200036f576200036f62000ee8565b03620003855750620004526200043160201b1790565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b60006001600160ff1b03821115620003d957600080fd5b5090565b60008080620003ec856200047e565b915091508082106200041a576200041082620004098787620006c2565b90620007a7565b925050506200042b565b6200041081620004098787620006c2565b92915050565b6000808062000440856200047e565b915091508082106200045857620004108585620006c2565b8082620004668787620006c2565b62000472919062001108565b62000410919062001138565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620004c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e9919062001065565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200052d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055391906200114f565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000596573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bc91906200114f565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000623919062001169565b80156200069c575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200066b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069191906200118d565b6001600160801b0316145b15620006ab57809350620006ba565b620006b78582620007db565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200072a91906200114f565b90504281116200074657670de0b6b3a76400009150506200042b565b6000620007548585620007f5565b90506000620007644284620011b8565b905060006200077e620007788484620009bc565b62000a07565b905062000794670de0b6b3a764000082620007a7565b9450505050506200042b565b5092915050565b600080620007be670de0b6b3a76400008562001108565b9050828181620007d257620007d262001122565b04949350505050565b6000818311620007ec5781620007ee565b825b9392505050565b60008163ffffffff1660000362000887576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000847573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200086d9190620011f4565b50505092505050806001600160601b03169150506200042b565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110620008bf57620008bf62001299565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000905908590600401620012af565b600060405180830381865afa15801562000923573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200094d919081019062001313565b90508363ffffffff16816000815181106200096c576200096c62001299565b6020026020010151826001815181106200098a576200098a62001299565b60200260200101516200099e9190620013e5565b620009aa919062001408565b6001600160d81b031695945050505050565b600080620009d06201518061016d62001108565b620009dc848662001108565b620009e8919062001138565b9050620009ff620009f982620003c2565b62000a17565b949350505050565b600080821215620003d957600080fd5b6000680238fd42c5cf03ffff19821215801562000a3d575068070c1cc73b00c800008213155b62000a7e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401620003b9565b600082121562000abe5762000a97600083900362000a17565b6ec097ce7bc90715b34b9f10000000008162000ab75762000ab762001122565b0592915050565b60006806f05b59d3b2000000831262000b0057506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062000b38565b6803782dace9d9000000831262000b3457506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062000b38565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841262000b895768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841262000bc6576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841262000c0157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841262000c3c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841262000c7657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841262000cb05768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841262000cea576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841262000d245768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b62000e4f62001431565b565b6001600160a01b038116811462000e6757600080fd5b50565b6002811062000e6757600080fd5b6000806000806080858703121562000e8f57600080fd5b845162000e9c8162000e51565b602086015190945063ffffffff8116811462000eb757600080fd5b604086015190935062000eca8162000e6a565b606086015190925062000edd8162000e51565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000f5557816000190482111562000f395762000f3962000efe565b8085161562000f4757918102915b93841c939080029062000f19565b509250929050565b60008262000f6e575060016200042b565b8162000f7d575060006200042b565b816001811462000f96576002811462000fa15762000fc1565b60019150506200042b565b60ff84111562000fb55762000fb562000efe565b50506001821b6200042b565b5060208310610133831016604e8410600b841016171562000fe6575081810a6200042b565b62000ff2838362000f14565b806000190482111562001009576200100962000efe565b029392505050565b6000620007ee838362000f5d565b805160ff811681146200103157600080fd5b919050565b6000602082840312156200104957600080fd5b620007ee826200101f565b6000620007ee60ff84168362000f5d565b6000806000606084860312156200107b57600080fd5b8351620010888162000e51565b60208501519093506200109b8162000e51565b6040850151909250620010ae8162000e51565b809150509250925092565b600080600060608486031215620010cf57600080fd5b8351620010dc8162000e6a565b6020850151909350620010ef8162000e51565b9150620010ff604085016200101f565b90509250925092565b80820281158282048414176200042b576200042b62000efe565b634e487b7160e01b600052601260045260246000fd5b6000826200114a576200114a62001122565b500490565b6000602082840312156200116257600080fd5b5051919050565b6000602082840312156200117c57600080fd5b81518015158114620007ee57600080fd5b600060208284031215620011a057600080fd5b81516001600160801b0381168114620007ee57600080fd5b818103818111156200042b576200042b62000efe565b8051600f81900b81146200103157600080fd5b805161ffff811681146200103157600080fd5b60008060008060008060c087890312156200120e57600080fd5b6200121987620011ce565b95506200122960208801620011ce565b60408801519095506001600160601b03811681146200124757600080fd5b93506200125760608801620011e1565b92506200126760808801620011e1565b91506200127760a08801620011e1565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015620012ef57835163ffffffff1683529284019291840191600101620012cb565b50909695505050505050565b80516001600160d81b03811681146200103157600080fd5b600060208083850312156200132757600080fd5b82516001600160401b03808211156200133f57600080fd5b818501915085601f8301126200135457600080fd5b81518181111562001369576200136962001283565b8060051b604051601f19603f8301168101818110858211171562001391576200139162001283565b604052918252848201925083810185019188831115620013b057600080fd5b938501935b82851015620013d957620013c985620012fb565b84529385019392850192620013b5565b98975050505050505050565b6001600160d81b03828116828216039080821115620007a057620007a062000efe565b60006001600160d81b038381168062001425576200142562001122565b92169190910492915050565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051610160516101805161143d620014e06000396000818160f601526103bb015260008181610167015261032e015260006104e101526000818161028d015261084d0152600081816101b501526108710152600060b901526000818161012b01526104c00152600081816101f8015261049f01526000610266015261143d6000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101a15780634ae5fa9b146101b057806354fd4d50146101d75780637284e416146101de57806380f55605146101f35780639a6fc8f51461021a578063c45a015514610261578063ee81d99714610288578063feaf968c146102af575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e89190610efa565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e8565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101e66102b7565b6040516100e89190610f22565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022d610228366004610f89565b6102d7565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b61022d610321565b60606040518060600160405280602281526020016113e660229139905090565b600080808080856001600160501b038116156103065760405163bfbe031f60e01b815260040160405180910390fd5b61030e610321565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610fa6565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103e3610495565b6103ed9190611014565b6103f7919061105a565b969760009650909450859350915050565b600080600061041685610512565b9150915080821061043e576104358261042f8787610742565b90610817565b9250505061044c565b6104358161042f8787610742565b92915050565b600080600061046085610512565b91509150808210610475576104358585610742565b80826104818787610742565b61048b9190611088565b610435919061109f565b600061050d6105087f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610846565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a91906110c8565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190611115565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106479190611115565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ab919061112e565b8015610720575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107159190611150565b6001600160801b0316145b1561072d5780935061073a565b61073785826108a5565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190611115565b90504281116107c157670de0b6b3a764000091505061044c565b60006107cd85856108bd565b905060006107db4284611179565b905060006107f16107ec8484610a6d565b610aae565b9050610805670de0b6b3a764000082610817565b94505050505061044c565b5092915050565b60008061082c670de0b6b3a764000085611088565b905082818161083d5761083d611044565b04949350505050565b600061044c7f00000000000000000000000000000000000000000000000000000000000000006108967f000000000000000000000000000000000000000000000000000000000000000085611088565b6108a0919061109f565b610ac1565b60008183116108b457816108b6565b825b9392505050565b60008163ffffffff1660000361094a576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906111b5565b50505092505050806001600160601b031691505061044c565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061097f5761097f61124e565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd906109c3908590600401611264565b600060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0891908101906112c5565b90508363ffffffff1681600081518110610a2457610a2461124e565b602002602001015182600181518110610a3f57610a3f61124e565b6020026020010151610a519190611389565b610a5b91906113a9565b6001600160d81b031695945050505050565b600080610a7f6201518061016d611088565b610a898486611088565b610a93919061109f565b9050610aa6610aa182610ac1565b610ad7565b949350505050565b600080821215610abd57600080fd5b5090565b60006001600160ff1b03821115610abd57600080fd5b6000680238fd42c5cf03ffff198212158015610afc575068070c1cc73b00c800008213155b610b3f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640160405180910390fd5b6000821215610b7757610b5482600003610ad7565b6a0c097ce7bc90715b34b9f160241b81610b7057610b70611044565b0592915050565b60006806f05b59d3b20000008312610bb557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610beb565b6803782dace9d90000008312610be757506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610beb565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610c3b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610c77576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610cb157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610ceb576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610d2457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610d5d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610d96576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610dcf5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b610ef86113cf565b565b6020810160028310610f1c57634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b81811015610f5057858101830151858201604001528201610f34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114610f8657600080fd5b50565b600060208284031215610f9b57600080fd5b81356108b681610f71565b600080600080600060a08688031215610fbe57600080fd5b8551610fc981610f71565b809550506020860151935060408601519250606086015191506080860151610ff081610f71565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b8414161561103057611030610ffe565b818105831482151761044c5761044c610ffe565b634e487b7160e01b600052601260045260246000fd5b60008261106957611069611044565b600160ff1b82146000198414161561108357611083610ffe565b500590565b808202811582820484141761044c5761044c610ffe565b6000826110ae576110ae611044565b500490565b6001600160a01b0381168114610f8657600080fd5b6000806000606084860312156110dd57600080fd5b83516110e8816110b3565b60208501519093506110f9816110b3565b604085015190925061110a816110b3565b809150509250925092565b60006020828403121561112757600080fd5b5051919050565b60006020828403121561114057600080fd5b815180151581146108b657600080fd5b60006020828403121561116257600080fd5b81516001600160801b03811681146108b657600080fd5b8181038181111561044c5761044c610ffe565b8051600f81900b811461119e57600080fd5b919050565b805161ffff8116811461119e57600080fd5b60008060008060008060c087890312156111ce57600080fd5b6111d78761118c565b95506111e56020880161118c565b60408801519095506001600160601b038116811461120257600080fd5b9350611210606088016111a3565b925061121e608088016111a3565b915061122c60a088016111a3565b90509295509295509295565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156112a257835163ffffffff1683529284019291840191600101611280565b50909695505050505050565b80516001600160d81b038116811461119e57600080fd5b600060208083850312156112d857600080fd5b82516001600160401b03808211156112ef57600080fd5b818501915085601f83011261130357600080fd5b81518181111561131557611315611238565b8060051b604051601f19603f8301168101818110858211171561133a5761133a611238565b60405291825284820192508381018501918883111561135857600080fd5b938501935b8285101561137d5761136e856112ae565b8452938501939285019261135d565b98975050505050505050565b6001600160d81b0382811682821603908082111561081057610810610ffe565b60006001600160d81b03838116806113c3576113c3611044565b92169190910492915050565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220f04e6b688c43a959401bf6f4f2dba5e67d880b18d909e69a7f805f097b670a2964736f6c63430008170033a2646970667358221220a8e52f9fdce416b7b84e36516a1438124c9469ff90e2896c05a5e93a5dc5bb3d64736f6c63430008170033";
|
|
347
|
+
"0x60a060405234801561001057600080fd5b50604051618c2a380380618c2a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051618b986100926000396000818161011701526102d70152618b986000f3fe60806040523480156200001157600080fd5b5060043610620000825760003560e01c80630b5af9f814620000875780631bdfe05314620000bb5780632d9a4a9d14620000d4578063451d27b814620000fa5780638ca06ea61462000111578063ca6ec89a1462000139578063e233c3661462000150578063e54f48df1462000167575b600080fd5b6200009e6200009836600462000615565b6200017e565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d2620000cc3660046200065f565b620002a6565b005b620000eb620000e536600462000615565b620003a3565b604051908152602001620000b2565b6200009e6200010b36600462000697565b620003db565b6200009e7f000000000000000000000000000000000000000000000000000000000000000081565b6200009e6200014a36600462000615565b6200050f565b6200009e6200016136600462000697565b62000543565b620000eb6200017836600462000697565b6200057c565b6000806200018e858585620003a3565b6000818152602081905260409020549091506001600160a01b031615620001c8576040516363ed528560e01b815260040160405180910390fd5b620001d48585620002a6565b848484604051620001e590620005b7565b620001f3939291906200072d565b604051809103906000f08015801562000210573d6000803e3d6000fd5b50600082815260208190526040902080546001600160a01b0319166001600160a01b03831617905591508260038111156200024f576200024f620006f4565b604080516001600160a01b0385811682526020820185905263ffffffff881692908916917f1f9e05a536e40324537d577d17a8b32d1d2a2894f53cce4c730bc82235d6ab58910160405180910390a4509392505050565b60405162439f4b60e91b81526001600160a01b03838116600483015263ffffffff83166024830152600091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063873e960090604401606060405180830381865afa15801562000321573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000347919062000769565b925061ffff169250925082156200037d576040516380b1d95f60e01b815263ffffffff8316600482015260240160405180910390fd5b806200039c57604051631cedb8bf60e11b815260040160405180910390fd5b5050505050565b6000838383604051602001620003bc939291906200072d565b6040516020818303038152906040528051906020012090509392505050565b600080620003ec868686866200057c565b6000818152600160205260409020549091506001600160a01b03161562000426576040516363ed528560e01b815260040160405180910390fd5b620004328686620002a6565b858585856040516200044490620005c5565b620004539493929190620007b2565b604051809103906000f08015801562000470573d6000803e3d6000fd5b50600082815260016020526040902080546001600160a01b0319166001600160a01b0383161790559150836003811115620004af57620004af620006f4565b604080516001600160a01b038681168252858116602083015291810184905263ffffffff8816918916907f0c00ff77242aa7973d8bb5cb73ecc1733bf615b0aaf967a50c2b7672f9110da39060600160405180910390a450949350505050565b600080600062000521868686620003a3565b81526020810191909152604001600020546001600160a01b0316949350505050565b60006001600062000557878787876200057c565b81526020810191909152604001600020546001600160a01b031690505b949350505050565b600084848484604051602001620005979493929190620007b2565b604051602081830303815290604052805190602001209050949350505050565b61408080620007f283390190565b6142f1806200487283390190565b80356001600160a01b0381168114620005eb57600080fd5b919050565b803563ffffffff81168114620005eb57600080fd5b803560048110620005eb57600080fd5b6000806000606084860312156200062b57600080fd5b6200063684620005d3565b92506200064660208501620005f0565b9150620006566040850162000605565b90509250925092565b600080604083850312156200067357600080fd5b6200067e83620005d3565b91506200068e60208401620005f0565b90509250929050565b60008060008060808587031215620006ae57600080fd5b620006b985620005d3565b9350620006c960208601620005f0565b9250620006d96040860162000605565b9150620006e960608601620005d3565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106200072957634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b038416815263ffffffff83166020820152606081016200057460408301846200070a565b80518015158114620005eb57600080fd5b6000806000606084860312156200077f57600080fd5b6200078a8462000758565b9250602084015161ffff81168114620007a257600080fd5b9150620006566040850162000758565b6001600160a01b03858116825263ffffffff851660208301526080820190620007df60408401866200070a565b8084166060840152509594505050505056fe6101606040523480156200001257600080fd5b506040516200408038038062004080833981016040819052620000359162001a2a565b336080526001600160a01b03831660a05263ffffffff821660c05280600381111562000065576200006562001a89565b60e08160038111156200007c576200007c62001a89565b9052506000806200008e8584620000dd565b60ff9182169350169050620000a582600a62001bb2565b620000b282600a62001bb2565b6101205261010052620000c462000317565b6001600160401b031661014052506200215f9350505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000147919062001bc0565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062001c1b565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021b919062001c39565b925060019150620002299050565b8660038111156200023e576200023e62001a89565b036200025257935083925062000310915050565b600086600381111562000269576200026962001a89565b036200027b5793509150620003109050565b600386600381111562000292576200029262001a89565b03620002a75760129450925062000310915050565b6002866003811115620002be57620002be62001a89565b03620002d35750601293509150620003109050565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b9250929050565b6200188c620019f860201b17600060e05160038111156200033c576200033c62001a89565b03620003525750620002d0620003df60201b1790565b600160e05160038111156200036b576200036b62001a89565b036200038157506200031d6200043660201b1790565b600260e05160038111156200039a576200039a62001a89565b03620003b05750620003606200048360201b1790565b600360e0516003811115620003c957620003c962001a89565b03620002d35750620003af620004dc60201b1790565b60008080620003ee8562000536565b915091508082106200041c5762000412826200040b87876200077a565b906200085f565b9250505062000430565b62000412816200040b87876200077a565b50505b92915050565b60008080620004458562000536565b915091508082106200045d576200041285856200077a565b80826200046b87876200077a565b62000477919062001c8b565b62000412919062001cbb565b600080806200049b6001600160a01b03861662000536565b90925090506000620004af86868462000893565b9050818310620004d057620004c581846200085f565b935050505062000430565b620004c581836200085f565b60008080620004f46001600160a01b03861662000536565b909250905060006200050886868462000893565b90508183106200051d57925062000430915050565b816200052a848362001c8b565b620004c5919062001cbb565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200057b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a1919062001bc0565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200060b919062001cd2565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200064e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000674919062001cd2565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006db919062001cec565b801562000754575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000749919062001d10565b6001600160801b0316145b15620007635780935062000772565b6200076f858262000a4b565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007e2919062001cd2565b9050428111620007fe57670de0b6b3a764000091505062000430565b60006200080c858562000a65565b905060006200081c428462001d3b565b905060006200083662000830848462000c2c565b62000c71565b90506200084c670de0b6b3a7640000826200085f565b94505050505062000430565b5092915050565b60008062000876670de0b6b3a76400008562001c8b565b90508281816200088a576200088a62001ca5565b04949350505050565b60405163794052f360e01b81526000600482018190529081906001600160a01b0386169063794052f39060240161012060405180830381865afa158015620008df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000905919062001dc6565b90506000428260a001511162000941576200092b84836020015162000c8560201b60201c565b825162000939919062001e4d565b905062000a2a565b60006200095083864262000ccb565b90506000806200096289868a62000dd9565b915091506000620009916200098b85604001518562000982919062001e70565b86519062000e5a565b62000e7f565b90506000620009e0620009a58385620012ad565b620009b990670de0b6b3a764000062001e4d565b88516020880151620009cd90869062000e5a565b620009d9919062001e70565b90620012ad565b9050620009f984828960000151620009d9919062001e4d565b62000a058285620012ad565b866020015162000a16919062001e70565b62000a22919062001e4d565b955050505050505b604082015162000a419062000830908390620012ad565b9695505050505050565b600081831162000a5c578162000a5e565b825b9392505050565b60008163ffffffff1660000362000af7576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000ab7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000add919062001eb9565b50505092505050806001600160601b031691505062000430565b604080516002808252606082018352600092602083019080368337019050509050828160008151811062000b2f5762000b2f62001f48565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000b7590859060040162001f5e565b600060405180830381865afa15801562000b93573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000bbd919081019062001faa565b90508363ffffffff168160008151811062000bdc5762000bdc62001f48565b60200260200101518260018151811062000bfa5762000bfa62001f48565b602002602001015162000c0e919062002074565b62000c1a919062002097565b6001600160d81b031695945050505050565b60008062000c406201518061016d62001c8b565b62000c4c848662001c8b565b62000c58919062001cbb565b905062000c696200098b82620012d8565b949350505050565b60008082121562000c8157600080fd5b5090565b6000806000831262000c9957600162000c9d565b6000195b905062000cbf62000cb98562000cb386620012ef565b62001304565b620012d8565b62000c699082620020c0565b62000cf76040518060800160405280600081526020016000815260200160008152602001600081525090565b60a0840151821062000d1c5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a0015162000d30919062001d3b565b905062000d3e858262001327565b8252602085015162000d5290859062000c85565b60208301528451158062000d6857506020820151155b1562000d98578451602083015160405163b1c4aefb60e01b81526004810192909252602482015260440162000307565b84516101008601516020840151845162000db693929190856200138e565b604083015260c085015162000dcc908262000c2c565b6060830152509392505050565b6000808062000df26001600160a01b0387168562000a65565b90506000428660a0015162000e08919062001d3b565b905062000e16828262000c2c565b9350600062000e318761010001518362000c2c60201b60201c565b9050600262000e41868362001e4d565b62000e4d9190620020f6565b9350505050935093915050565b60008062000e698385620020c0565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801562000ea5575068070c1cc73b00c800008213155b62000ee65760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640162000307565b600082121562000f265762000eff600083900362000e7f565b6ec097ce7bc90715b34b9f10000000008162000f1f5762000f1f62001ca5565b0592915050565b60006806f05b59d3b2000000831262000f6857506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062000fa0565b6803782dace9d9000000831262000f9c57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062000fa0565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841262000ff15768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126200102e576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126200106957682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412620010a4576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412620010de57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412620011185768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841262001152576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126200118c5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080620012c4670de0b6b3a764000085620020c0565b905082818162000e765762000e7662001ca5565b60006001600160ff1b0382111562000c8157600080fd5b600080821362000c815762000430826200212a565b6000670de0b6b3a76400006200131b848462001c8b565b62000a5e919062001cbb565b60006200133482620012d8565b6200134962000cb96201518061016d62001c8b565b84608001516200135a9190620020c0565b620013669190620020f6565b9050600081136200043057604051630e520c3b60e11b81526004810182905260240162000307565b6000806200139d868462000c2c565b9050670de0b6b3a7640000811215620013cd5760405163329e322960e21b81526004810182905260240162000307565b6000620013e7620013df878a62001e4d565b8990620012ad565b90506000620013f6826200141d565b9050620014048187620012ad565b62001410908462001e70565b9998505050505050505050565b6000670de0b6b3a76400008203620014485760405163a9c8b14d60e01b815260040160405180910390fd5b60006200146a6200146284670de0b6b3a764000062001e70565b8490620012ad565b905062000a5e816000808213620014b45760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640162000307565b670c7d713b49da000082138015620014d35750670f43fc2c04ee000082125b15620014fd57670de0b6b3a7640000620014ed836200150d565b8162000f1f5762000f1f62001ca5565b620004308262001638565b919050565b670de0b6b3a7640000026000806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff198501028162001552576200155262001ca5565b05905060006ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215620016805762001677826ec097ce7bc90715b34b9f10000000008162001670576200167062001ca5565b0562001638565b60000392915050565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c00000000000008312620016d257770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e00000083126200170b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831262001754576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831262001790576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312620017c857693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126200180057690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312620018365768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126200186257680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831262001898576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312620018ce576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831262001903576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831262001938576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028162001964576200196462001ca5565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b62001a0262002149565b565b6001600160a01b038116811462001a1a57600080fd5b50565b8051620015088162001a04565b60008060006060848603121562001a4057600080fd5b835162001a4d8162001a04565b602085015190935063ffffffff8116811462001a6857600080fd5b60408501519092506004811062001a7e57600080fd5b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562001af657816000190482111562001ada5762001ada62001a9f565b8085161562001ae857918102915b93841c939080029062001aba565b509250929050565b60008262001b0f5750600162000430565b8162001b1e5750600062000430565b816001811462001b37576002811462001b425762001b62565b600191505062000430565b60ff84111562001b565762001b5662001a9f565b50506001821b62000430565b5060208310610133831016604e8410600b841016171562001b87575081810a62000430565b62001b93838362001ab5565b806000190482111562001baa5762001baa62001a9f565b029392505050565b600062000a5e838362001afe565b60008060006060848603121562001bd657600080fd5b835162001be38162001a04565b602085015190935062001bf68162001a04565b604085015190925062001a7e8162001a04565b805160ff811681146200150857600080fd5b60006020828403121562001c2e57600080fd5b62000a5e8262001c09565b60008060006060848603121562001c4f57600080fd5b83516002811062001c5f57600080fd5b602085015190935062001c728162001a04565b915062001c826040850162001c09565b90509250925092565b808202811582820484141762000430576200043062001a9f565b634e487b7160e01b600052601260045260246000fd5b60008262001ccd5762001ccd62001ca5565b500490565b60006020828403121562001ce557600080fd5b5051919050565b60006020828403121562001cff57600080fd5b8151801515811462000a5e57600080fd5b60006020828403121562001d2357600080fd5b81516001600160801b038116811462000a5e57600080fd5b8181038181111562000430576200043062001a9f565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001d8d5762001d8d62001d51565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001dbe5762001dbe62001d51565b604052919050565b6000610120828403121562001dda57600080fd5b62001de462001d67565b82518152602083015160208201526040830151604082015262001e0a6060840162001a1d565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156200042d576200042d62001a9f565b818103600083128015838313168383128216171562000858576200085862001a9f565b8051600f81900b81146200150857600080fd5b805161ffff811681146200150857600080fd5b60008060008060008060c0878903121562001ed357600080fd5b62001ede8762001e93565b955062001eee6020880162001e93565b60408801519095506001600160601b038116811462001f0c57600080fd5b935062001f1c6060880162001ea6565b925062001f2c6080880162001ea6565b915062001f3c60a0880162001ea6565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001f9e57835163ffffffff168352928401929184019160010162001f7a565b50909695505050505050565b6000602080838503121562001fbe57600080fd5b82516001600160401b038082111562001fd657600080fd5b818501915085601f83011262001feb57600080fd5b81518181111562002000576200200062001d51565b8060051b91506200201384830162001d93565b81815291830184019184810190888411156200202e57600080fd5b938501935b838510156200206857845192506001600160d81b0383168314620020575760008081fd5b828252938501939085019062002033565b98975050505050505050565b6001600160d81b0382811682821603908082111562000858576200085862001a9f565b60006001600160d81b0383811680620020b457620020b462001ca5565b92169190910492915050565b80820260008212600160ff1b84141615620020df57620020df62001a9f565b818105831482151762000430576200043062001a9f565b60008262002108576200210862001ca5565b600160ff1b82146000198414161562002125576200212562001a9f565b500590565b6000600160ff1b820162002142576200214262001a9f565b5060000390565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051611eac620021d4600039600061044b01526000818161021e015261094901526000818161012b015261096d0152600060a301526000818160e0015261042a01526000818161017c0152610409015260006101f70152611eac6000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80630aa33a241461009e57806326d89545146100db578063313ce567146101175780634ae5fa9b1461012657806354fd4d501461015b5780637284e4161461016257806380f55605146101775780639a6fc8f5146101ab578063c45a0155146101f2578063ee81d99714610219578063feaf968c14610240575b600080fd5b6100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d29190611896565b60405180910390f35b6101027f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100d2565b604051601281526020016100d2565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100d2565b600161014d565b61016a610248565b6040516100d291906118be565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d2919061190d565b6101be6101b9366004611921565b610268565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100d2565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b6101be6102b2565b6060604051806060016040528060228152602001611e5560229139905090565b600080808080856001600160501b038116156102975760405163bfbe031f60e01b815260040160405180910390fd5b61029f6102b2565b939b929a50909850965090945092505050565b6000808080806102c06103ff565b9495600094504293508492509050565b60008060006102de8561047c565b91509150808210610306576102fd826102f787876106ac565b90610781565b92505050610317565b6102fd816102f787876106ac565b50505b92915050565b600080600061032b8561047c565b91509150808210610340576102fd85856106ac565b808261034c87876106ac565b6103569190611960565b6102fd919061198d565b6000806000610377856001600160a01b031661047c565b9150915060006103888686846107b0565b90508183106103a55761039b8184610781565b9350505050610317565b61039b8183610781565b60008060006103c6856001600160a01b031661047c565b9150915060006103d78686846107b0565b90508183106103ea579250610317915050565b816103f58483611960565b61039b919061198d565b60006104776104727f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610942565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156104c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e491906119b9565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b9190611a06565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190611a06565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611a1f565b801561068a575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190611a41565b6001600160801b0316145b15610697578093506106a4565b6106a185826109a1565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107119190611a06565b905042811161072b57670de0b6b3a7640000915050610317565b600061073785856109b9565b905060006107454284611a6a565b9050600061075b6107568484610b69565b610ba5565b905061076f670de0b6b3a764000082610781565b945050505050610317565b5092915050565b600080610796670de0b6b3a764000085611960565b90508281816107a7576107a7611977565b04949350505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016107e0919061190d565b61012060405180830381865afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108229190611af7565b90506000428260a00151116108525761083f848360200151610bb8565b825161084b9190611b79565b905061091e565b600061085f838642610bef565b905060008061086f89868a610cf5565b91509150600061089861089385604001518561088b9190611b99565b865190610d64565b610d87565b905060006108dd6108a9838561119c565b6108bb90670de0b6b3a7640000611b79565b885160208801516108cd908690610d64565b6108d79190611b99565b9061119c565b90506108f3848289600001516108d79190611b79565b6108fd828561119c565b866020015161090c9190611b99565b6109169190611b79565b955050505050505b61093861075683604001518361119c90919063ffffffff16565b9695505050505050565b60006103177f00000000000000000000000000000000000000000000000000000000000000006109927f000000000000000000000000000000000000000000000000000000000000000085611960565b61099c919061198d565b6111c2565b60008183116109b057816109b2565b825b9392505050565b60008163ffffffff16600003610a46576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2d9190611bdd565b50505092505050806001600160601b0316915050610317565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110610a7b57610a7b611c60565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610abf908590600401611c76565b600060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b049190810190611cc0565b90508363ffffffff1681600081518110610b2057610b20611c60565b602002602001015182600181518110610b3b57610b3b611c60565b6020026020010151610b4d9190611d7e565b610b579190611d9e565b6001600160d81b031695945050505050565b600080610b7b6201518061016d611960565b610b858486611960565b610b8f919061198d565b9050610b9d610893826111c2565b949350505050565b600080821215610bb457600080fd5b5090565b60008060008312610bca576001610bce565b6000195b9050610be561099c85610be0866111d8565b6111ef565b610b9d9082611dc4565b610c1a6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610c3e5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610c509190611a6a565b9050610c5c858261120e565b82526020850151610c6e908590610bb8565b602083015284511580610c8357506020820151155b15610cb6578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610cd48560000151866101000151846020015185600001518561126a565b604083015260c0850151610ce89082610b69565b6060830152509392505050565b60008080610d0c6001600160a01b038716856109b9565b90506000428660a00151610d209190611a6a565b9050610d2c8282610b69565b93506000610d3f87610100015183610b69565b90506002610d4d8683611b79565b610d579190611df4565b9350505050935093915050565b600080610d718385611dc4565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610dac575068070c1cc73b00c800008213155b610deb5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610cad565b6000821215610e2357610e0082600003610d87565b6a0c097ce7bc90715b34b9f160241b81610e1c57610e1c611977565b0592915050565b60006806f05b59d3b20000008312610e6157506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610e97565b6803782dace9d90000008312610e9357506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610e97565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610ee75768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610f23576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610f5d57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610f97576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610fd057680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126110095768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611042576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261107b5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806111b1670de0b6b3a764000085611dc4565b9050828181610d7e57610d7e611977565b60006001600160ff1b03821115610bb457600080fd5b6000808213610bb4576111ea82611e22565b610317565b6000670de0b6b3a76400006112048484611960565b6109b2919061198d565b6000611219826111c2565b61122b61099c6201518061016d611960565b846080015161123a9190611dc4565b6112449190611df4565b90506000811361031757604051630e520c3b60e11b815260048101829052602401610cad565b6000806112778684610b69565b9050670de0b6b3a76400008112156112a55760405163329e322960e21b815260048101829052602401610cad565b60006112bb6112b4878a611b79565b899061119c565b905060006112c8826112eb565b90506112d4818761119c565b6112de9084611b99565b9998505050505050505050565b6000670de0b6b3a764000082036113155760405163a9c8b14d60e01b815260040160405180910390fd5b600061133361132c84670de0b6b3a7640000611b99565b849061119c565b90506109b281600080821361137a5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610cad565b670c7d713b49da0000821380156113985750670f43fc2c04ee000082125b156113bc57670de0b6b3a76400006113af836113ca565b81610e1c57610e1c611977565b610317826114e9565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161140b5761140b611977565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561152a57611521826a0c097ce7bc90715b34b9f160241b8161151b5761151b611977565b056114e9565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126115755772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126115ac576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff008400083126115f4576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261162f576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261166657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261169d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126116d25768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126116fd57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611732576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611767576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261179b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126117cf576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816117f8576117f8611977565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b611894611e3e565b565b60208101600483106118b857634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b818110156118ec578581018301518582016040015282016118d0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0391909116815260200190565b60006020828403121561193357600080fd5b81356001600160501b03811681146109b257600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103175761031761194a565b634e487b7160e01b600052601260045260246000fd5b60008261199c5761199c611977565b500490565b6001600160a01b03811681146119b657600080fd5b50565b6000806000606084860312156119ce57600080fd5b83516119d9816119a1565b60208501519093506119ea816119a1565b60408501519092506119fb816119a1565b809150509250925092565b600060208284031215611a1857600080fd5b5051919050565b600060208284031215611a3157600080fd5b815180151581146109b257600080fd5b600060208284031215611a5357600080fd5b81516001600160801b03811681146109b257600080fd5b818103818111156103175761031761194a565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ab657611ab6611a7d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611ae457611ae4611a7d565b604052919050565b80516113c5816119a1565b60006101208284031215611b0a57600080fd5b611b12611a93565b825181526020830151602082015260408301516040820152611b3660608401611aec565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156103145761031461194a565b818103600083128015838313168383128216171561077a5761077a61194a565b8051600f81900b81146113c557600080fd5b805161ffff811681146113c557600080fd5b60008060008060008060c08789031215611bf657600080fd5b611bff87611bb9565b9550611c0d60208801611bb9565b60408801519095506001600160601b0381168114611c2a57600080fd5b9350611c3860608801611bcb565b9250611c4660808801611bcb565b9150611c5460a08801611bcb565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611cb457835163ffffffff1683529284019291840191600101611c92565b50909695505050505050565b60006020808385031215611cd357600080fd5b82516001600160401b0380821115611cea57600080fd5b818501915085601f830112611cfe57600080fd5b815181811115611d1057611d10611a7d565b8060051b9150611d21848301611abc565b8181529183018401918481019088841115611d3b57600080fd5b938501935b83851015611d7257845192506001600160d81b0383168314611d625760008081fd5b8282529385019390850190611d40565b98975050505050505050565b6001600160d81b0382811682821603908082111561077a5761077a61194a565b60006001600160d81b0383811680611db857611db8611977565b92169190910492915050565b80820260008212600160ff1b84141615611de057611de061194a565b81810583148215176103175761031761194a565b600082611e0357611e03611977565b600160ff1b821460001984141615611e1d57611e1d61194a565b500590565b6000600160ff1b8201611e3757611e3761194a565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a2646970667358221220bb335bb2fd53235e1e91fe674760f18882512164eb9bbc8d4782d880d4f19e0664736f6c634300081700336101a06040523480156200001257600080fd5b50604051620042f1380380620042f1833981016040819052620000359162001ab9565b336080526001600160a01b03841660a05263ffffffff831660c05283838380600381111562000068576200006862001b2c565b60e08160038111156200007f576200007f62001b2c565b90525060008062000091858462000172565b60ff9182169350169050620000a882600a62001c55565b620000b582600a62001c55565b6101205261010052620000c7620003ac565b6001600160401b031661014052505050506001600160a01b0382166101608190526040805163313ce56760e01b8152905162000163935063313ce567916004808201926020929091908290030181865afa1580156200012a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000150919062001c75565b6200015d90600a62001c93565b62000474565b61018052506200221e92505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062001ca4565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062001c75565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062001cf8565b925060019150620002be9050565b866003811115620002d357620002d362001b2c565b03620002e7579350839250620003a5915050565b6000866003811115620002fe57620002fe62001b2c565b03620003105793509150620003a59050565b600386600381111562000327576200032762001b2c565b036200033c57601294509250620003a5915050565b600286600381111562000353576200035362001b2c565b03620003685750601293509150620003a59050565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b9250929050565b620019b962001a8760201b17600060e0516003811115620003d157620003d162001b2c565b03620003e75750620003fd6200048f60201b1790565b600160e051600381111562000400576200040062001b2c565b036200041657506200044a620004e660201b1790565b600260e05160038111156200042f576200042f62001b2c565b036200044557506200048d6200053360201b1790565b600360e05160038111156200045e576200045e62001b2c565b03620003685750620004dc6200058c60201b1790565b60006001600160ff1b038211156200048b57600080fd5b5090565b600080806200049e85620005e6565b91509150808210620004cc57620004c282620004bb87876200082a565b906200090f565b92505050620004e0565b620004c281620004bb87876200082a565b50505b92915050565b60008080620004f585620005e6565b915091508082106200050d57620004c285856200082a565b80826200051b87876200082a565b62000527919062001d4a565b620004c2919062001d7a565b600080806200054b6001600160a01b038616620005e6565b909250905060006200055f86868462000943565b905081831062000580576200057581846200090f565b9350505050620004e0565b6200057581836200090f565b60008080620005a46001600160a01b038616620005e6565b90925090506000620005b886868462000943565b9050818310620005cd579250620004e0915050565b81620005da848362001d4a565b62000575919062001d7a565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000651919062001ca4565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000695573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006bb919062001d91565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000724919062001d91565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200078b919062001dab565b801562000804575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f9919062001dcf565b6001600160801b0316145b15620008135780935062000822565b6200081f858262000afb565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000892919062001d91565b9050428111620008ae57670de0b6b3a7640000915050620004e0565b6000620008bc858562000b15565b90506000620008cc428462001dfa565b90506000620008e6620008e0848462000cdc565b62000d21565b9050620008fc670de0b6b3a7640000826200090f565b945050505050620004e0565b5092915050565b60008062000926670de0b6b3a76400008562001d4a565b90508281816200093a576200093a62001d64565b04949350505050565b60405163794052f360e01b81526000600482018190529081906001600160a01b0386169063794052f39060240161012060405180830381865afa1580156200098f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b5919062001e85565b90506000428260a0015111620009f157620009db84836020015162000d3160201b60201c565b8251620009e9919062001f0c565b905062000ada565b600062000a0083864262000d71565b905060008062000a1289868a62000e7f565b91509150600062000a4162000a3b85604001518562000a32919062001f2f565b86519062000f00565b62000f25565b9050600062000a9062000a55838562001353565b62000a6990670de0b6b3a764000062001f0c565b8851602088015162000a7d90869062000f00565b62000a89919062001f2f565b9062001353565b905062000aa98482896000015162000a89919062001f0c565b62000ab5828562001353565b866020015162000ac6919062001f2f565b62000ad2919062001f0c565b955050505050505b604082015162000af190620008e090839062001353565b9695505050505050565b600081831162000b0c578162000b0e565b825b9392505050565b60008163ffffffff1660000362000ba7576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa15801562000b67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b8d919062001f78565b50505092505050806001600160601b0316915050620004e0565b604080516002808252606082018352600092602083019080368337019050509050828160008151811062000bdf5762000bdf62002007565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000c259085906004016200201d565b600060405180830381865afa15801562000c43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000c6d919081019062002069565b90508363ffffffff168160008151811062000c8c5762000c8c62002007565b60200260200101518260018151811062000caa5762000caa62002007565b602002602001015162000cbe919062002133565b62000cca919062002156565b6001600160d81b031695945050505050565b60008062000cf06201518061016d62001d4a565b62000cfc848662001d4a565b62000d08919062001d7a565b905062000d1962000a3b8262000474565b949350505050565b6000808212156200048b57600080fd5b6000806000831262000d4557600162000d49565b6000195b905062000d656200015d8562000d5f866200137e565b62001393565b62000d1990826200217f565b62000d9d6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a0840151821062000dc25760405163b2094b5960e01b815260040160405180910390fd5b6000828560a0015162000dd6919062001dfa565b905062000de48582620013b6565b8252602085015162000df890859062000d31565b60208301528451158062000e0e57506020820151155b1562000e3e578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044016200039c565b84516101008601516020840151845162000e5c93929190856200141d565b604083015260c085015162000e72908262000cdc565b6060830152509392505050565b6000808062000e986001600160a01b0387168562000b15565b90506000428660a0015162000eae919062001dfa565b905062000ebc828262000cdc565b9350600062000ed78761010001518362000cdc60201b60201c565b9050600262000ee7868362001f0c565b62000ef39190620021b5565b9350505050935093915050565b60008062000f0f83856200217f565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801562000f4b575068070c1cc73b00c800008213155b62000f8c5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016200039c565b600082121562000fcc5762000fa5600083900362000f25565b6ec097ce7bc90715b34b9f10000000008162000fc55762000fc562001d64565b0592915050565b60006806f05b59d3b200000083126200100e57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062001046565b6803782dace9d900000083126200104257506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062001046565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412620010975768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412620010d4576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126200110f57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126200114a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126200118457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412620011be5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412620011f8576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412620012325768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806200136a670de0b6b3a7640000856200217f565b905082818162000f1c5762000f1c62001d64565b60008082136200048b57620004e082620021e9565b6000670de0b6b3a7640000620013aa848462001d4a565b62000b0e919062001d7a565b6000620013c38262000474565b620013d86200015d6201518061016d62001d4a565b8460800151620013e991906200217f565b620013f59190620021b5565b905060008113620004e057604051630e520c3b60e11b8152600481018290526024016200039c565b6000806200142c868462000cdc565b9050670de0b6b3a76400008112156200145c5760405163329e322960e21b8152600481018290526024016200039c565b6000620014766200146e878a62001f0c565b899062001353565b905060006200148582620014ac565b905062001493818762001353565b6200149f908462001f2f565b9998505050505050505050565b6000670de0b6b3a76400008203620014d75760405163a9c8b14d60e01b815260040160405180910390fd5b6000620014f9620014f184670de0b6b3a764000062001f2f565b849062001353565b905062000b0e816000808213620015435760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016200039c565b670c7d713b49da000082138015620015625750670f43fc2c04ee000082125b156200158c57670de0b6b3a76400006200157c836200159c565b8162000fc55762000fc562001d64565b620004e082620016c7565b919050565b670de0b6b3a7640000026000806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281620015e157620015e162001d64565b05905060006ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156200170f5762001706826ec097ce7bc90715b34b9f100000000081620016ff57620016ff62001d64565b05620016c7565b60000392915050565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000083126200176157770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e00000083126200179a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312620017e3576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126200181f576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126200185757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126200188f57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312620018c55768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312620018f157680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831262001927576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126200195d576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831262001992576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312620019c7576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281620019f357620019f362001d64565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b62001a9162002208565b565b6001600160a01b038116811462001aa957600080fd5b50565b8051620015978162001a93565b6000806000806080858703121562001ad057600080fd5b845162001add8162001a93565b602086015190945063ffffffff8116811462001af857600080fd5b60408601519093506004811062001b0e57600080fd5b606086015190925062001b218162001a93565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562001b9957816000190482111562001b7d5762001b7d62001b42565b8085161562001b8b57918102915b93841c939080029062001b5d565b509250929050565b60008262001bb257506001620004e0565b8162001bc157506000620004e0565b816001811462001bda576002811462001be55762001c05565b6001915050620004e0565b60ff84111562001bf95762001bf962001b42565b50506001821b620004e0565b5060208310610133831016604e8410600b841016171562001c2a575081810a620004e0565b62001c36838362001b58565b806000190482111562001c4d5762001c4d62001b42565b029392505050565b600062000b0e838362001ba1565b805160ff811681146200159757600080fd5b60006020828403121562001c8857600080fd5b62000b0e8262001c63565b600062000b0e60ff84168362001ba1565b60008060006060848603121562001cba57600080fd5b835162001cc78162001a93565b602085015190935062001cda8162001a93565b604085015190925062001ced8162001a93565b809150509250925092565b60008060006060848603121562001d0e57600080fd5b83516002811062001d1e57600080fd5b602085015190935062001d318162001a93565b915062001d416040850162001c63565b90509250925092565b8082028115828204841417620004e057620004e062001b42565b634e487b7160e01b600052601260045260246000fd5b60008262001d8c5762001d8c62001d64565b500490565b60006020828403121562001da457600080fd5b5051919050565b60006020828403121562001dbe57600080fd5b8151801515811462000b0e57600080fd5b60006020828403121562001de257600080fd5b81516001600160801b038116811462000b0e57600080fd5b81810381811115620004e057620004e062001b42565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001e4c5762001e4c62001e10565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001e7d5762001e7d62001e10565b604052919050565b6000610120828403121562001e9957600080fd5b62001ea362001e26565b82518152602083015160208201526040830151604082015262001ec96060840162001aac565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b8082018281126000831280158216821582161715620004dd57620004dd62001b42565b818103600083128015838313168383128216171562000908576200090862001b42565b8051600f81900b81146200159757600080fd5b805161ffff811681146200159757600080fd5b60008060008060008060c0878903121562001f9257600080fd5b62001f9d8762001f52565b955062001fad6020880162001f52565b60408801519095506001600160601b038116811462001fcb57600080fd5b935062001fdb6060880162001f65565b925062001feb6080880162001f65565b915062001ffb60a0880162001f65565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156200205d57835163ffffffff168352928401929184019160010162002039565b50909695505050505050565b600060208083850312156200207d57600080fd5b82516001600160401b03808211156200209557600080fd5b818501915085601f830112620020aa57600080fd5b815181811115620020bf57620020bf62001e10565b8060051b9150620020d284830162001e52565b8181529183018401918481019088841115620020ed57600080fd5b938501935b838510156200212757845192506001600160d81b0383168314620021165760008081fd5b8282529385019390850190620020f2565b98975050505050505050565b6001600160d81b0382811682821603908082111562000908576200090862001b42565b60006001600160d81b038381168062002173576200217362001d64565b92169190910492915050565b80820260008212600160ff1b841416156200219e576200219e62001b42565b8181058314821517620004e057620004e062001b42565b600082620021c757620021c762001d64565b600160ff1b821460001984141615620021e457620021e462001b42565b500590565b6000600160ff1b820162002201576200220162001b42565b5060000390565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051610160516101805161203a620022b76000396000818160f601526103b00152600081816101670152610323015260006105780152600081816102820152610a760152600081816101aa0152610a9a0152600060b901526000818161012b01526105570152600081816101ed01526105360152600061025b015261203a6000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c80630aa33a24146100b4578063172009a6146100f157806326d8954514610126578063289d77cc14610162578063313ce567146101965780634ae5fa9b146101a557806354fd4d50146101cc5780637284e416146101d357806380f55605146101e85780639a6fc8f51461020f578063c45a015514610256578063ee81d9971461027d578063feaf968c146102a4575b600080fd5b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119c3565b60405180910390f35b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e8565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516100e891906119eb565b604051601281526020016100e8565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001610118565b6101db6102ac565b6040516100e891906119ff565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b61022261021d366004611a66565b6102cc565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100e8565b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b610222610316565b6060604051806060016040528060228152602001611fe360229139905090565b600080808080856001600160501b038116156102fb5760405163bfbe031f60e01b815260040160405180910390fd5b610303610316565b939b929a50909850965090945092505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561037f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a39190611a83565b50935050925050600096507f0000000000000000000000000000000000000000000000000000000000000000826103d861052c565b6103e29190611af1565b6103ec9190611b37565b969760009650909450859350915050565b600080600061040b856105a9565b915091508082106104335761042a8261042487876107d9565b906108ae565b92505050610444565b61042a8161042487876107d9565b50505b92915050565b6000806000610458856105a9565b9150915080821061046d5761042a85856107d9565b808261047987876107d9565b6104839190611b65565b61042a9190611b7c565b60008060006104a4856001600160a01b03166105a9565b9150915060006104b58686846108dd565b90508183106104d2576104c881846108ae565b9350505050610444565b6104c881836108ae565b60008060006104f3856001600160a01b03166105a9565b9150915060006105048686846108dd565b9050818310610517579250610444915050565b816105228483611b65565b6104c89190611b7c565b60006105a461059f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b610a6f565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106119190611ba5565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190611bf2565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190611bf2565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107429190611c0b565b80156107b7575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190611c2d565b6001600160801b0316145b156107c4578093506107d1565b6107ce8582610ace565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611bf2565b905042811161085857670de0b6b3a7640000915050610444565b60006108648585610ae6565b905060006108724284611c56565b905060006108886108838484610c96565b610cd2565b905061089c670de0b6b3a7640000826108ae565b945050505050610444565b5092915050565b6000806108c3670de0b6b3a764000085611b65565b90508281816108d4576108d4611b21565b04949350505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b815260040161090d91906119eb565b61012060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611ce3565b90506000428260a001511161097f5761096c848360200151610ce5565b82516109789190611d65565b9050610a4b565b600061098c838642610d1c565b905060008061099c89868a610e22565b9150915060006109c56109c08560400151856109b89190611d85565b865190610e91565b610eb4565b90506000610a0a6109d683856112c9565b6109e890670de0b6b3a7640000611d65565b885160208801516109fa908690610e91565b610a049190611d85565b906112c9565b9050610a2084828960000151610a049190611d65565b610a2a82856112c9565b8660200151610a399190611d85565b610a439190611d65565b955050505050505b610a656108838360400151836112c990919063ffffffff16565b9695505050505050565b60006104447f0000000000000000000000000000000000000000000000000000000000000000610abf7f000000000000000000000000000000000000000000000000000000000000000085611b65565b610ac99190611b7c565b6112ef565b6000818311610add5781610adf565b825b9392505050565b60008163ffffffff16600003610b73576000836001600160a01b031663c3fb90d66040518163ffffffff1660e01b815260040160c060405180830381865afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190611dc9565b50505092505050806001600160601b0316915050610444565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110610ba857610ba8611e4c565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610bec908590600401611e62565b600060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c319190810190611eac565b90508363ffffffff1681600081518110610c4d57610c4d611e4c565b602002602001015182600181518110610c6857610c68611e4c565b6020026020010151610c7a9190611f6a565b610c849190611f8a565b6001600160d81b031695945050505050565b600080610ca86201518061016d611b65565b610cb28486611b65565b610cbc9190611b7c565b9050610cca6109c0826112ef565b949350505050565b600080821215610ce157600080fd5b5090565b60008060008312610cf7576001610cfb565b6000195b9050610d12610ac985610d0d86611305565b61131c565b610cca9082611af1565b610d476040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610d6b5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610d7d9190611c56565b9050610d89858261133b565b82526020850151610d9b908590610ce5565b602083015284511580610db057506020820151155b15610de3578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610e0185600001518661010001518460200151856000015185611397565b604083015260c0850151610e159082610c96565b6060830152509392505050565b60008080610e396001600160a01b03871685610ae6565b90506000428660a00151610e4d9190611c56565b9050610e598282610c96565b93506000610e6c87610100015183610c96565b90506002610e7a8683611d65565b610e849190611b37565b9350505050935093915050565b600080610e9e8385611af1565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610ed9575068070c1cc73b00c800008213155b610f185760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610dda565b6000821215610f5057610f2d82600003610eb4565b6a0c097ce7bc90715b34b9f160241b81610f4957610f49611b21565b0592915050565b60006806f05b59d3b20000008312610f8e57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610fc4565b6803782dace9d90000008312610fc057506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610fc4565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126110145768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611050576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261108a57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126110c4576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126110fd57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126111365768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261116f576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126111a85768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806112de670de0b6b3a764000085611af1565b9050828181610eab57610eab611b21565b60006001600160ff1b03821115610ce157600080fd5b6000808213610ce15761131782611fb0565b610444565b6000670de0b6b3a76400006113318484611b65565b610adf9190611b7c565b6000611346826112ef565b611358610ac96201518061016d611b65565b84608001516113679190611af1565b6113719190611b37565b90506000811361044457604051630e520c3b60e11b815260048101829052602401610dda565b6000806113a48684610c96565b9050670de0b6b3a76400008112156113d25760405163329e322960e21b815260048101829052602401610dda565b60006113e86113e1878a611d65565b89906112c9565b905060006113f582611418565b905061140181876112c9565b61140b9084611d85565b9998505050505050505050565b6000670de0b6b3a764000082036114425760405163a9c8b14d60e01b815260040160405180910390fd5b600061146061145984670de0b6b3a7640000611d85565b84906112c9565b9050610adf8160008082136114a75760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610dda565b670c7d713b49da0000821380156114c55750670f43fc2c04ee000082125b156114e957670de0b6b3a76400006114dc836114f7565b81610f4957610f49611b21565b61044482611616565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161153857611538611b21565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156116575761164e826a0c097ce7bc90715b34b9f160241b8161164857611648611b21565b05611616565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126116a25772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126116d9576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611721576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261175c576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261179357693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126117ca57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126117ff5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261182a57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261185f576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611894576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126118c8576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126118fc576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161192557611925611b21565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6119c1611fcc565b565b60208101600483106119e557634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b0391909116815260200190565b60006020808352835180602085015260005b81811015611a2d57858101830151858201604001528201611a11565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160501b0381168114611a6357600080fd5b50565b600060208284031215611a7857600080fd5b8135610adf81611a4e565b600080600080600060a08688031215611a9b57600080fd5b8551611aa681611a4e565b809550506020860151935060408601519250606086015191506080860151611acd81611a4e565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b84141615611b0d57611b0d611adb565b818105831482151761044457610444611adb565b634e487b7160e01b600052601260045260246000fd5b600082611b4657611b46611b21565b600160ff1b821460001984141615611b6057611b60611adb565b500590565b808202811582820484141761044457610444611adb565b600082611b8b57611b8b611b21565b500490565b6001600160a01b0381168114611a6357600080fd5b600080600060608486031215611bba57600080fd5b8351611bc581611b90565b6020850151909350611bd681611b90565b6040850151909250611be781611b90565b809150509250925092565b600060208284031215611c0457600080fd5b5051919050565b600060208284031215611c1d57600080fd5b81518015158114610adf57600080fd5b600060208284031215611c3f57600080fd5b81516001600160801b0381168114610adf57600080fd5b8181038181111561044457610444611adb565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ca257611ca2611c69565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611cd057611cd0611c69565b604052919050565b80516114f281611b90565b60006101208284031215611cf657600080fd5b611cfe611c7f565b825181526020830151602082015260408301516040820152611d2260608401611cd8565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561044157610441611adb565b81810360008312801583831316838312821617156108a7576108a7611adb565b8051600f81900b81146114f257600080fd5b805161ffff811681146114f257600080fd5b60008060008060008060c08789031215611de257600080fd5b611deb87611da5565b9550611df960208801611da5565b60408801519095506001600160601b0381168114611e1657600080fd5b9350611e2460608801611db7565b9250611e3260808801611db7565b9150611e4060a08801611db7565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611ea057835163ffffffff1683529284019291840191600101611e7e565b50909695505050505050565b60006020808385031215611ebf57600080fd5b82516001600160401b0380821115611ed657600080fd5b818501915085601f830112611eea57600080fd5b815181811115611efc57611efc611c69565b8060051b9150611f0d848301611ca8565b8181529183018401918481019088841115611f2757600080fd5b938501935b83851015611f5e57845192506001600160d81b0383168314611f4e5760008081fd5b8282529385019390850190611f2c565b98975050505050505050565b6001600160d81b038281168282160390808211156108a7576108a7611adb565b60006001600160d81b0383811680611fa457611fa4611b21565b92169190910492915050565b6000600160ff1b8201611fc557611fc5611adb565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a264697066735822122071120e10d2813ffc95321176e20e2cced197f0340ee3189c85c92f6b4632ecae64736f6c63430008170033a26469706673582212204396141f682324146b56a9df1b41696d77fa6043381ebfa49d29f021a40ecf2e64736f6c63430008170033";
|
|
348
348
|
|
|
349
349
|
type PendleChainlinkOracleFactoryConstructorParams =
|
|
350
350
|
| [signer?: Signer]
|