@gooddollar/goodprotocol 2.2.0-beta.1 → 2.2.1
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/artifacts/abis/CreateReserveExchange.min.json +1 -0
- package/artifacts/abis/IBancorExchangeProvider.min.json +1 -1
- package/artifacts/abis/IBroker.min.json +1 -1
- package/artifacts/abis/IdentityV3.min.json +1 -1
- package/artifacts/abis/IdentityV4.min.json +1 -1
- package/artifacts/abis/InvitesV2.min.json +1 -1
- package/artifacts/abis/UpdateReserveRatio.min.json +1 -0
- package/artifacts/abis/Voters.min.json +1 -0
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +1 -1
- package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.json +69 -0
- package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBroker.json +131 -4
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.dbg.json +4 -0
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Voters.json +42 -0
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +40 -2
- package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.json +15 -2
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +59 -2
- package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.json +2 -2
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.json +2 -2
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +2 -2
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
- package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +2 -2
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +2 -2
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
- package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
- package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
- package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.dbg.json +4 -0
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange.json +77 -0
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.dbg.json +4 -0
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/MentoExchange.json +24 -0
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.dbg.json +4 -0
- package/artifacts/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.json +60 -0
- package/contracts/MentoInterfaces.sol +247 -203
- package/contracts/fuseFaucet/Faucet.sol +15 -2
- package/contracts/identity/IdentityV3.sol +5 -0
- package/contracts/identity/IdentityV4.sol +25 -3
- package/contracts/invite/InvitesV2.sol +30 -10
- package/contracts/reserve/GenericDistributionHelper.sol +35 -7
- package/contracts/ubi/UBISchemeV2.sol +8 -1
- package/contracts/utils/UpdateReserveRatio.sol +121 -0
- package/hardhat.config.ts +2 -2
- package/package.json +1 -3
- package/releases/deploy-settings.json +3 -0
- package/releases/deployment.json +29 -17
- package/test/helpers.ts +4 -1
- package/test/identity/IdentityV4.test.ts +16 -6
- package/test/invite/InvitesV2.test.ts +50 -5
- package/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
- package/types/contracts/MentoInterfaces.sol/IBancorExchangeProvider.ts +54 -0
- package/types/contracts/MentoInterfaces.sol/IBroker.ts +99 -7
- package/types/contracts/fuseFaucet/{Faucet.ts → Faucet.sol/Faucet.ts} +1 -1
- package/types/contracts/{utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.ts → fuseFaucet/Faucet.sol/Voters.ts} +34 -12
- package/types/contracts/fuseFaucet/{Faucet copy.sol/index.ts → Faucet.sol/index.ts} +2 -1
- package/types/contracts/fuseFaucet/index.ts +2 -1
- package/types/contracts/identity/IdentityV3.ts +46 -0
- package/types/contracts/identity/IdentityV4.ts +22 -0
- package/types/contracts/invite/InvitesV2.ts +106 -0
- package/types/contracts/utils/{ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts → UpdateReserveRatio.sol/CreateReserveExchange.ts} +10 -32
- package/types/contracts/utils/UpdateReserveRatio.sol/index.ts +1 -0
- package/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +0 -1
- package/types/factories/contracts/MentoInterfaces.sol/IBancorExchangeProvider__factory.ts +69 -0
- package/types/factories/contracts/MentoInterfaces.sol/IBroker__factory.ts +131 -4
- package/types/factories/contracts/fuseFaucet/Faucet.sol/Faucet__factory.ts +914 -0
- package/types/factories/contracts/fuseFaucet/Faucet.sol/Voters__factory.ts +54 -0
- package/types/factories/contracts/fuseFaucet/Faucet.sol/index.ts +5 -0
- package/types/factories/contracts/fuseFaucet/index.ts +1 -1
- package/types/factories/contracts/identity/IdentityV3__factory.ts +39 -1
- package/types/factories/contracts/identity/IdentityV4__factory.ts +14 -1
- package/types/factories/contracts/invite/InvitesV2__factory.ts +58 -1
- package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper__factory.ts +1 -1
- package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest__factory.ts +1 -1
- package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +1 -1
- package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +1 -1
- package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +1 -1
- package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +1 -1
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/CreateReserveExchange__factory.ts +137 -0
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio__factory.ts +1 -1
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/index.ts +1 -0
- package/types/hardhat.d.ts +18 -9
- package/types/index.ts +8 -4
- package/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +0 -108
- package/types/contracts/IQuoter.sol/IQuoterV2.ts +0 -297
- package/types/contracts/IQuoter.sol/index.ts +0 -4
- package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +0 -155
- package/types/contracts/Interfaces.sol/AToken.ts +0 -81
- package/types/contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts +0 -156
- package/types/contracts/Interfaces.sol/ILendingPoolV3.ts +0 -254
- package/types/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet.ts +0 -1439
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +0 -648
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +0 -843
- package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
- package/types/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts +0 -1252
- package/types/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +0 -1357
- package/types/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts +0 -1247
- package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
- package/types/contracts/reserve/GoodReserveADai.ts +0 -2212
- package/types/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts +0 -1808
- package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
- package/types/contracts/token/GoodDollar18.ts +0 -1871
- package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneV2.ts +0 -464
- package/types/contracts/utils/BuyGDClone.sol/IQuoterV2.ts +0 -184
- package/types/contracts/utils/BuyGDClone.sol/ISwapRouter.ts +0 -306
- package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +0 -108
- package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange.ts +0 -81
- package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
- package/types/contracts/utils/ReserveRestore.sol/MentoExchange.ts +0 -81
- package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +0 -112
- package/types/contracts/utils/ReserveRestore.sol/index.ts +0 -5
- package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts +0 -122
- package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
- package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange.ts +0 -81
- package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC.ts +0 -122
- package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
- package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +0 -146
- package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +0 -226
- package/types/factories/contracts/IQuoter.sol/index.ts +0 -4
- package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +0 -84
- package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +0 -36
- package/types/factories/contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts +0 -88
- package/types/factories/contracts/Interfaces.sol/ILendingPoolV3__factory.ts +0 -186
- package/types/factories/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet__factory.ts +0 -945
- package/types/factories/contracts/fuseFaucet/Faucet copy.sol/index.ts +0 -4
- package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +0 -914
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +0 -572
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +0 -482
- package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +0 -4
- package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +0 -929
- package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +0 -1017
- package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +0 -935
- package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +0 -4
- package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +0 -1502
- package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +0 -1240
- package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +0 -4
- package/types/factories/contracts/token/GoodDollar18__factory.ts +0 -1257
- package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneV2__factory.ts +0 -415
- package/types/factories/contracts/utils/BuyGDClone.sol/IQuoterV2__factory.ts +0 -126
- package/types/factories/contracts/utils/BuyGDClone.sol/ISwapRouter__factory.ts +0 -220
- package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +0 -86
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +0 -39
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +0 -152
- package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +0 -5
- package/types/factories/contracts/utils/ReserveRestore.sol/MentoExchange__factory.ts +0 -39
- package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +0 -95
- package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +0 -5
- package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange__factory.ts +0 -39
- package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -104
- package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +0 -5
- package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange__factory.ts +0 -39
- package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC__factory.ts +0 -115
- package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +0 -5
package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json
CHANGED
|
@@ -924,8 +924,8 @@
|
|
|
924
924
|
"type": "receive"
|
|
925
925
|
}
|
|
926
926
|
],
|
|
927
|
-
"bytecode": "0x60a06040523060805234801561001457600080fd5b506080516137e461004c600039600081816108bc015281816108fc01528181610c1c01528181610c5c0152610cd401526137e46000f3fe60806040526004361061016c5760003560e01c806301ffc9a7146101785780630fffbaf3146101ad57806312adcebf146101cf5780631b3c90a8146101f05780631c6603ba14610207578063248a9ca31461027957806324ea54f4146102a75780632f2ff15d146102c957806332fe7b26146102e9578063346ef41b1461030a57806336568abe1461033a5780633659cfe61461035a5780633d34a2671461037a5780633e6326fc146103af5780634162169f146103cf5780634f1ef286146103ef57806352d1902d146104025780635aef7de61461041757806384f2b3841461043757806386d97a1a146104575780639010d07c1461047757806391d1485414610497578063a217fddf146104b7578063a88ced46146104cc578063a8ba3890146104ec578063b875d49c1461050c578063c91d59fe1461052c578063ca15c8731461054d578063d547741f1461056d578063e1758bd81461058d578063f4325d67146105a257600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004612bc5565b6105c3565b60405190151581526020015b60405180910390f35b3480156101b957600080fd5b506101c26105ee565b6040516101a49190612bef565b3480156101db57600080fd5b50610166546101c2906001600160a01b031681565b3480156101fc57600080fd5b50610205610684565b005b34801561021357600080fd5b506101645461016554610245916001600160801b0380821692600160801b909204169060ff8082169161010090041684565b604080516001600160801b03958616815294909316602085015260ff918216928401929092521660608201526080016101a4565b34801561028557600080fd5b50610299610294366004612c03565b6107ab565b6040519081526020016101a4565b3480156102b357600080fd5b5061029960008051602061378f83398151915281565b3480156102d557600080fd5b506102056102e4366004612c31565b6107c0565b3480156102f557600080fd5b50610167546101c2906001600160a01b031681565b34801561031657600080fd5b5061032a610325366004612c03565b6107e1565b6040516101a49493929190612c99565b34801561034657600080fd5b50610205610355366004612c31565b61082f565b34801561036657600080fd5b50610205610375366004612cca565b6108b2565b34801561038657600080fd5b5061039a610395366004612c03565b61097a565b604080519283526020830191909152016101a4565b3480156103bb57600080fd5b506067546101c2906001600160a01b031681565b3480156103db57600080fd5b506065546101c2906001600160a01b031681565b6102056103fd366004612d4e565b610c12565b34801561040e57600080fd5b50610299610cc7565b34801561042357600080fd5b506066546101c2906001600160a01b031681565b34801561044357600080fd5b50610205610452366004612cca565b610d76565b34801561046357600080fd5b50610205610472366004612e12565b610d97565b34801561048357600080fd5b506101c2610492366004612e7d565b611058565b3480156104a357600080fd5b506101986104b2366004612c31565b611078565b3480156104c357600080fd5b50610299600081565b3480156104d857600080fd5b506102056104e7366004612f2d565b6110a3565b3480156104f857600080fd5b50610205610507366004612c03565b61129a565b34801561051857600080fd5b50610205610527366004612fad565b6115d2565b34801561053857600080fd5b50610168546101c2906001600160a01b031681565b34801561055957600080fd5b50610299610568366004612c03565b611638565b34801561057957600080fd5b50610205610588366004612c31565b611650565b34801561059957600080fd5b506101c261166c565b3480156105ae57600080fd5b50610169546101c2906001600160a01b031681565b60006001600160e01b03198216635a05180f60e01b14806105e857506105e8826116b8565b92915050565b60675460405163bf40fac160e01b81526020600482015260126024820152711354109094925111d157d0d3d395149050d560721b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190612fc9565b905090565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190612fc9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107899190612fc9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b6107c9826107ab565b6107d2816116ed565b6107dc83836116f7565b505050565b61016281815481106107f257600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146108a45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108ae828261171a565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108fa5760405162461bcd60e51b815260040161089b90612fe6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661092c61173d565b6001600160a01b0316146109525760405162461bcd60e51b815260040161089b90613020565b61095b81611759565b6040805160008082526020820190925261097791839190611761565b50565b610164546000908190819047906109a290600160801b90046001600160801b03166003613070565b6001600160801b03166109b5919061309b565b610166546101685461016954604051630757bc8160e01b81529394506000936001600160a01b0393841693630757bc81936109fd938893918316921690603c906004016130ae565b600060405180830381865afa158015610a1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a42919081019061316d565b5061016654610169549192506001600160a01b0390811691630757bc8191849116610a6b61166c565b603c6040518563ffffffff1660e01b8152600401610a8c94939291906130ae565b600060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad1919081019061316d565b508094505081925084841115610c0b57610166548594506000906001600160a01b0316630757bc8186610b0261166c565b610169546040516001600160e01b031960e086901b168152610b359392916001600160a01b031690603c906004016130ae565b600060405180830381865afa158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a919081019061316d565b50610166546101695461016854604051630757bc8160e01b81529394506001600160a01b0392831693630757bc8193610bc193879390821692911690603c906004016130ae565b600060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c06919081019061316d565b509350505b5050915091565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c5a5760405162461bcd60e51b815260040161089b90612fe6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c8c61173d565b6001600160a01b031614610cb25760405162461bcd60e51b815260040161089b90613020565b610cbb82611759565b6108ae82826001611761565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d625760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161089b565b506000805160206137488339815191525b90565b60008051602061378f833981519152610d8e816116ed565b6108ae826118cc565b6000610da2816116ed565b600082606001516002811115610dba57610dba612c61565b14158015610dd2575046826020015163ffffffff1614155b15610df05760405163029b6e5760e41b815260040160405180910390fd5b60005b61016254811015610f495782604001516001600160a01b03166101628281548110610e2057610e206131b4565b600091825260209091200154600160401b90046001600160a01b031603610f3757826101628281548110610e5657610e566131b4565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610ef157610ef1612c61565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610f2a9291906131ca565b60405180910390a1505050565b80610f418161321b565b915050610df3565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610f7f918591906131ca565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b83600281111561104d5761104d612c61565b021790555050505050565b60008281526101306020526040812061107190836119f2565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff16158080156110c35750600054600160ff909116105b806110e457506110d2306119fe565b1580156110e4575060005460ff166001145b6111475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161089b565b6000805460ff19166001179055801561116a576000805461ff0019166101001790555b611172611a0d565b61117b87611a7a565b606654611193906000906001600160a01b0316611a9d565b6066546111b89060008051602061378f833981519152906001600160a01b0316611a9d565b61016680546001600160a01b038089166001600160a01b0319928316179092556101678054868416908316179055835160208501516001600160801b03908116600160801b029116176101645560408401516101658054606087015160ff9081166101000261ffff1990921693169290921791909117905561016880549288169290911691909117905561124b846118cc565b8015611291576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61016a546001036112ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161089b565b600161016a5560006112fd61166c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016113289190612bef565b602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190613234565b90508060000361137957506115c9565b6101645460009081908190600160801b90046001600160801b03164710156114e957610165546064906113af9060ff168661324d565b6113b99190613264565b91506113c48261097a565b90925090506113d3828561309b565b93506113df8282611aa7565b61016854604051632e1a7d4d60e01b8152600481018390529194506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561142757600080fd5b505af1925050508015611438575060015b6114e957611444613286565b806308c379a00361149357506114586132a1565b806114635750611495565b600080516020613708833981519152818560006040516114859392919061337a565b60405180910390a1506114e9565b505b6040805160608082526014908201527315d15512081dda5d1a191c985dc819985a5b195960621b60808201526020810185905260008183015290516000805160206137088339815191529181900360a00190a15b6000805b6101625481101561157f576000610162828154811061150e5761150e6131b4565b6000918252602090912001805490915063ffffffff161561156c578054600090612710906115429063ffffffff168a61324d565b61154c9190613264565b9050611558818561339f565b9350801561156a5761156a8282612063565b505b50806115778161321b565b9150506114ed565b507fdbd53b67dd15f9594eee6de294654de25af4c2a14d79d76e47d08d83c8025f5d81868861016287896040516115bb969594939291906133b2565b60405180910390a150505050505b50600061016a55565b60008051602061378f8339815191526115ea816116ed565b50805160208201516001600160801b03908116600160801b02911617610164556040810151610165805460609093015160ff9081166101000261ffff19909416921691909117919091179055565b6000818152610130602052604081206105e89061243a565b611659826107ab565b611662816116ed565b6107dc838361171a565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161063e565b60006001600160e01b03198216637965db0b60e01b14806105e857506301ffc9a760e01b6001600160e01b03198316146105e8565b6109778133612444565b611701828261249d565b6000828152610130602052604090206107dc9082612523565b6117248282612538565b6000828152610130602052604090206107dc908261259f565b600080516020613748833981519152546001600160a01b031690565b6109776125b4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611794576107dc83612677565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117ee575060408051601f3d908101601f191682019092526117eb91810190613234565b60015b6118515760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161089b565b60008051602061374883398151915281146118c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161089b565b506107dc838383612711565b61016980546001600160a01b0319166001600160a01b038381169182179092556101665490911690631c49cbb59061190261166c565b603c6040518463ffffffff1660e01b81526004016119229392919061345d565b6000604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119699190810190613486565b50610166546101695461016854604051631c49cbb560e01b81526001600160a01b0393841693631c49cbb5936119ab9390821692911690603c9060040161345d565b6000604051808303816000875af11580156119ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ae9190810190613486565b6000611071838361273c565b6001600160a01b03163b151590565b600054610100900460ff16611a785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161089b565b565b606780546001600160a01b0319166001600160a01b038316179055610977610684565b6108ae82826116f7565b610166546101695460009182916001600160a01b03918216916362d991199116611acf61166c565b6040518363ffffffff1660e01b8152600401611aec9291906134c2565b600060405180830381865afa158015611b09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b319190810190613486565b6101665461016954610168546040516362d9911960e01b81529394506000936001600160a01b03938416936362d9911993611b7593908216929116906004016134c2565b600060405180830381865afa158015611b92573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bba9190810190613486565b9050600081600081518110611bd157611bd16131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3a91906134dc565b9050600083600081518110611c5157611c516131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cba91906134dc565b905060015b8351811015611d76576000848281518110611cdc57611cdc6131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4591906134dc565b90508062ffffff168462ffffff1610611d5e5780611d60565b835b9350508080611d6e9061321b565b915050611cbf565b5060015b8451811015611e31576000858281518110611d9757611d976131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0091906134dc565b90508062ffffff168362ffffff1610611e195780611e1b565b825b9250508080611e299061321b565b915050611d7a565b50611e3a61166c565b6101675460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611e6e929116908b90600401613501565b6020604051808303816000875af1158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb1919061351a565b5061016554600090606490611ece90610100900460ff168261353c565b611edb9060ff168961324d565b611ee59190613264565b905060006040518060800160405280611efc61166c565b61016954610168546040516001600160601b0319606094851b811660208301526001600160e81b031960e88b811b8216603485015294861b82166037840152938b901b909316604b820152921b16604e82015260620160408051601f198184030181529181529082523060208301528181018c9052606090910184905261016754905163b858183f60e01b81529192506001600160a01b03169063b858183f90611faa908490600401613555565b6020604051808303816000875af1925050508015611fe5575060408051601f3d908101601f19168201909252611fe291810190613234565b60015b61205557611ff1613286565b806308c379a00361204957506120056132a1565b80612010575061204b565b600080516020613708833981519152818b856040516120319392919061337a565b60405180910390a160009750505050505050506105e8565b505b3d6000803e3d6000fd5b96506105e895505050505050565b60008254600160e01b900460ff16600281111561208257612082612c61565b0361231c5761208f61166c565b6001600160a01b031663095ea7b36120a56105ee565b836040518363ffffffff1660e01b81526004016120c3929190613501565b6020604051808303816000875af11580156120e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612106919061351a565b5060006121116105ee565b6001600160a01b03166305fead156121276105ee565b85546040516305b23a9960e41b8152600160201b90910463ffffffff1660048201526001600160a01b039190911690635b23a99090602401602060405180830381865afa15801561217c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a091906135a3565b8554604051600160f01b602082015262061a8060228201523091600160401b90046001600160a01b03169087906000906042016040516020818303038152906040526040518763ffffffff1660e01b8152600401612203969594939291906135c7565b6040805180830381865afa15801561221f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122439190613618565b50610164549091506001600160801b031681118061226057504781115b1561228157604051634493514b60e11b81526004810182905260240161089b565b6122896105ee565b835460405163c56bbdd960e01b8152600160401b82046001600160a01b039081166004830152600160201b90920463ffffffff16602482015260448101859052608060648201526000608482015291169063c56bbdd990839060a4016000604051808303818588803b1580156122fe57600080fd5b505af1158015612312573d6000803e3d6000fd5b5050505050505050565b60028254600160e01b900460ff16600281111561233b5761233b612c61565b036123d35761234861166c565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084015b6020604051808303816000875af11580156123af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc919061351a565b60018254600160e01b900460ff1660028111156123f2576123f2612c61565b036108ae576123ff61166c565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261239092600160401b909104909116908590600401613501565b60006105e8825490565b61244e8282611078565b6108ae5761245b81612766565b612466836020612778565b60405160200161247792919061363c565b60408051601f198184030181529082905262461bcd60e51b825261089b916004016136ab565b6124a78282611078565b6108ae57600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556124df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611071836001600160a01b038416612913565b6125428282611078565b156108ae57600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611071836001600160a01b038416612962565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa1580156125fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126219190612fc9565b6001600160a01b031614611a785760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161089b565b612680816119fe565b6126e25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161089b565b60008051602061374883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61271a83612a55565b6000825111806127275750805b156107dc576127368383612a95565b50505050565b6000826000018281548110612753576127536131b4565b9060005260206000200154905092915050565b60606105e86001600160a01b03831660145b6060600061278783600261324d565b61279290600261339f565b6001600160401b038111156127a9576127a9612ce7565b6040519080825280601f01601f1916602001820160405280156127d3576020820181803683370190505b509050600360fc1b816000815181106127ee576127ee6131b4565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061281d5761281d6131b4565b60200101906001600160f81b031916908160001a905350600061284184600261324d565b61284c90600161339f565b90505b60018111156128c4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612880576128806131b4565b1a60f81b828281518110612896576128966131b4565b60200101906001600160f81b031916908160001a90535060049490941c936128bd816136be565b905061284f565b5083156110715760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161089b565b600081815260018301602052604081205461295a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105e8565b5060006105e8565b60008181526001830160205260408120548015612a4b57600061298660018361309b565b855490915060009061299a9060019061309b565b90508181146129ff5760008660000182815481106129ba576129ba6131b4565b90600052602060002001549050808760000184815481106129dd576129dd6131b4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a1057612a106136d5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105e8565b60009150506105e8565b612a5e81612677565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612aa0836119fe565b612afb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161089b565b600080846001600160a01b031684604051612b1691906136eb565b600060405180830381855af49150503d8060008114612b51576040519150601f19603f3d011682016040523d82523d6000602084013e612b56565b606091505b5091509150612b7e828260405180606001604052806027815260200161376860279139612b87565b95945050505050565b60608315612b96575081611071565b6110718383815115612bab5781518083602001fd5b8060405162461bcd60e51b815260040161089b91906136ab565b600060208284031215612bd757600080fd5b81356001600160e01b03198116811461107157600080fd5b6001600160a01b0391909116815260200190565b600060208284031215612c1557600080fd5b5035919050565b6001600160a01b038116811461097757600080fd5b60008060408385031215612c4457600080fd5b823591506020830135612c5681612c1c565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b60038110612c9557634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101612b7e6060830184612c77565b600060208284031215612cdc57600080fd5b813561107181612c1c565b634e487b7160e01b600052604160045260246000fd5b608081016001600160401b0381118282101715612d1c57612d1c612ce7565b60405250565b601f8201601f191681016001600160401b0381118282101715612d4757612d47612ce7565b6040525050565b60008060408385031215612d6157600080fd5b8235612d6c81612c1c565b91506020838101356001600160401b0380821115612d8957600080fd5b818601915086601f830112612d9d57600080fd5b813581811115612daf57612daf612ce7565b6040519150612dc7601f8201601f1916850183612d22565b8082528784828501011115612ddb57600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff81168114612e0d57600080fd5b919050565b600060808284031215612e2457600080fd5b604051612e3081612cfd565b612e3983612df9565b8152612e4760208401612df9565b60208201526040830135612e5a81612c1c565b6040820152606083013560038110612e7157600080fd5b60608201529392505050565b60008060408385031215612e9057600080fd5b50508035926020909101359150565b80356001600160801b0381168114612e0d57600080fd5b803560ff81168114612e0d57600080fd5b600060808284031215612ed957600080fd5b604051612ee581612cfd565b809150612ef183612e9f565b8152612eff60208401612e9f565b6020820152612f1060408401612eb6565b6040820152612f2160608401612eb6565b60608201525092915050565b6000806000806000806101208789031215612f4757600080fd5b8635612f5281612c1c565b95506020870135612f6281612c1c565b94506040870135612f7281612c1c565b93506060870135612f8281612c1c565b92506080870135612f9281612c1c565b9150612fa18860a08901612ec7565b90509295509295509295565b600060808284031215612fbf57600080fd5b6110718383612ec7565b600060208284031215612fdb57600080fd5b815161107181612c1c565b6020808252602c9082015260008051602061372883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061372883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038181168382160280821691908281146130935761309361305a565b505092915050565b818103818111156105e8576105e861305a565b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b600082601f8301126130f557600080fd5b815160206001600160401b0382111561311057613110612ce7565b8160051b60405161312383830182612d22565b9283528481018201928281018785111561313c57600080fd5b83870192505b8483101561316257825161315581612c1c565b8152918301918301613142565b509695505050505050565b6000806040838503121561318057600080fd5b825160208401519092506001600160401b0381111561319e57600080fd5b6131aa858286016130e4565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161320d90840182612c77565b508260808301529392505050565b60006001820161322d5761322d61305a565b5060010190565b60006020828403121561324657600080fd5b5051919050565b80820281158282048414176105e8576105e861305a565b60008261328157634e487b7160e01b600052601260045260246000fd5b500490565b600060033d1115610d735760046000803e5060005160e01c90565b600060443d10156132af5790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156132de57505050505090565b82850191508151818111156132f65750505050505090565b843d87010160208285010111156133105750505050505090565b61331f60208286010187612d22565b509095945050505050565b60005b8381101561334557818101518382015260200161332d565b50506000910152565b6000815180845261336681602086016020860161332a565b601f01601f19169290920160200192915050565b60608152600061338d606083018661334e565b60208301949094525060400152919050565b808201808211156105e8576105e861305a565b600060c082018883526020888185015260408881860152606060c08187015283895480865260e0955085880191508a6000528460002060005b8281101561343c57815463ffffffff808216865281891c168886015280871c6001600160a01b031687860152613428868601828b1c60ff16612c77565b5060809390930192600191820191016133eb565b50505060808701989098525050505060a09091019190915250949350505050565b6001600160a01b03938416815291909216602082015263ffffffff909116604082015260600190565b60006020828403121561349857600080fd5b81516001600160401b038111156134ae57600080fd5b6134ba848285016130e4565b949350505050565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156134ee57600080fd5b815162ffffff8116811461107157600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561352c57600080fd5b8151801515811461107157600080fd5b60ff82811682821603908111156105e8576105e861305a565b60208152600082516080602084015261357160a084018261334e565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b6000602082840312156135b557600080fd5b815161ffff8116811461107157600080fd5b61ffff871681526001600160a01b0386811660208301528516604082015260608101849052821515608082015260c060a0820181905260009061360c9083018461334e565b98975050505050505050565b6000806040838503121561362b57600080fd5b505080516020909101519092909150565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161366e81601785016020880161332a565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161369f81602884016020880161332a565b01602801949350505050565b602081526000611071602083018461334e565b6000816136cd576136cd61305a565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516136fd81846020870161332a565b919091019291505056fe1c337a8467703b7dbf7a278074870cb1a1f993ef69d022192ba360567703098f46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220218d52cce83ca289b0318186f18a0614fe16b7c6f3b6e054708feebad8d9692264736f6c63430008130033",
|
|
928
|
-
"deployedBytecode": "0x60806040526004361061016c5760003560e01c806301ffc9a7146101785780630fffbaf3146101ad57806312adcebf146101cf5780631b3c90a8146101f05780631c6603ba14610207578063248a9ca31461027957806324ea54f4146102a75780632f2ff15d146102c957806332fe7b26146102e9578063346ef41b1461030a57806336568abe1461033a5780633659cfe61461035a5780633d34a2671461037a5780633e6326fc146103af5780634162169f146103cf5780634f1ef286146103ef57806352d1902d146104025780635aef7de61461041757806384f2b3841461043757806386d97a1a146104575780639010d07c1461047757806391d1485414610497578063a217fddf146104b7578063a88ced46146104cc578063a8ba3890146104ec578063b875d49c1461050c578063c91d59fe1461052c578063ca15c8731461054d578063d547741f1461056d578063e1758bd81461058d578063f4325d67146105a257600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004612bc5565b6105c3565b60405190151581526020015b60405180910390f35b3480156101b957600080fd5b506101c26105ee565b6040516101a49190612bef565b3480156101db57600080fd5b50610166546101c2906001600160a01b031681565b3480156101fc57600080fd5b50610205610684565b005b34801561021357600080fd5b506101645461016554610245916001600160801b0380821692600160801b909204169060ff8082169161010090041684565b604080516001600160801b03958616815294909316602085015260ff918216928401929092521660608201526080016101a4565b34801561028557600080fd5b50610299610294366004612c03565b6107ab565b6040519081526020016101a4565b3480156102b357600080fd5b5061029960008051602061378f83398151915281565b3480156102d557600080fd5b506102056102e4366004612c31565b6107c0565b3480156102f557600080fd5b50610167546101c2906001600160a01b031681565b34801561031657600080fd5b5061032a610325366004612c03565b6107e1565b6040516101a49493929190612c99565b34801561034657600080fd5b50610205610355366004612c31565b61082f565b34801561036657600080fd5b50610205610375366004612cca565b6108b2565b34801561038657600080fd5b5061039a610395366004612c03565b61097a565b604080519283526020830191909152016101a4565b3480156103bb57600080fd5b506067546101c2906001600160a01b031681565b3480156103db57600080fd5b506065546101c2906001600160a01b031681565b6102056103fd366004612d4e565b610c12565b34801561040e57600080fd5b50610299610cc7565b34801561042357600080fd5b506066546101c2906001600160a01b031681565b34801561044357600080fd5b50610205610452366004612cca565b610d76565b34801561046357600080fd5b50610205610472366004612e12565b610d97565b34801561048357600080fd5b506101c2610492366004612e7d565b611058565b3480156104a357600080fd5b506101986104b2366004612c31565b611078565b3480156104c357600080fd5b50610299600081565b3480156104d857600080fd5b506102056104e7366004612f2d565b6110a3565b3480156104f857600080fd5b50610205610507366004612c03565b61129a565b34801561051857600080fd5b50610205610527366004612fad565b6115d2565b34801561053857600080fd5b50610168546101c2906001600160a01b031681565b34801561055957600080fd5b50610299610568366004612c03565b611638565b34801561057957600080fd5b50610205610588366004612c31565b611650565b34801561059957600080fd5b506101c261166c565b3480156105ae57600080fd5b50610169546101c2906001600160a01b031681565b60006001600160e01b03198216635a05180f60e01b14806105e857506105e8826116b8565b92915050565b60675460405163bf40fac160e01b81526020600482015260126024820152711354109094925111d157d0d3d395149050d560721b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190612fc9565b905090565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190612fc9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107899190612fc9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b6107c9826107ab565b6107d2816116ed565b6107dc83836116f7565b505050565b61016281815481106107f257600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146108a45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108ae828261171a565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108fa5760405162461bcd60e51b815260040161089b90612fe6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661092c61173d565b6001600160a01b0316146109525760405162461bcd60e51b815260040161089b90613020565b61095b81611759565b6040805160008082526020820190925261097791839190611761565b50565b610164546000908190819047906109a290600160801b90046001600160801b03166003613070565b6001600160801b03166109b5919061309b565b610166546101685461016954604051630757bc8160e01b81529394506000936001600160a01b0393841693630757bc81936109fd938893918316921690603c906004016130ae565b600060405180830381865afa158015610a1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a42919081019061316d565b5061016654610169549192506001600160a01b0390811691630757bc8191849116610a6b61166c565b603c6040518563ffffffff1660e01b8152600401610a8c94939291906130ae565b600060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad1919081019061316d565b508094505081925084841115610c0b57610166548594506000906001600160a01b0316630757bc8186610b0261166c565b610169546040516001600160e01b031960e086901b168152610b359392916001600160a01b031690603c906004016130ae565b600060405180830381865afa158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a919081019061316d565b50610166546101695461016854604051630757bc8160e01b81529394506001600160a01b0392831693630757bc8193610bc193879390821692911690603c906004016130ae565b600060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c06919081019061316d565b509350505b5050915091565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c5a5760405162461bcd60e51b815260040161089b90612fe6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c8c61173d565b6001600160a01b031614610cb25760405162461bcd60e51b815260040161089b90613020565b610cbb82611759565b6108ae82826001611761565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d625760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161089b565b506000805160206137488339815191525b90565b60008051602061378f833981519152610d8e816116ed565b6108ae826118cc565b6000610da2816116ed565b600082606001516002811115610dba57610dba612c61565b14158015610dd2575046826020015163ffffffff1614155b15610df05760405163029b6e5760e41b815260040160405180910390fd5b60005b61016254811015610f495782604001516001600160a01b03166101628281548110610e2057610e206131b4565b600091825260209091200154600160401b90046001600160a01b031603610f3757826101628281548110610e5657610e566131b4565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610ef157610ef1612c61565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610f2a9291906131ca565b60405180910390a1505050565b80610f418161321b565b915050610df3565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610f7f918591906131ca565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b83600281111561104d5761104d612c61565b021790555050505050565b60008281526101306020526040812061107190836119f2565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff16158080156110c35750600054600160ff909116105b806110e457506110d2306119fe565b1580156110e4575060005460ff166001145b6111475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161089b565b6000805460ff19166001179055801561116a576000805461ff0019166101001790555b611172611a0d565b61117b87611a7a565b606654611193906000906001600160a01b0316611a9d565b6066546111b89060008051602061378f833981519152906001600160a01b0316611a9d565b61016680546001600160a01b038089166001600160a01b0319928316179092556101678054868416908316179055835160208501516001600160801b03908116600160801b029116176101645560408401516101658054606087015160ff9081166101000261ffff1990921693169290921791909117905561016880549288169290911691909117905561124b846118cc565b8015611291576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61016a546001036112ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161089b565b600161016a5560006112fd61166c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016113289190612bef565b602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190613234565b90508060000361137957506115c9565b6101645460009081908190600160801b90046001600160801b03164710156114e957610165546064906113af9060ff168661324d565b6113b99190613264565b91506113c48261097a565b90925090506113d3828561309b565b93506113df8282611aa7565b61016854604051632e1a7d4d60e01b8152600481018390529194506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561142757600080fd5b505af1925050508015611438575060015b6114e957611444613286565b806308c379a00361149357506114586132a1565b806114635750611495565b600080516020613708833981519152818560006040516114859392919061337a565b60405180910390a1506114e9565b505b6040805160608082526014908201527315d15512081dda5d1a191c985dc819985a5b195960621b60808201526020810185905260008183015290516000805160206137088339815191529181900360a00190a15b6000805b6101625481101561157f576000610162828154811061150e5761150e6131b4565b6000918252602090912001805490915063ffffffff161561156c578054600090612710906115429063ffffffff168a61324d565b61154c9190613264565b9050611558818561339f565b9350801561156a5761156a8282612063565b505b50806115778161321b565b9150506114ed565b507fdbd53b67dd15f9594eee6de294654de25af4c2a14d79d76e47d08d83c8025f5d81868861016287896040516115bb969594939291906133b2565b60405180910390a150505050505b50600061016a55565b60008051602061378f8339815191526115ea816116ed565b50805160208201516001600160801b03908116600160801b02911617610164556040810151610165805460609093015160ff9081166101000261ffff19909416921691909117919091179055565b6000818152610130602052604081206105e89061243a565b611659826107ab565b611662816116ed565b6107dc838361171a565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161063e565b60006001600160e01b03198216637965db0b60e01b14806105e857506301ffc9a760e01b6001600160e01b03198316146105e8565b6109778133612444565b611701828261249d565b6000828152610130602052604090206107dc9082612523565b6117248282612538565b6000828152610130602052604090206107dc908261259f565b600080516020613748833981519152546001600160a01b031690565b6109776125b4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611794576107dc83612677565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117ee575060408051601f3d908101601f191682019092526117eb91810190613234565b60015b6118515760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161089b565b60008051602061374883398151915281146118c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161089b565b506107dc838383612711565b61016980546001600160a01b0319166001600160a01b038381169182179092556101665490911690631c49cbb59061190261166c565b603c6040518463ffffffff1660e01b81526004016119229392919061345d565b6000604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119699190810190613486565b50610166546101695461016854604051631c49cbb560e01b81526001600160a01b0393841693631c49cbb5936119ab9390821692911690603c9060040161345d565b6000604051808303816000875af11580156119ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ae9190810190613486565b6000611071838361273c565b6001600160a01b03163b151590565b600054610100900460ff16611a785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161089b565b565b606780546001600160a01b0319166001600160a01b038316179055610977610684565b6108ae82826116f7565b610166546101695460009182916001600160a01b03918216916362d991199116611acf61166c565b6040518363ffffffff1660e01b8152600401611aec9291906134c2565b600060405180830381865afa158015611b09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b319190810190613486565b6101665461016954610168546040516362d9911960e01b81529394506000936001600160a01b03938416936362d9911993611b7593908216929116906004016134c2565b600060405180830381865afa158015611b92573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bba9190810190613486565b9050600081600081518110611bd157611bd16131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3a91906134dc565b9050600083600081518110611c5157611c516131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cba91906134dc565b905060015b8351811015611d76576000848281518110611cdc57611cdc6131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4591906134dc565b90508062ffffff168462ffffff1610611d5e5780611d60565b835b9350508080611d6e9061321b565b915050611cbf565b5060015b8451811015611e31576000858281518110611d9757611d976131b4565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0091906134dc565b90508062ffffff168362ffffff1610611e195780611e1b565b825b9250508080611e299061321b565b915050611d7a565b50611e3a61166c565b6101675460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611e6e929116908b90600401613501565b6020604051808303816000875af1158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb1919061351a565b5061016554600090606490611ece90610100900460ff168261353c565b611edb9060ff168961324d565b611ee59190613264565b905060006040518060800160405280611efc61166c565b61016954610168546040516001600160601b0319606094851b811660208301526001600160e81b031960e88b811b8216603485015294861b82166037840152938b901b909316604b820152921b16604e82015260620160408051601f198184030181529181529082523060208301528181018c9052606090910184905261016754905163b858183f60e01b81529192506001600160a01b03169063b858183f90611faa908490600401613555565b6020604051808303816000875af1925050508015611fe5575060408051601f3d908101601f19168201909252611fe291810190613234565b60015b61205557611ff1613286565b806308c379a00361204957506120056132a1565b80612010575061204b565b600080516020613708833981519152818b856040516120319392919061337a565b60405180910390a160009750505050505050506105e8565b505b3d6000803e3d6000fd5b96506105e895505050505050565b60008254600160e01b900460ff16600281111561208257612082612c61565b0361231c5761208f61166c565b6001600160a01b031663095ea7b36120a56105ee565b836040518363ffffffff1660e01b81526004016120c3929190613501565b6020604051808303816000875af11580156120e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612106919061351a565b5060006121116105ee565b6001600160a01b03166305fead156121276105ee565b85546040516305b23a9960e41b8152600160201b90910463ffffffff1660048201526001600160a01b039190911690635b23a99090602401602060405180830381865afa15801561217c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a091906135a3565b8554604051600160f01b602082015262061a8060228201523091600160401b90046001600160a01b03169087906000906042016040516020818303038152906040526040518763ffffffff1660e01b8152600401612203969594939291906135c7565b6040805180830381865afa15801561221f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122439190613618565b50610164549091506001600160801b031681118061226057504781115b1561228157604051634493514b60e11b81526004810182905260240161089b565b6122896105ee565b835460405163c56bbdd960e01b8152600160401b82046001600160a01b039081166004830152600160201b90920463ffffffff16602482015260448101859052608060648201526000608482015291169063c56bbdd990839060a4016000604051808303818588803b1580156122fe57600080fd5b505af1158015612312573d6000803e3d6000fd5b5050505050505050565b60028254600160e01b900460ff16600281111561233b5761233b612c61565b036123d35761234861166c565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084015b6020604051808303816000875af11580156123af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc919061351a565b60018254600160e01b900460ff1660028111156123f2576123f2612c61565b036108ae576123ff61166c565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261239092600160401b909104909116908590600401613501565b60006105e8825490565b61244e8282611078565b6108ae5761245b81612766565b612466836020612778565b60405160200161247792919061363c565b60408051601f198184030181529082905262461bcd60e51b825261089b916004016136ab565b6124a78282611078565b6108ae57600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556124df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611071836001600160a01b038416612913565b6125428282611078565b156108ae57600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611071836001600160a01b038416612962565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa1580156125fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126219190612fc9565b6001600160a01b031614611a785760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161089b565b612680816119fe565b6126e25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161089b565b60008051602061374883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61271a83612a55565b6000825111806127275750805b156107dc576127368383612a95565b50505050565b6000826000018281548110612753576127536131b4565b9060005260206000200154905092915050565b60606105e86001600160a01b03831660145b6060600061278783600261324d565b61279290600261339f565b6001600160401b038111156127a9576127a9612ce7565b6040519080825280601f01601f1916602001820160405280156127d3576020820181803683370190505b509050600360fc1b816000815181106127ee576127ee6131b4565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061281d5761281d6131b4565b60200101906001600160f81b031916908160001a905350600061284184600261324d565b61284c90600161339f565b90505b60018111156128c4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612880576128806131b4565b1a60f81b828281518110612896576128966131b4565b60200101906001600160f81b031916908160001a90535060049490941c936128bd816136be565b905061284f565b5083156110715760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161089b565b600081815260018301602052604081205461295a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105e8565b5060006105e8565b60008181526001830160205260408120548015612a4b57600061298660018361309b565b855490915060009061299a9060019061309b565b90508181146129ff5760008660000182815481106129ba576129ba6131b4565b90600052602060002001549050808760000184815481106129dd576129dd6131b4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a1057612a106136d5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105e8565b60009150506105e8565b612a5e81612677565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612aa0836119fe565b612afb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161089b565b600080846001600160a01b031684604051612b1691906136eb565b600060405180830381855af49150503d8060008114612b51576040519150601f19603f3d011682016040523d82523d6000602084013e612b56565b606091505b5091509150612b7e828260405180606001604052806027815260200161376860279139612b87565b95945050505050565b60608315612b96575081611071565b6110718383815115612bab5781518083602001fd5b8060405162461bcd60e51b815260040161089b91906136ab565b600060208284031215612bd757600080fd5b81356001600160e01b03198116811461107157600080fd5b6001600160a01b0391909116815260200190565b600060208284031215612c1557600080fd5b5035919050565b6001600160a01b038116811461097757600080fd5b60008060408385031215612c4457600080fd5b823591506020830135612c5681612c1c565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b60038110612c9557634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101612b7e6060830184612c77565b600060208284031215612cdc57600080fd5b813561107181612c1c565b634e487b7160e01b600052604160045260246000fd5b608081016001600160401b0381118282101715612d1c57612d1c612ce7565b60405250565b601f8201601f191681016001600160401b0381118282101715612d4757612d47612ce7565b6040525050565b60008060408385031215612d6157600080fd5b8235612d6c81612c1c565b91506020838101356001600160401b0380821115612d8957600080fd5b818601915086601f830112612d9d57600080fd5b813581811115612daf57612daf612ce7565b6040519150612dc7601f8201601f1916850183612d22565b8082528784828501011115612ddb57600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff81168114612e0d57600080fd5b919050565b600060808284031215612e2457600080fd5b604051612e3081612cfd565b612e3983612df9565b8152612e4760208401612df9565b60208201526040830135612e5a81612c1c565b6040820152606083013560038110612e7157600080fd5b60608201529392505050565b60008060408385031215612e9057600080fd5b50508035926020909101359150565b80356001600160801b0381168114612e0d57600080fd5b803560ff81168114612e0d57600080fd5b600060808284031215612ed957600080fd5b604051612ee581612cfd565b809150612ef183612e9f565b8152612eff60208401612e9f565b6020820152612f1060408401612eb6565b6040820152612f2160608401612eb6565b60608201525092915050565b6000806000806000806101208789031215612f4757600080fd5b8635612f5281612c1c565b95506020870135612f6281612c1c565b94506040870135612f7281612c1c565b93506060870135612f8281612c1c565b92506080870135612f9281612c1c565b9150612fa18860a08901612ec7565b90509295509295509295565b600060808284031215612fbf57600080fd5b6110718383612ec7565b600060208284031215612fdb57600080fd5b815161107181612c1c565b6020808252602c9082015260008051602061372883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061372883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038181168382160280821691908281146130935761309361305a565b505092915050565b818103818111156105e8576105e861305a565b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b600082601f8301126130f557600080fd5b815160206001600160401b0382111561311057613110612ce7565b8160051b60405161312383830182612d22565b9283528481018201928281018785111561313c57600080fd5b83870192505b8483101561316257825161315581612c1c565b8152918301918301613142565b509695505050505050565b6000806040838503121561318057600080fd5b825160208401519092506001600160401b0381111561319e57600080fd5b6131aa858286016130e4565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161320d90840182612c77565b508260808301529392505050565b60006001820161322d5761322d61305a565b5060010190565b60006020828403121561324657600080fd5b5051919050565b80820281158282048414176105e8576105e861305a565b60008261328157634e487b7160e01b600052601260045260246000fd5b500490565b600060033d1115610d735760046000803e5060005160e01c90565b600060443d10156132af5790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156132de57505050505090565b82850191508151818111156132f65750505050505090565b843d87010160208285010111156133105750505050505090565b61331f60208286010187612d22565b509095945050505050565b60005b8381101561334557818101518382015260200161332d565b50506000910152565b6000815180845261336681602086016020860161332a565b601f01601f19169290920160200192915050565b60608152600061338d606083018661334e565b60208301949094525060400152919050565b808201808211156105e8576105e861305a565b600060c082018883526020888185015260408881860152606060c08187015283895480865260e0955085880191508a6000528460002060005b8281101561343c57815463ffffffff808216865281891c168886015280871c6001600160a01b031687860152613428868601828b1c60ff16612c77565b5060809390930192600191820191016133eb565b50505060808701989098525050505060a09091019190915250949350505050565b6001600160a01b03938416815291909216602082015263ffffffff909116604082015260600190565b60006020828403121561349857600080fd5b81516001600160401b038111156134ae57600080fd5b6134ba848285016130e4565b949350505050565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156134ee57600080fd5b815162ffffff8116811461107157600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561352c57600080fd5b8151801515811461107157600080fd5b60ff82811682821603908111156105e8576105e861305a565b60208152600082516080602084015261357160a084018261334e565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b6000602082840312156135b557600080fd5b815161ffff8116811461107157600080fd5b61ffff871681526001600160a01b0386811660208301528516604082015260608101849052821515608082015260c060a0820181905260009061360c9083018461334e565b98975050505050505050565b6000806040838503121561362b57600080fd5b505080516020909101519092909150565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161366e81601785016020880161332a565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161369f81602884016020880161332a565b01602801949350505050565b602081526000611071602083018461334e565b6000816136cd576136cd61305a565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516136fd81846020870161332a565b919091019291505056fe1c337a8467703b7dbf7a278074870cb1a1f993ef69d022192ba360567703098f46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220218d52cce83ca289b0318186f18a0614fe16b7c6f3b6e054708feebad8d9692264736f6c63430008130033",
|
|
927
|
+
"bytecode": "0x60a06040523060805234801561001457600080fd5b50608051613af261004c600039600081816108bc015281816108fc01528181610c1c01528181610c5c0152610cd40152613af26000f3fe60806040526004361061016c5760003560e01c806301ffc9a7146101785780630fffbaf3146101ad57806312adcebf146101cf5780631b3c90a8146101f05780631c6603ba14610207578063248a9ca31461027957806324ea54f4146102a75780632f2ff15d146102c957806332fe7b26146102e9578063346ef41b1461030a57806336568abe1461033a5780633659cfe61461035a5780633d34a2671461037a5780633e6326fc146103af5780634162169f146103cf5780634f1ef286146103ef57806352d1902d146104025780635aef7de61461041757806384f2b3841461043757806386d97a1a146104575780639010d07c1461047757806391d1485414610497578063a217fddf146104b7578063a88ced46146104cc578063a8ba3890146104ec578063b875d49c1461050c578063c91d59fe1461052c578063ca15c8731461054d578063d547741f1461056d578063e1758bd81461058d578063f4325d67146105a257600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004612ed3565b6105c3565b60405190151581526020015b60405180910390f35b3480156101b957600080fd5b506101c26105ee565b6040516101a49190612efd565b3480156101db57600080fd5b50610166546101c2906001600160a01b031681565b3480156101fc57600080fd5b50610205610684565b005b34801561021357600080fd5b506101645461016554610245916001600160801b0380821692600160801b909204169060ff8082169161010090041684565b604080516001600160801b03958616815294909316602085015260ff918216928401929092521660608201526080016101a4565b34801561028557600080fd5b50610299610294366004612f11565b6107ab565b6040519081526020016101a4565b3480156102b357600080fd5b50610299600080516020613a9d83398151915281565b3480156102d557600080fd5b506102056102e4366004612f3f565b6107c0565b3480156102f557600080fd5b50610167546101c2906001600160a01b031681565b34801561031657600080fd5b5061032a610325366004612f11565b6107e1565b6040516101a49493929190612fa7565b34801561034657600080fd5b50610205610355366004612f3f565b61082f565b34801561036657600080fd5b50610205610375366004612fd8565b6108b2565b34801561038657600080fd5b5061039a610395366004612f11565b61097a565b604080519283526020830191909152016101a4565b3480156103bb57600080fd5b506067546101c2906001600160a01b031681565b3480156103db57600080fd5b506065546101c2906001600160a01b031681565b6102056103fd36600461305c565b610c12565b34801561040e57600080fd5b50610299610cc7565b34801561042357600080fd5b506066546101c2906001600160a01b031681565b34801561044357600080fd5b50610205610452366004612fd8565b610d76565b34801561046357600080fd5b50610205610472366004613120565b610d97565b34801561048357600080fd5b506101c261049236600461318b565b611058565b3480156104a357600080fd5b506101986104b2366004612f3f565b611078565b3480156104c357600080fd5b50610299600081565b3480156104d857600080fd5b506102056104e736600461323b565b6110a3565b3480156104f857600080fd5b50610205610507366004612f11565b61129a565b34801561051857600080fd5b506102056105273660046132bb565b6115d2565b34801561053857600080fd5b50610168546101c2906001600160a01b031681565b34801561055957600080fd5b50610299610568366004612f11565b611638565b34801561057957600080fd5b50610205610588366004612f3f565b611650565b34801561059957600080fd5b506101c261166c565b3480156105ae57600080fd5b50610169546101c2906001600160a01b031681565b60006001600160e01b03198216635a05180f60e01b14806105e857506105e8826116b8565b92915050565b60675460405163bf40fac160e01b81526020600482015260126024820152711354109094925111d157d0d3d395149050d560721b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f91906132d7565b905090565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906132d7565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906132d7565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b6107c9826107ab565b6107d2816116ed565b6107dc83836116f7565b505050565b61016281815481106107f257600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146108a45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108ae828261171a565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108fa5760405162461bcd60e51b815260040161089b906132f4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661092c61173d565b6001600160a01b0316146109525760405162461bcd60e51b815260040161089b9061332e565b61095b81611759565b6040805160008082526020820190925261097791839190611761565b50565b610164546000908190819047906109a290600160801b90046001600160801b0316600361337e565b6001600160801b03166109b591906133a9565b610166546101685461016954604051630757bc8160e01b81529394506000936001600160a01b0393841693630757bc81936109fd938893918316921690603c906004016133bc565b600060405180830381865afa158015610a1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a42919081019061347b565b5061016654610169549192506001600160a01b0390811691630757bc8191849116610a6b61166c565b603c6040518563ffffffff1660e01b8152600401610a8c94939291906133bc565b600060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad1919081019061347b565b508094505081925084841115610c0b57610166548594506000906001600160a01b0316630757bc8186610b0261166c565b610169546040516001600160e01b031960e086901b168152610b359392916001600160a01b031690603c906004016133bc565b600060405180830381865afa158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a919081019061347b565b50610166546101695461016854604051630757bc8160e01b81529394506001600160a01b0392831693630757bc8193610bc193879390821692911690603c906004016133bc565b600060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c06919081019061347b565b509350505b5050915091565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c5a5760405162461bcd60e51b815260040161089b906132f4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c8c61173d565b6001600160a01b031614610cb25760405162461bcd60e51b815260040161089b9061332e565b610cbb82611759565b6108ae82826001611761565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d625760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161089b565b50600080516020613a568339815191525b90565b600080516020613a9d833981519152610d8e816116ed565b6108ae826118cc565b6000610da2816116ed565b600082606001516002811115610dba57610dba612f6f565b14158015610dd2575046826020015163ffffffff1614155b15610df05760405163029b6e5760e41b815260040160405180910390fd5b60005b61016254811015610f495782604001516001600160a01b03166101628281548110610e2057610e206134c2565b600091825260209091200154600160401b90046001600160a01b031603610f3757826101628281548110610e5657610e566134c2565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610ef157610ef1612f6f565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610f2a9291906134d8565b60405180910390a1505050565b80610f4181613529565b915050610df3565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610f7f918591906134d8565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b83600281111561104d5761104d612f6f565b021790555050505050565b60008281526101306020526040812061107190836119f2565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff16158080156110c35750600054600160ff909116105b806110e457506110d2306119fe565b1580156110e4575060005460ff166001145b6111475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161089b565b6000805460ff19166001179055801561116a576000805461ff0019166101001790555b611172611a0d565b61117b87611a7a565b606654611193906000906001600160a01b0316611a9d565b6066546111b890600080516020613a9d833981519152906001600160a01b0316611a9d565b61016680546001600160a01b038089166001600160a01b0319928316179092556101678054868416908316179055835160208501516001600160801b03908116600160801b029116176101645560408401516101658054606087015160ff9081166101000261ffff1990921693169290921791909117905561016880549288169290911691909117905561124b846118cc565b8015611291576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61016a546001036112ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161089b565b600161016a5560006112fd61166c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016113289190612efd565b602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190613542565b90508060000361137957506115c9565b6101645460009081908190600160801b90046001600160801b03164710156114e957610165546064906113af9060ff168661355b565b6113b99190613572565b91506113c48261097a565b90925090506113d382856133a9565b93506113df8282611aa7565b61016854604051632e1a7d4d60e01b8152600481018390529194506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561142757600080fd5b505af1925050508015611438575060015b6114e957611444613594565b806308c379a00361149357506114586135af565b806114635750611495565b600080516020613a168339815191528185600060405161148593929190613688565b60405180910390a1506114e9565b505b6040805160608082526014908201527315d15512081dda5d1a191c985dc819985a5b195960621b6080820152602081018590526000818301529051600080516020613a168339815191529181900360a00190a15b6000805b6101625481101561157f576000610162828154811061150e5761150e6134c2565b6000918252602090912001805490915063ffffffff161561156c578054600090612710906115429063ffffffff168a61355b565b61154c9190613572565b905061155881856136ad565b9350801561156a5761156a8282612371565b505b508061157781613529565b9150506114ed565b507fdbd53b67dd15f9594eee6de294654de25af4c2a14d79d76e47d08d83c8025f5d81868861016287896040516115bb969594939291906136c0565b60405180910390a150505050505b50600061016a55565b600080516020613a9d8339815191526115ea816116ed565b50805160208201516001600160801b03908116600160801b02911617610164556040810151610165805460609093015160ff9081166101000261ffff19909416921691909117919091179055565b6000818152610130602052604081206105e890612748565b611659826107ab565b611662816116ed565b6107dc838361171a565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161063e565b60006001600160e01b03198216637965db0b60e01b14806105e857506301ffc9a760e01b6001600160e01b03198316146105e8565b6109778133612752565b61170182826127ab565b6000828152610130602052604090206107dc9082612831565b6117248282612846565b6000828152610130602052604090206107dc90826128ad565b600080516020613a56833981519152546001600160a01b031690565b6109776128c2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611794576107dc83612985565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117ee575060408051601f3d908101601f191682019092526117eb91810190613542565b60015b6118515760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161089b565b600080516020613a5683398151915281146118c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161089b565b506107dc838383612a1f565b61016980546001600160a01b0319166001600160a01b038381169182179092556101665490911690631c49cbb59061190261166c565b603c6040518463ffffffff1660e01b81526004016119229392919061376b565b6000604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119699190810190613794565b50610166546101695461016854604051631c49cbb560e01b81526001600160a01b0393841693631c49cbb5936119ab9390821692911690603c9060040161376b565b6000604051808303816000875af11580156119ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ae9190810190613794565b60006110718383612a4a565b6001600160a01b03163b151590565b600054610100900460ff16611a785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161089b565b565b606780546001600160a01b0319166001600160a01b038316179055610977610684565b6108ae82826116f7565b600082600003611ab9575060006105e8565b61016654610169546000916001600160a01b03908116916362d991199116611adf61166c565b6040518363ffffffff1660e01b8152600401611afc9291906137d0565b600060405180830381865afa158015611b19573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b419190810190613794565b6101665461016954610168546040516362d9911960e01b81529394506000936001600160a01b03938416936362d9911993611b8593908216929116906004016137d0565b600060405180830381865afa158015611ba2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bca9190810190613794565b9050815160001480611bdb57508051155b15611c3d57604080516060808252601290820152716e6f20706f6f6c7320617661696c61626c6560701b608082015260208101879052908101859052600080516020613a168339815191529060a00160405180910390a16000925050506105e8565b600081600081518110611c5257611c526134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbb91906137ea565b6101685483519192506000916001600160a01b03909116906370a082319085908490611ce957611ce96134c2565b60200260200101516040518263ffffffff1660e01b8152600401611d0d9190612efd565b602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190613542565b905060015b8351811015611e8a576101685484516000916001600160a01b0316906370a0823190879085908110611d8757611d876134c2565b60200260200101516040518263ffffffff1660e01b8152600401611dab9190612efd565b602060405180830381865afa158015611dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dec9190613542565b905082811115611e7757809250848281518110611e0b57611e0b6134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7491906137ea565b93505b5080611e8281613529565b915050611d53565b50600084600081518110611ea057611ea06134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0991906137ea565b6101695486519192506000916001600160a01b03909116906370a082319088908490611f3757611f376134c2565b60200260200101516040518263ffffffff1660e01b8152600401611f5b9190612efd565b602060405180830381865afa158015611f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9c9190613542565b905060015b86518110156120d8576101695487516000916001600160a01b0316906370a08231908a9085908110611fd557611fd56134c2565b60200260200101516040518263ffffffff1660e01b8152600401611ff99190612efd565b602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190613542565b9050828111156120c557809250878281518110612059576120596134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa15801561209e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c291906137ea565b93505b50806120d081613529565b915050611fa1565b506120e161166c565b6101675460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392612115929116908d9060040161380f565b6020604051808303816000875af1158015612134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121589190613828565b506101655460009060649061217590610100900460ff168261384a565b6121829060ff168b61355b565b61218c9190613572565b9050600060405180608001604052806121a361166c565b61016954610168546040516001600160601b0319606094851b811660208301526001600160e81b031960e88c811b8216603485015294861b82166037840152938d901b909316604b820152921b16604e82015260620160408051601f198184030181529181529082523060208301528181018e9052606090910184905261016754905163b858183f60e01b81529192506001600160a01b03169063b858183f90612251908490600401613863565b6020604051808303816000875af192505050801561228c575060408051601f3d908101601f1916820190925261228991810190613542565b60015b61236157612298613594565b806308c379a0036122f257506122ac6135af565b806122b757506122f4565b600080516020613a16833981519152818d856040516122d893929190613688565b60405180910390a1600099505050505050505050506105e8565b505b604080516060808252601c908201527b39bbb0b8103932bb32b93a32b2103bb4ba3437baba103932b0b9b7b760211b6080820152602081018d9052908101839052600080516020613a168339815191529060a00160405180910390a16000985050505050505050506105e8565b98506105e8975050505050505050565b60008254600160e01b900460ff16600281111561239057612390612f6f565b0361262a5761239d61166c565b6001600160a01b031663095ea7b36123b36105ee565b836040518363ffffffff1660e01b81526004016123d192919061380f565b6020604051808303816000875af11580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124149190613828565b50600061241f6105ee565b6001600160a01b03166305fead156124356105ee565b85546040516305b23a9960e41b8152600160201b90910463ffffffff1660048201526001600160a01b039190911690635b23a99090602401602060405180830381865afa15801561248a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ae91906138b1565b8554604051600160f01b602082015262061a8060228201523091600160401b90046001600160a01b03169087906000906042016040516020818303038152906040526040518763ffffffff1660e01b8152600401612511969594939291906138d5565b6040805180830381865afa15801561252d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125519190613926565b50610164549091506001600160801b031681118061256e57504781115b1561258f57604051634493514b60e11b81526004810182905260240161089b565b6125976105ee565b835460405163c56bbdd960e01b8152600160401b82046001600160a01b039081166004830152600160201b90920463ffffffff16602482015260448101859052608060648201526000608482015291169063c56bbdd990839060a4016000604051808303818588803b15801561260c57600080fd5b505af1158015612620573d6000803e3d6000fd5b5050505050505050565b60028254600160e01b900460ff16600281111561264957612649612f6f565b036126e15761265661166c565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084015b6020604051808303816000875af11580156126bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc9190613828565b60018254600160e01b900460ff16600281111561270057612700612f6f565b036108ae5761270d61166c565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261269e92600160401b90910490911690859060040161380f565b60006105e8825490565b61275c8282611078565b6108ae5761276981612a74565b612774836020612a86565b60405160200161278592919061394a565b60408051601f198184030181529082905262461bcd60e51b825261089b916004016139b9565b6127b58282611078565b6108ae57600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556127ed3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611071836001600160a01b038416612c21565b6128508282611078565b156108ae57600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611071836001600160a01b038416612c70565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa15801561290b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292f91906132d7565b6001600160a01b031614611a785760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161089b565b61298e816119fe565b6129f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161089b565b600080516020613a5683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a2883612d63565b600082511180612a355750805b156107dc57612a448383612da3565b50505050565b6000826000018281548110612a6157612a616134c2565b9060005260206000200154905092915050565b60606105e86001600160a01b03831660145b60606000612a9583600261355b565b612aa09060026136ad565b6001600160401b03811115612ab757612ab7612ff5565b6040519080825280601f01601f191660200182016040528015612ae1576020820181803683370190505b509050600360fc1b81600081518110612afc57612afc6134c2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612b2b57612b2b6134c2565b60200101906001600160f81b031916908160001a9053506000612b4f84600261355b565b612b5a9060016136ad565b90505b6001811115612bd2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612b8e57612b8e6134c2565b1a60f81b828281518110612ba457612ba46134c2565b60200101906001600160f81b031916908160001a90535060049490941c93612bcb816139cc565b9050612b5d565b5083156110715760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161089b565b6000818152600183016020526040812054612c68575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105e8565b5060006105e8565b60008181526001830160205260408120548015612d59576000612c946001836133a9565b8554909150600090612ca8906001906133a9565b9050818114612d0d576000866000018281548110612cc857612cc86134c2565b9060005260206000200154905080876000018481548110612ceb57612ceb6134c2565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612d1e57612d1e6139e3565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105e8565b60009150506105e8565b612d6c81612985565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612dae836119fe565b612e095760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161089b565b600080846001600160a01b031684604051612e2491906139f9565b600060405180830381855af49150503d8060008114612e5f576040519150601f19603f3d011682016040523d82523d6000602084013e612e64565b606091505b5091509150612e8c8282604051806060016040528060278152602001613a7660279139612e95565b95945050505050565b60608315612ea4575081611071565b6110718383815115612eb95781518083602001fd5b8060405162461bcd60e51b815260040161089b91906139b9565b600060208284031215612ee557600080fd5b81356001600160e01b03198116811461107157600080fd5b6001600160a01b0391909116815260200190565b600060208284031215612f2357600080fd5b5035919050565b6001600160a01b038116811461097757600080fd5b60008060408385031215612f5257600080fd5b823591506020830135612f6481612f2a565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b60038110612fa357634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101612e8c6060830184612f85565b600060208284031215612fea57600080fd5b813561107181612f2a565b634e487b7160e01b600052604160045260246000fd5b608081016001600160401b038111828210171561302a5761302a612ff5565b60405250565b601f8201601f191681016001600160401b038111828210171561305557613055612ff5565b6040525050565b6000806040838503121561306f57600080fd5b823561307a81612f2a565b91506020838101356001600160401b038082111561309757600080fd5b818601915086601f8301126130ab57600080fd5b8135818111156130bd576130bd612ff5565b60405191506130d5601f8201601f1916850183613030565b80825287848285010111156130e957600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff8116811461311b57600080fd5b919050565b60006080828403121561313257600080fd5b60405161313e8161300b565b61314783613107565b815261315560208401613107565b6020820152604083013561316881612f2a565b604082015260608301356003811061317f57600080fd5b60608201529392505050565b6000806040838503121561319e57600080fd5b50508035926020909101359150565b80356001600160801b038116811461311b57600080fd5b803560ff8116811461311b57600080fd5b6000608082840312156131e757600080fd5b6040516131f38161300b565b8091506131ff836131ad565b815261320d602084016131ad565b602082015261321e604084016131c4565b604082015261322f606084016131c4565b60608201525092915050565b600080600080600080610120878903121561325557600080fd5b863561326081612f2a565b9550602087013561327081612f2a565b9450604087013561328081612f2a565b9350606087013561329081612f2a565b925060808701356132a081612f2a565b91506132af8860a089016131d5565b90509295509295509295565b6000608082840312156132cd57600080fd5b61107183836131d5565b6000602082840312156132e957600080fd5b815161107181612f2a565b6020808252602c90820152600080516020613a3683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613a3683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038181168382160280821691908281146133a1576133a1613368565b505092915050565b818103818111156105e8576105e8613368565b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b600082601f83011261340357600080fd5b815160206001600160401b0382111561341e5761341e612ff5565b8160051b60405161343183830182613030565b9283528481018201928281018785111561344a57600080fd5b83870192505b8483101561347057825161346381612f2a565b8152918301918301613450565b509695505050505050565b6000806040838503121561348e57600080fd5b825160208401519092506001600160401b038111156134ac57600080fd5b6134b8858286016133f2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161351b90840182612f85565b508260808301529392505050565b60006001820161353b5761353b613368565b5060010190565b60006020828403121561355457600080fd5b5051919050565b80820281158282048414176105e8576105e8613368565b60008261358f57634e487b7160e01b600052601260045260246000fd5b500490565b600060033d1115610d735760046000803e5060005160e01c90565b600060443d10156135bd5790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156135ec57505050505090565b82850191508151818111156136045750505050505090565b843d870101602082850101111561361e5750505050505090565b61362d60208286010187613030565b509095945050505050565b60005b8381101561365357818101518382015260200161363b565b50506000910152565b60008151808452613674816020860160208601613638565b601f01601f19169290920160200192915050565b60608152600061369b606083018661365c565b60208301949094525060400152919050565b808201808211156105e8576105e8613368565b600060c082018883526020888185015260408881860152606060c08187015283895480865260e0955085880191508a6000528460002060005b8281101561374a57815463ffffffff808216865281891c168886015280871c6001600160a01b031687860152613736868601828b1c60ff16612f85565b5060809390930192600191820191016136f9565b50505060808701989098525050505060a09091019190915250949350505050565b6001600160a01b03938416815291909216602082015263ffffffff909116604082015260600190565b6000602082840312156137a657600080fd5b81516001600160401b038111156137bc57600080fd5b6137c8848285016133f2565b949350505050565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156137fc57600080fd5b815162ffffff8116811461107157600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561383a57600080fd5b8151801515811461107157600080fd5b60ff82811682821603908111156105e8576105e8613368565b60208152600082516080602084015261387f60a084018261365c565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b6000602082840312156138c357600080fd5b815161ffff8116811461107157600080fd5b61ffff871681526001600160a01b0386811660208301528516604082015260608101849052821515608082015260c060a0820181905260009061391a9083018461365c565b98975050505050505050565b6000806040838503121561393957600080fd5b505080516020909101519092909150565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161397c816017850160208801613638565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516139ad816028840160208801613638565b01602801949350505050565b602081526000611071602083018461365c565b6000816139db576139db613368565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008251613a0b818460208701613638565b919091019291505056fe1c337a8467703b7dbf7a278074870cb1a1f993ef69d022192ba360567703098f46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220b3f1ec76dfb1ac5f46498de096ad109417124dc270cc9656e0ebe92cbc2e1ee664736f6c63430008130033",
|
|
928
|
+
"deployedBytecode": "0x60806040526004361061016c5760003560e01c806301ffc9a7146101785780630fffbaf3146101ad57806312adcebf146101cf5780631b3c90a8146101f05780631c6603ba14610207578063248a9ca31461027957806324ea54f4146102a75780632f2ff15d146102c957806332fe7b26146102e9578063346ef41b1461030a57806336568abe1461033a5780633659cfe61461035a5780633d34a2671461037a5780633e6326fc146103af5780634162169f146103cf5780634f1ef286146103ef57806352d1902d146104025780635aef7de61461041757806384f2b3841461043757806386d97a1a146104575780639010d07c1461047757806391d1485414610497578063a217fddf146104b7578063a88ced46146104cc578063a8ba3890146104ec578063b875d49c1461050c578063c91d59fe1461052c578063ca15c8731461054d578063d547741f1461056d578063e1758bd81461058d578063f4325d67146105a257600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004612ed3565b6105c3565b60405190151581526020015b60405180910390f35b3480156101b957600080fd5b506101c26105ee565b6040516101a49190612efd565b3480156101db57600080fd5b50610166546101c2906001600160a01b031681565b3480156101fc57600080fd5b50610205610684565b005b34801561021357600080fd5b506101645461016554610245916001600160801b0380821692600160801b909204169060ff8082169161010090041684565b604080516001600160801b03958616815294909316602085015260ff918216928401929092521660608201526080016101a4565b34801561028557600080fd5b50610299610294366004612f11565b6107ab565b6040519081526020016101a4565b3480156102b357600080fd5b50610299600080516020613a9d83398151915281565b3480156102d557600080fd5b506102056102e4366004612f3f565b6107c0565b3480156102f557600080fd5b50610167546101c2906001600160a01b031681565b34801561031657600080fd5b5061032a610325366004612f11565b6107e1565b6040516101a49493929190612fa7565b34801561034657600080fd5b50610205610355366004612f3f565b61082f565b34801561036657600080fd5b50610205610375366004612fd8565b6108b2565b34801561038657600080fd5b5061039a610395366004612f11565b61097a565b604080519283526020830191909152016101a4565b3480156103bb57600080fd5b506067546101c2906001600160a01b031681565b3480156103db57600080fd5b506065546101c2906001600160a01b031681565b6102056103fd36600461305c565b610c12565b34801561040e57600080fd5b50610299610cc7565b34801561042357600080fd5b506066546101c2906001600160a01b031681565b34801561044357600080fd5b50610205610452366004612fd8565b610d76565b34801561046357600080fd5b50610205610472366004613120565b610d97565b34801561048357600080fd5b506101c261049236600461318b565b611058565b3480156104a357600080fd5b506101986104b2366004612f3f565b611078565b3480156104c357600080fd5b50610299600081565b3480156104d857600080fd5b506102056104e736600461323b565b6110a3565b3480156104f857600080fd5b50610205610507366004612f11565b61129a565b34801561051857600080fd5b506102056105273660046132bb565b6115d2565b34801561053857600080fd5b50610168546101c2906001600160a01b031681565b34801561055957600080fd5b50610299610568366004612f11565b611638565b34801561057957600080fd5b50610205610588366004612f3f565b611650565b34801561059957600080fd5b506101c261166c565b3480156105ae57600080fd5b50610169546101c2906001600160a01b031681565b60006001600160e01b03198216635a05180f60e01b14806105e857506105e8826116b8565b92915050565b60675460405163bf40fac160e01b81526020600482015260126024820152711354109094925111d157d0d3d395149050d560721b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f91906132d7565b905090565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906132d7565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906132d7565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b6107c9826107ab565b6107d2816116ed565b6107dc83836116f7565b505050565b61016281815481106107f257600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146108a45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108ae828261171a565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108fa5760405162461bcd60e51b815260040161089b906132f4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661092c61173d565b6001600160a01b0316146109525760405162461bcd60e51b815260040161089b9061332e565b61095b81611759565b6040805160008082526020820190925261097791839190611761565b50565b610164546000908190819047906109a290600160801b90046001600160801b0316600361337e565b6001600160801b03166109b591906133a9565b610166546101685461016954604051630757bc8160e01b81529394506000936001600160a01b0393841693630757bc81936109fd938893918316921690603c906004016133bc565b600060405180830381865afa158015610a1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a42919081019061347b565b5061016654610169549192506001600160a01b0390811691630757bc8191849116610a6b61166c565b603c6040518563ffffffff1660e01b8152600401610a8c94939291906133bc565b600060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad1919081019061347b565b508094505081925084841115610c0b57610166548594506000906001600160a01b0316630757bc8186610b0261166c565b610169546040516001600160e01b031960e086901b168152610b359392916001600160a01b031690603c906004016133bc565b600060405180830381865afa158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a919081019061347b565b50610166546101695461016854604051630757bc8160e01b81529394506001600160a01b0392831693630757bc8193610bc193879390821692911690603c906004016133bc565b600060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c06919081019061347b565b509350505b5050915091565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c5a5760405162461bcd60e51b815260040161089b906132f4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c8c61173d565b6001600160a01b031614610cb25760405162461bcd60e51b815260040161089b9061332e565b610cbb82611759565b6108ae82826001611761565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d625760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161089b565b50600080516020613a568339815191525b90565b600080516020613a9d833981519152610d8e816116ed565b6108ae826118cc565b6000610da2816116ed565b600082606001516002811115610dba57610dba612f6f565b14158015610dd2575046826020015163ffffffff1614155b15610df05760405163029b6e5760e41b815260040160405180910390fd5b60005b61016254811015610f495782604001516001600160a01b03166101628281548110610e2057610e206134c2565b600091825260209091200154600160401b90046001600160a01b031603610f3757826101628281548110610e5657610e566134c2565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610ef157610ef1612f6f565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610f2a9291906134d8565b60405180910390a1505050565b80610f4181613529565b915050610df3565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610f7f918591906134d8565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b83600281111561104d5761104d612f6f565b021790555050505050565b60008281526101306020526040812061107190836119f2565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff16158080156110c35750600054600160ff909116105b806110e457506110d2306119fe565b1580156110e4575060005460ff166001145b6111475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161089b565b6000805460ff19166001179055801561116a576000805461ff0019166101001790555b611172611a0d565b61117b87611a7a565b606654611193906000906001600160a01b0316611a9d565b6066546111b890600080516020613a9d833981519152906001600160a01b0316611a9d565b61016680546001600160a01b038089166001600160a01b0319928316179092556101678054868416908316179055835160208501516001600160801b03908116600160801b029116176101645560408401516101658054606087015160ff9081166101000261ffff1990921693169290921791909117905561016880549288169290911691909117905561124b846118cc565b8015611291576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61016a546001036112ed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161089b565b600161016a5560006112fd61166c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016113289190612efd565b602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190613542565b90508060000361137957506115c9565b6101645460009081908190600160801b90046001600160801b03164710156114e957610165546064906113af9060ff168661355b565b6113b99190613572565b91506113c48261097a565b90925090506113d382856133a9565b93506113df8282611aa7565b61016854604051632e1a7d4d60e01b8152600481018390529194506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561142757600080fd5b505af1925050508015611438575060015b6114e957611444613594565b806308c379a00361149357506114586135af565b806114635750611495565b600080516020613a168339815191528185600060405161148593929190613688565b60405180910390a1506114e9565b505b6040805160608082526014908201527315d15512081dda5d1a191c985dc819985a5b195960621b6080820152602081018590526000818301529051600080516020613a168339815191529181900360a00190a15b6000805b6101625481101561157f576000610162828154811061150e5761150e6134c2565b6000918252602090912001805490915063ffffffff161561156c578054600090612710906115429063ffffffff168a61355b565b61154c9190613572565b905061155881856136ad565b9350801561156a5761156a8282612371565b505b508061157781613529565b9150506114ed565b507fdbd53b67dd15f9594eee6de294654de25af4c2a14d79d76e47d08d83c8025f5d81868861016287896040516115bb969594939291906136c0565b60405180910390a150505050505b50600061016a55565b600080516020613a9d8339815191526115ea816116ed565b50805160208201516001600160801b03908116600160801b02911617610164556040810151610165805460609093015160ff9081166101000261ffff19909416921691909117919091179055565b6000818152610130602052604081206105e890612748565b611659826107ab565b611662816116ed565b6107dc838361171a565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640161063e565b60006001600160e01b03198216637965db0b60e01b14806105e857506301ffc9a760e01b6001600160e01b03198316146105e8565b6109778133612752565b61170182826127ab565b6000828152610130602052604090206107dc9082612831565b6117248282612846565b6000828152610130602052604090206107dc90826128ad565b600080516020613a56833981519152546001600160a01b031690565b6109776128c2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611794576107dc83612985565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117ee575060408051601f3d908101601f191682019092526117eb91810190613542565b60015b6118515760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161089b565b600080516020613a5683398151915281146118c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161089b565b506107dc838383612a1f565b61016980546001600160a01b0319166001600160a01b038381169182179092556101665490911690631c49cbb59061190261166c565b603c6040518463ffffffff1660e01b81526004016119229392919061376b565b6000604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119699190810190613794565b50610166546101695461016854604051631c49cbb560e01b81526001600160a01b0393841693631c49cbb5936119ab9390821692911690603c9060040161376b565b6000604051808303816000875af11580156119ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ae9190810190613794565b60006110718383612a4a565b6001600160a01b03163b151590565b600054610100900460ff16611a785760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161089b565b565b606780546001600160a01b0319166001600160a01b038316179055610977610684565b6108ae82826116f7565b600082600003611ab9575060006105e8565b61016654610169546000916001600160a01b03908116916362d991199116611adf61166c565b6040518363ffffffff1660e01b8152600401611afc9291906137d0565b600060405180830381865afa158015611b19573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b419190810190613794565b6101665461016954610168546040516362d9911960e01b81529394506000936001600160a01b03938416936362d9911993611b8593908216929116906004016137d0565b600060405180830381865afa158015611ba2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bca9190810190613794565b9050815160001480611bdb57508051155b15611c3d57604080516060808252601290820152716e6f20706f6f6c7320617661696c61626c6560701b608082015260208101879052908101859052600080516020613a168339815191529060a00160405180910390a16000925050506105e8565b600081600081518110611c5257611c526134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbb91906137ea565b6101685483519192506000916001600160a01b03909116906370a082319085908490611ce957611ce96134c2565b60200260200101516040518263ffffffff1660e01b8152600401611d0d9190612efd565b602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190613542565b905060015b8351811015611e8a576101685484516000916001600160a01b0316906370a0823190879085908110611d8757611d876134c2565b60200260200101516040518263ffffffff1660e01b8152600401611dab9190612efd565b602060405180830381865afa158015611dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dec9190613542565b905082811115611e7757809250848281518110611e0b57611e0b6134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7491906137ea565b93505b5080611e8281613529565b915050611d53565b50600084600081518110611ea057611ea06134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0991906137ea565b6101695486519192506000916001600160a01b03909116906370a082319088908490611f3757611f376134c2565b60200260200101516040518263ffffffff1660e01b8152600401611f5b9190612efd565b602060405180830381865afa158015611f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9c9190613542565b905060015b86518110156120d8576101695487516000916001600160a01b0316906370a08231908a9085908110611fd557611fd56134c2565b60200260200101516040518263ffffffff1660e01b8152600401611ff99190612efd565b602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190613542565b9050828111156120c557809250878281518110612059576120596134c2565b60200260200101516001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa15801561209e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c291906137ea565b93505b50806120d081613529565b915050611fa1565b506120e161166c565b6101675460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392612115929116908d9060040161380f565b6020604051808303816000875af1158015612134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121589190613828565b506101655460009060649061217590610100900460ff168261384a565b6121829060ff168b61355b565b61218c9190613572565b9050600060405180608001604052806121a361166c565b61016954610168546040516001600160601b0319606094851b811660208301526001600160e81b031960e88c811b8216603485015294861b82166037840152938d901b909316604b820152921b16604e82015260620160408051601f198184030181529181529082523060208301528181018e9052606090910184905261016754905163b858183f60e01b81529192506001600160a01b03169063b858183f90612251908490600401613863565b6020604051808303816000875af192505050801561228c575060408051601f3d908101601f1916820190925261228991810190613542565b60015b61236157612298613594565b806308c379a0036122f257506122ac6135af565b806122b757506122f4565b600080516020613a16833981519152818d856040516122d893929190613688565b60405180910390a1600099505050505050505050506105e8565b505b604080516060808252601c908201527b39bbb0b8103932bb32b93a32b2103bb4ba3437baba103932b0b9b7b760211b6080820152602081018d9052908101839052600080516020613a168339815191529060a00160405180910390a16000985050505050505050506105e8565b98506105e8975050505050505050565b60008254600160e01b900460ff16600281111561239057612390612f6f565b0361262a5761239d61166c565b6001600160a01b031663095ea7b36123b36105ee565b836040518363ffffffff1660e01b81526004016123d192919061380f565b6020604051808303816000875af11580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124149190613828565b50600061241f6105ee565b6001600160a01b03166305fead156124356105ee565b85546040516305b23a9960e41b8152600160201b90910463ffffffff1660048201526001600160a01b039190911690635b23a99090602401602060405180830381865afa15801561248a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ae91906138b1565b8554604051600160f01b602082015262061a8060228201523091600160401b90046001600160a01b03169087906000906042016040516020818303038152906040526040518763ffffffff1660e01b8152600401612511969594939291906138d5565b6040805180830381865afa15801561252d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125519190613926565b50610164549091506001600160801b031681118061256e57504781115b1561258f57604051634493514b60e11b81526004810182905260240161089b565b6125976105ee565b835460405163c56bbdd960e01b8152600160401b82046001600160a01b039081166004830152600160201b90920463ffffffff16602482015260448101859052608060648201526000608482015291169063c56bbdd990839060a4016000604051808303818588803b15801561260c57600080fd5b505af1158015612620573d6000803e3d6000fd5b5050505050505050565b60028254600160e01b900460ff16600281111561264957612649612f6f565b036126e15761265661166c565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084015b6020604051808303816000875af11580156126bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc9190613828565b60018254600160e01b900460ff16600281111561270057612700612f6f565b036108ae5761270d61166c565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261269e92600160401b90910490911690859060040161380f565b60006105e8825490565b61275c8282611078565b6108ae5761276981612a74565b612774836020612a86565b60405160200161278592919061394a565b60408051601f198184030181529082905262461bcd60e51b825261089b916004016139b9565b6127b58282611078565b6108ae57600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556127ed3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611071836001600160a01b038416612c21565b6128508282611078565b156108ae57600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611071836001600160a01b038416612c70565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa15801561290b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292f91906132d7565b6001600160a01b031614611a785760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161089b565b61298e816119fe565b6129f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161089b565b600080516020613a5683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a2883612d63565b600082511180612a355750805b156107dc57612a448383612da3565b50505050565b6000826000018281548110612a6157612a616134c2565b9060005260206000200154905092915050565b60606105e86001600160a01b03831660145b60606000612a9583600261355b565b612aa09060026136ad565b6001600160401b03811115612ab757612ab7612ff5565b6040519080825280601f01601f191660200182016040528015612ae1576020820181803683370190505b509050600360fc1b81600081518110612afc57612afc6134c2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612b2b57612b2b6134c2565b60200101906001600160f81b031916908160001a9053506000612b4f84600261355b565b612b5a9060016136ad565b90505b6001811115612bd2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612b8e57612b8e6134c2565b1a60f81b828281518110612ba457612ba46134c2565b60200101906001600160f81b031916908160001a90535060049490941c93612bcb816139cc565b9050612b5d565b5083156110715760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161089b565b6000818152600183016020526040812054612c68575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105e8565b5060006105e8565b60008181526001830160205260408120548015612d59576000612c946001836133a9565b8554909150600090612ca8906001906133a9565b9050818114612d0d576000866000018281548110612cc857612cc86134c2565b9060005260206000200154905080876000018481548110612ceb57612ceb6134c2565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612d1e57612d1e6139e3565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105e8565b60009150506105e8565b612d6c81612985565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612dae836119fe565b612e095760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161089b565b600080846001600160a01b031684604051612e2491906139f9565b600060405180830381855af49150503d8060008114612e5f576040519150601f19603f3d011682016040523d82523d6000602084013e612e64565b606091505b5091509150612e8c8282604051806060016040528060278152602001613a7660279139612e95565b95945050505050565b60608315612ea4575081611071565b6110718383815115612eb95781518083602001fd5b8060405162461bcd60e51b815260040161089b91906139b9565b600060208284031215612ee557600080fd5b81356001600160e01b03198116811461107157600080fd5b6001600160a01b0391909116815260200190565b600060208284031215612f2357600080fd5b5035919050565b6001600160a01b038116811461097757600080fd5b60008060408385031215612f5257600080fd5b823591506020830135612f6481612f2a565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b60038110612fa357634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101612e8c6060830184612f85565b600060208284031215612fea57600080fd5b813561107181612f2a565b634e487b7160e01b600052604160045260246000fd5b608081016001600160401b038111828210171561302a5761302a612ff5565b60405250565b601f8201601f191681016001600160401b038111828210171561305557613055612ff5565b6040525050565b6000806040838503121561306f57600080fd5b823561307a81612f2a565b91506020838101356001600160401b038082111561309757600080fd5b818601915086601f8301126130ab57600080fd5b8135818111156130bd576130bd612ff5565b60405191506130d5601f8201601f1916850183613030565b80825287848285010111156130e957600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff8116811461311b57600080fd5b919050565b60006080828403121561313257600080fd5b60405161313e8161300b565b61314783613107565b815261315560208401613107565b6020820152604083013561316881612f2a565b604082015260608301356003811061317f57600080fd5b60608201529392505050565b6000806040838503121561319e57600080fd5b50508035926020909101359150565b80356001600160801b038116811461311b57600080fd5b803560ff8116811461311b57600080fd5b6000608082840312156131e757600080fd5b6040516131f38161300b565b8091506131ff836131ad565b815261320d602084016131ad565b602082015261321e604084016131c4565b604082015261322f606084016131c4565b60608201525092915050565b600080600080600080610120878903121561325557600080fd5b863561326081612f2a565b9550602087013561327081612f2a565b9450604087013561328081612f2a565b9350606087013561329081612f2a565b925060808701356132a081612f2a565b91506132af8860a089016131d5565b90509295509295509295565b6000608082840312156132cd57600080fd5b61107183836131d5565b6000602082840312156132e957600080fd5b815161107181612f2a565b6020808252602c90820152600080516020613a3683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613a3683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038181168382160280821691908281146133a1576133a1613368565b505092915050565b818103818111156105e8576105e8613368565b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b600082601f83011261340357600080fd5b815160206001600160401b0382111561341e5761341e612ff5565b8160051b60405161343183830182613030565b9283528481018201928281018785111561344a57600080fd5b83870192505b8483101561347057825161346381612f2a565b8152918301918301613450565b509695505050505050565b6000806040838503121561348e57600080fd5b825160208401519092506001600160401b038111156134ac57600080fd5b6134b8858286016133f2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161351b90840182612f85565b508260808301529392505050565b60006001820161353b5761353b613368565b5060010190565b60006020828403121561355457600080fd5b5051919050565b80820281158282048414176105e8576105e8613368565b60008261358f57634e487b7160e01b600052601260045260246000fd5b500490565b600060033d1115610d735760046000803e5060005160e01c90565b600060443d10156135bd5790565b6040516003193d81016004833e81513d6001600160401b0380831160248401831017156135ec57505050505090565b82850191508151818111156136045750505050505090565b843d870101602082850101111561361e5750505050505090565b61362d60208286010187613030565b509095945050505050565b60005b8381101561365357818101518382015260200161363b565b50506000910152565b60008151808452613674816020860160208601613638565b601f01601f19169290920160200192915050565b60608152600061369b606083018661365c565b60208301949094525060400152919050565b808201808211156105e8576105e8613368565b600060c082018883526020888185015260408881860152606060c08187015283895480865260e0955085880191508a6000528460002060005b8281101561374a57815463ffffffff808216865281891c168886015280871c6001600160a01b031687860152613736868601828b1c60ff16612f85565b5060809390930192600191820191016136f9565b50505060808701989098525050505060a09091019190915250949350505050565b6001600160a01b03938416815291909216602082015263ffffffff909116604082015260600190565b6000602082840312156137a657600080fd5b81516001600160401b038111156137bc57600080fd5b6137c8848285016133f2565b949350505050565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156137fc57600080fd5b815162ffffff8116811461107157600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561383a57600080fd5b8151801515811461107157600080fd5b60ff82811682821603908111156105e8576105e8613368565b60208152600082516080602084015261387f60a084018261365c565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b6000602082840312156138c357600080fd5b815161ffff8116811461107157600080fd5b61ffff871681526001600160a01b0386811660208301528516604082015260608101849052821515608082015260c060a0820181905260009061391a9083018461365c565b98975050505050505050565b6000806040838503121561393957600080fd5b505080516020909101519092909150565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161397c816017850160208801613638565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516139ad816028840160208801613638565b01602801949350505050565b602081526000611071602083018461365c565b6000816139db576139db613368565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008251613a0b818460208701613638565b919091019291505056fe1c337a8467703b7dbf7a278074870cb1a1f993ef69d022192ba360567703098f46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220b3f1ec76dfb1ac5f46498de096ad109417124dc270cc9656e0ebe92cbc2e1ee664736f6c63430008130033",
|
|
929
929
|
"linkReferences": {},
|
|
930
930
|
"deployedLinkReferences": {}
|
|
931
931
|
}
|