0 txs
1 call
constructor
constructor(address _commissionContract, address _token, address _stakeApy, address _vToken, address _dToken, address _priceFeed, address _oracle, address _networkAddress)
functions
calculateTokenEarnedMulti
viewfunction calculateTokenEarnedMulti(uint256[] _stakeIds) view returns (uint256)
calculateTokenEarnedStake
viewfunction calculateTokenEarnedStake(uint256 _stakeId) view returns (uint256)
checkCanClaim
viewfunction checkCanClaim(uint256 _stakeId) view returns (bool)
checkCanClaimMulti
viewfunction checkCanClaimMulti(uint256[] _stakeIds, address _userAddress) view returns (bool)
feeBnb
viewfunction feeBnb() view returns (uint256)
getDetailStake
viewfunction getDetailStake(uint256 _stakeId) view returns (tuple)
getIsSaleWallet
viewfunction getIsSaleWallet(address _address) view returns (bool)
getLatestPrice
viewfunction getLatestPrice() view returns (int256)
getPriceFeed
viewfunction getPriceFeed() view returns (address)
getStakePool
viewfunction getStakePool(uint256 _poolId) view returns (tuple)
getTokenUsdPrice
viewfunction getTokenUsdPrice() view returns (uint256)
getTotalUserClaimedToken
viewfunction getTotalUserClaimedToken(address _userId) view returns (uint256)
getTotalUserClaimedUsd
viewfunction getTotalUserClaimedUsd(address _userId) view returns (uint256)
getTotalUserStakedToken
viewfunction getTotalUserStakedToken(address _userId) view returns (uint256)
getTotalUserStakedUsd
viewfunction getTotalUserStakedUsd(address _userId) view returns (uint256)
getTotalUserWithdrawToken
viewfunction getTotalUserWithdrawToken(address _userId) view returns (uint256)
nativeTokenStake
viewfunction nativeTokenStake() view returns (address)
owner
viewfunction owner() view returns (address)
priceFeedDecimal
viewfunction priceFeedDecimal() view returns (uint256)
rewardFee
viewfunction rewardFee() view returns (uint256)
stakeApy
viewfunction stakeApy() view returns (address)
stakeIndex
viewfunction stakeIndex() view returns (uint256)
stakeTokenPoolLength
viewfunction stakeTokenPoolLength() view returns (uint256)
timeOpenStaking
viewfunction timeOpenStaking() view returns (uint256)
token
viewfunction token() view returns (address)
tokenDecimal
viewfunction tokenDecimal() view returns (uint256)
totalClaimedToken
viewfunction totalClaimedToken() view returns (uint256)
totalClaimedUsd
viewfunction totalClaimedUsd() view returns (uint256)
totalFeeClaimUsd
viewfunction totalFeeClaimUsd() view returns (uint256)
totalFeeWithdrawToken
viewfunction totalFeeWithdrawToken() view returns (uint256)
totalStakedToken
viewfunction totalStakedToken() view returns (uint256)
totalStakedUsd
viewfunction totalStakedUsd() view returns (uint256)
totalUser
viewfunction totalUser() view returns (uint256)
totalWithdrawToken
viewfunction totalWithdrawToken() view returns (uint256)
addStakeAdmin
nonpayablefunction addStakeAdmin(uint256 _poolId, address _userAddress, uint256 _totalValueStake, bool _payRef, bool _updateRanking, bool _updateCom)
addStakeMigrate
nonpayablefunction addStakeMigrate(uint256[] stakeId, address[] userAddress, uint256[] poolId, uint256[] unlockTime, uint256[] startTime, uint256[] totalValueStake, uint256[] totalValueStakeUsd, uint256[] totalValueClaimedUsd, bool[] isWithdraw, uint256[] totalValueEarnToken)
claim
payablefunction claim(uint256 _stakeId) payable
claimAll
payablefunction claimAll(uint256[] _stakeIds) payable
recoverLostBNB
nonpayablefunction recoverLostBNB()
renounceOwnership
nonpayablefunction renounceOwnership()
setApyContract
nonpayablefunction setApyContract(address _stakeApy)
setCommissionAddress
nonpayablefunction setCommissionAddress(address _commissionContract)
setFeeBnb
nonpayablefunction setFeeBnb(uint256 _feeBnb)
setIsSaleWallet
nonpayablefunction setIsSaleWallet(address _address, bool _isSale)
setNativeTokenContract
nonpayablefunction setNativeTokenContract(address _nativeTokenStake)
setNetworkAddress
nonpayablefunction setNetworkAddress(address _address)
setOracleAddress
nonpayablefunction setOracleAddress(address _oracleAddress)
setRewardFee
nonpayablefunction setRewardFee(uint256 _rewardFee)
setSaleWalletAddress
nonpayablefunction setSaleWalletAddress(address _saleAddress)
setStakeIndex
nonpayablefunction setStakeIndex(uint256 _stakeIndex)
setStakePool
nonpayablefunction setStakePool(uint256 _poolId, uint256 _maxStakePerWallet, uint256 _duration, bool _payProfit, bool _payCommission, bool _payRanking, bool _payDirect, bool _isMaxEarn, bool _isWithdrawFull)
setTokenContract
nonpayablefunction setTokenContract(address _token)
setTotalClaimedToken
nonpayablefunction setTotalClaimedToken(uint256 _totalToken)
setTotalStakedToken
nonpayablefunction setTotalStakedToken(uint256 _totalStakedToken)
setTotalStakedUsd
nonpayablefunction setTotalStakedUsd(uint256 _totalStakedUsd)
setTotalUser
nonpayablefunction setTotalUser(uint256 _totalUser)
setTotalUserClaimedToken
nonpayablefunction setTotalUserClaimedToken(uint256 _totalToken, address _userId)
setTotalUserClaimedUsd
nonpayablefunction setTotalUserClaimedUsd(uint256 _totalClaimedUsd, address _userId)
setTotalUserStakedToken
nonpayablefunction setTotalUserStakedToken(uint256 _totalStakedToken, address _userId)
setTotalUserStakedUsd
nonpayablefunction setTotalUserStakedUsd(uint256 _totalStakedUsd, address _userId)
setTotalUserWithdrawToken
nonpayablefunction setTotalUserWithdrawToken(uint256 _totalUserWithdrawToken, address _userId)
setTotalWithdrawToken
nonpayablefunction setTotalWithdrawToken(uint256 _totalWithdrawToken)
setUsePrice
nonpayablefunction setUsePrice(uint8 _usePrice)
stake
payablefunction stake(uint256 _poolId, uint256 _stakeValue) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
payablefunction withdraw(uint256 _stakeId) payable
withdrawPool
payablefunction withdrawPool(uint256[] _stakeIds) payable
withdrawTokenEmergency
nonpayablefunction withdrawTokenEmergency(address _token, uint256 _amount)
events
Claimed
event Claimed(uint256 indexed id, address indexed staker, uint256 claimAmount)
Harvested
event Harvested(uint256 indexed id)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ReStaked
event ReStaked(uint256 indexed id, uint256 poolId, address indexed staker, uint256 stakeValue, uint256 startTime, uint256 unlockTime)
errors
No errors.
creation bytecode
0x60a06040526364b81690600190815560028190556003805460ff19169091179055670de0b6b3a764000060049081556305f5e10060055560006006819055600780546001600160a01b03191673730eb753a4d4f7c11de197852daa17de5f1983e117905560189190915560198190556023553480156200007e57600080fd5b50604051620055b7380380620055b7833981016040819052620000a191620006e3565b620000ac3362000676565b600f80546001600160a01b038981166001600160a01b031992831617909255600b80548b8416908316179055600880548884169083168117909155600980548885169084168117909155600d80548b8616908516179055600a8054878616908516179055600c805494861694909316939093179091556001600160601b0319606086901b16608052601a60205260007fb75ecc04ed35f89790e98640e901bda41eceff0cb896cf2765fb6976802537508190557fb75ecc04ed35f89790e98640e901bda41eceff0cb896cf2765fb6976802537518190557fb75ecc04ed35f89790e98640e901bda41eceff0cb896cf2765fb6976802537528190557fb75ecc04ed35f89790e98640e901bda41eceff0cb896cf2765fb6976802537578054600160c81b600160c01b6001600160c81b03199283168617811760ff60c81b19908116831790945560017ff88cd8d612926ebb404e40725c01084b6e9b3ce0344cde068570342cbd448c61557ff88cd8d612926ebb404e40725c01084b6e9b3ce0344cde068570342cbd448c628590556101687ff88cd8d612926ebb404e40725c01084b6e9b3ce0344cde068570342cbd448c638190557ff88cd8d612926ebb404e40725c01084b6e9b3ce0344cde068570342cbd448c688054630101010160a81b600160a01b6001600160a81b03199283168b17811764ffffffffff60a81b19908116831790945560027f4c287b3e2c2cb129ae3ba596d613d760b15affdac7242e12903c37a886ea1c4f557f4c287b3e2c2cb129ae3ba596d613d760b15affdac7242e12903c37a886ea1c508a905561021c7f4c287b3e2c2cb129ae3ba596d613d760b15affdac7242e12903c37a886ea1c518190557f4c287b3e2c2cb129ae3ba596d613d760b15affdac7242e12903c37a886ea1c56805485168d17831786168417905560037f4ac83fca211703e3ddb90093cd219714e5e3715bf0b4fd15b0441390534a24e2557f4ac83fca211703e3ddb90093cd219714e5e3715bf0b4fd15b0441390534a24e38b90556102d07f4ac83fca211703e3ddb90093cd219714e5e3715bf0b4fd15b0441390534a24e48190557f4ac83fca211703e3ddb90093cd219714e5e3715bf0b4fd15b0441390534a24e980548616909d17831786168417909c5560047f06b28f262ad931a15c9e47271fc159a891b2bcb0da2659cac5bbfed4886cf26e557f06b28f262ad931a15c9e47271fc159a891b2bcb0da2659cac5bbfed4886cf26f8b90557f06b28f262ad931a15c9e47271fc159a891b2bcb0da2659cac5bbfed4886cf2708b90557f06b28f262ad931a15c9e47271fc159a891b2bcb0da2659cac5bbfed4886cf27580549099168d1790961790981690951790955560057f82f07edc09f3a46c1925d02252613a7fcc7be7d03b538b0c268df85f2f13a7ab557f82f07edc09f3a46c1925d02252613a7fcc7be7d03b538b0c268df85f2f13a7ac8790557f82f07edc09f3a46c1925d02252613a7fcc7be7d03b538b0c268df85f2f13a7ad919091557f82f07edc09f3a46c1925d02252613a7fcc7be7d03b538b0c268df85f2f13a7b2805485168917861782168417905560067fe7513fcd4f864b78baf560f46c15980b6aa41b90911efc4ce7454b83cce613b1557fe7513fcd4f864b78baf560f46c15980b6aa41b90911efc4ce7454b83cce613b28690557fe7513fcd4f864b78baf560f46c15980b6aa41b90911efc4ce7454b83cce613b3919091557fe7513fcd4f864b78baf560f46c15980b6aa41b90911efc4ce7454b83cce613b8805484168817851782168317905560078086527f2247382acc746a936c6b9b694445e53b16ccce9ebaa44dd1ce1d5f0641b0797b557f2247382acc746a936c6b9b694445e53b16ccce9ebaa44dd1ce1d5f0641b0797c949094557f2247382acc746a936c6b9b694445e53b16ccce9ebaa44dd1ce1d5f0641b0797d949094557f2247382acc746a936c6b9b694445e53b16ccce9ebaa44dd1ce1d5f0641b079828054909116909417171617905550505050505050506200078b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620006de57600080fd5b919050565b600080600080600080600080610100898b0312156200070157600080fd5b6200070c89620006c6565b97506200071c60208a01620006c6565b96506200072c60408a01620006c6565b95506200073c60608a01620006c6565b94506200074c60808a01620006c6565b93506200075c60a08a01620006c6565b92506200076c60c08a01620006c6565b91506200077c60e08a01620006c6565b90509295985092959890939650565b60805160601c614e06620007b160003960008181610adc01526127310152614e066000f3fe6080604052600436106103f25760003560e01c806379b77f8511610208578063bbcd5bbe11610118578063e1604b70116100ab578063f29a7ef91161007a578063f29a7ef914610d1f578063f2fde38b14610d35578063fc0c546a14610d55578063fddac16314610d75578063fe0ec97b14610d9557600080fd5b8063e1604b7014610c9a578063e1e86ced14610cb0578063e5c4886c14610cd0578063e6f7388e14610d0957600080fd5b8063cb6d8ee6116100e7578063cb6d8ee614610c18578063cde2682b14610c2e578063cfdcc3d214610c64578063dd81860214610c7a57600080fd5b8063bbcd5bbe14610bac578063c903b85314610bcc578063c99f492914610be2578063cb2c71f714610bf857600080fd5b8063941d82d61161019b578063a51dda161161016a578063a51dda1614610b00578063a928819a14610b20578063ac5b7a4114610b40578063afc903ba14610b76578063b4346a4a14610b8c57600080fd5b8063941d82d614610a8257806396dd1cdc14610a9857806397e3b78114610ab85780639e87a5cd14610acd57600080fd5b80638909cd89116101d75780638909cd8914610a195780638b42426714610a395780638da5cb5b14610a4f5780638e15f47314610a6d57600080fd5b806379b77f85146109905780637b0472f0146109b05780638664ddfe146109c357806388c732d6146109e357600080fd5b806341a2ac70116103035780635d9d2ea51161029657806368127b711161026557806368127b71146108f0578063715018a61461092857806373c574ba1461093d57806376dc62321461095d57806377d5366d1461097d57600080fd5b80635d9d2ea5146108645780635ff5276e146108845780636220debc146108ba578063668fbce1146108d057600080fd5b806353d48c2b116102d257806353d48c2b146108035780635a2357a4146108195780635be436d9146108395780635caed0291461084e57600080fd5b806341a2ac7014610776578063466e515c146107965780634c69c00f146107c35780634e75e7e9146107e357600080fd5b806310da6429116103865780632ed4b351116103555780632ed4b351146106ce578063379607f5146107035780633d61aba8146107165780633ffa9cc61461073657806340fff80c1461075657600080fd5b806310da6429146106725780631a4d24281461069257806328c77820146106a85780632e1a7d4d146106bb57600080fd5b806305f5dc95116103c257806305f5dc9514610499578063070c40b6146104b957806309d3fefe146104d95780630a8a7c06146104f957600080fd5b8062321a2d146103fe57806301189cc2146104205780630388bf1e146104405780630582d9f51461046957600080fd5b366103f957005b600080fd5b34801561040a57600080fd5b5061041e6104193660046143ea565b610db5565b005b34801561042c57600080fd5b5061041e61043b3660046143ea565b610dc2565b34801561044c57600080fd5b5061045660055481565b6040519081526020015b60405180910390f35b34801561047557600080fd5b506104896104843660046144ee565b610dcf565b6040519015158152602001610460565b3480156104a557600080fd5b5061041e6104b4366004614540565b610e71565b3480156104c557600080fd5b5061041e6104d43660046143ea565b610f02565b3480156104e557600080fd5b506104566104f4366004614564565b610f0f565b34801561050557600080fd5b506106656105143660046143ea565b604080516101c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a0810191909152506000908152601a602090815260409182902082516101c081018452815481526001820154928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a0820152600682015460c08201526007909101546001600160a01b03811660e083015260ff600160a01b820481161515610100840152600160a81b820481161515610120840152600160b01b820481161515610140840152600160b81b820481161515610160840152600160c01b820481161515610180840152600160c81b9091041615156101a082015290565b60405161046091906145a1565b34801561067e57600080fd5b5061041e61068d3660046143ea565b610f64565b34801561069e57600080fd5b5061045660185481565b61041e6106b6366004614564565b610f71565b61041e6106c93660046143ea565b611080565b3480156106da57600080fd5b506104566106e9366004614540565b6001600160a01b0316600090815260208052604090205490565b61041e6107113660046143ea565b611707565b34801561072257600080fd5b5061041e61073136600461465a565b611760565b34801561074257600080fd5b5061041e610751366004614686565b611871565b34801561076257600080fd5b5061041e610771366004614540565b611893565b34801561078257600080fd5b5061041e6107913660046143ea565b611923565b3480156107a257600080fd5b506107b66107b13660046143ea565b611930565b60405161046091906146ab565b3480156107cf57600080fd5b5061041e6107de366004614540565b611a23565b3480156107ef57600080fd5b5061041e6107fe36600461473f565b611aaf565b34801561080f57600080fd5b5061045660115481565b34801561082557600080fd5b5061041e610834366004614540565b611c49565b34801561084557600080fd5b50610456611c73565b34801561085a57600080fd5b5061045660045481565b34801561087057600080fd5b5061041e61087f366004614686565b611cad565b34801561089057600080fd5b5061045661089f366004614540565b6001600160a01b03166000908152601f602052604090205490565b3480156108c657600080fd5b5061045660175481565b3480156108dc57600080fd5b5061041e6108eb3660046147e0565b611cce565b3480156108fc57600080fd5b50600d54610910906001600160a01b031681565b6040516001600160a01b039091168152602001610460565b34801561093457600080fd5b5061041e611e28565b34801561094957600080fd5b506104896109583660046143ea565b611e3c565b34801561096957600080fd5b5061041e6109783660046143ea565b6120f3565b61041e61098b366004614564565b612100565b34801561099c57600080fd5b5061041e6109ab366004614686565b6121b2565b61041e6109be366004614850565b6121d4565b3480156109cf57600080fd5b5061041e6109de366004614686565b61270a565b3480156109ef57600080fd5b506104566109fe366004614540565b6001600160a01b03166000908152601c602052604090205490565b348015610a2557600080fd5b50600e54610910906001600160a01b031681565b348015610a4557600080fd5b5061045660065481565b348015610a5b57600080fd5b506000546001600160a01b0316610910565b348015610a7957600080fd5b5061045661272c565b348015610a8e57600080fd5b5061045660195481565b348015610aa457600080fd5b5061041e610ab3366004614686565b6127cb565b348015610ac457600080fd5b5061041e6127ed565b348015610ad957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610910565b348015610b0c57600080fd5b5061041e610b1b3660046143ea565b612823565b348015610b2c57600080fd5b5061041e610b3b36600461493a565b612830565b348015610b4c57600080fd5b50610456610b5b366004614540565b6001600160a01b03166000908152601e602052604090205490565b348015610b8257600080fd5b5061045660235481565b348015610b9857600080fd5b50610456610ba73660046143ea565b6130c0565b348015610bb857600080fd5b5061041e610bc7366004614540565b6134d3565b348015610bd857600080fd5b5061045660135481565b348015610bee57600080fd5b5061045660015481565b348015610c0457600080fd5b5061041e610c13366004614ac5565b6134fd565b348015610c2457600080fd5b5061045660105481565b348015610c3a57600080fd5b50610456610c49366004614540565b6001600160a01b03166000908152601d602052604090205490565b348015610c7057600080fd5b5061045660125481565b348015610c8657600080fd5b5061041e610c95366004614540565b613530565b348015610ca657600080fd5b5061045660165481565b348015610cbc57600080fd5b5061041e610ccb366004614af3565b61355a565b348015610cdc57600080fd5b50610489610ceb366004614540565b6001600160a01b031660009081526021602052604090205460ff1690565b348015610d1557600080fd5b5061045660145481565b348015610d2b57600080fd5b5061045660155481565b348015610d4157600080fd5b5061041e610d50366004614540565b6135c9565b348015610d6157600080fd5b50600f54610910906001600160a01b031681565b348015610d8157600080fd5b5061041e610d90366004614540565b613642565b348015610da157600080fd5b5061041e610db03660046143ea565b6136cc565b610dbd6136d9565b601655565b610dca6136d9565b602355565b600080610ddb84610f0f565b600b54604051637f6408d360e01b81526001600160a01b0386811660048301526024820184905292935060009290911690637f6408d39060440160206040518083038186803b158015610e2d57600080fd5b505afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190614b16565b91909114949350505050565b610e796136d9565b6001600160a01b038116610ee05760405162461bcd60e51b815260206004820152602360248201527f434f4d4d495353494f4e3a20494e56414c4944204e4554574f524b204144445260448201526245535360e81b60648201526084015b60405180910390fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b610f0a6136d9565b601755565b600080805b8351811015610f5d57610f3f848281518110610f3257610f32614b2f565b60200260200101516130c0565b610f499083614b5b565b915080610f5581614b73565b915050610f14565b5092915050565b610f6c6136d9565b601055565b6023543414610f925760405162461bcd60e51b8152600401610ed790614b8e565b6000815111610fe35760405162461bcd60e51b815260206004820152601f60248201527f544f4b454e205354414b453a20494e56414c4944205354414b45204c495354006044820152606401610ed7565b6000610fef8233610dcf565b905060018115151461103b5760405162461bcd60e51b81526020600482015260156024820152745354414b494e473a2043414e4e4f5420434c41494d60581b6044820152606401610ed7565b60005b825181101561107b5761106983828151811061105c5761105c614b2f565b6020026020010151613733565b8061107381614b73565b91505061103e565b505050565b6002546001146110a25760405162461bcd60e51b8152600401610ed790614bc5565b600060025560235434146110c85760405162461bcd60e51b8152600401610ed790614b8e565b3360009081526021602052604090205460ff1680156111295760405162461bcd60e51b815260206004820152601d60248201527f5354414b494e473a2053414c452043414e4e4f542057495448445241570000006044820152606401610ed7565b6000828152601b60209081526040918290208251610140810184528154815260018201546001600160a01b03169281018390526002820154938101939093526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015460ff1615156101008401526009015461012083015233146112125760405162461bcd60e51b815260206004820152602760248201527f5354414b453a204f4e4c59204f574e4552204f46205354414b452043414e20576044820152664954484452415760c81b6064820152608401610ed7565b8061010001511561125d5760405162461bcd60e51b81526020600482015260156024820152745354414b453a2057495448445241572046414c534560581b6044820152606401610ed7565b428160600151116116fd5761127183613733565b60408082015160c0808401516000878152601b6020908152858220600801805460ff19166001908117909155858352601a825286832087516101c0810189528154815291810154928201929092526002820154968101969096526003810154606087015260048101546080870152600581015460a08701526006810154938601939093526007909201546001600160a01b03811660e0860152600160a01b810460ff9081161515610100870152600160a81b820481161515610120870152600160b01b820481161515610140870152600160b81b820481161515610160870152600160c01b820481161515610180870152600160c81b9091041615156101a085015291929061137e611c73565b60055461138b9085614bf4565b6113959190614c13565b9050816101a00151156113a9575060a08401515b80156116f85760e08201516040516370a0823160e01b815230600482015282916001600160a01b0316906370a082319060240160206040518083038186803b1580156113f457600080fd5b505afa158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c9190614b16565b10156114a05760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e205354414b494e473a204e4f5420454e4f55474820544f4b454e2060448201527f42414c414e434520544f205041592055534552205354414b452056414c5545006064820152608401610ed7565b60e0820151602086015160405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb90604401602060405180830381600087803b1580156114f457600080fd5b505af1158015611508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152c9190614c35565b61159e5760405162461bcd60e51b815260206004820152603c60248201527f5354414b494e473a20554e41424c4520544f205452414e5346455220434f4d4d60448201527f495353494f4e205041594d454e5420544f205354414b452055534552000000006064820152608401610ed7565b8161010001511561161457600b546020860151604051632351afaf60e21b81526001600160a01b03918216600482015260248101869052911690638d46bebc90604401600060405180830381600087803b1580156115fb57600080fd5b505af115801561160f573d6000803e3d6000fd5b505050505b60a085015133600090815260226020908152604080832088845290915281205461163f908390614c52565b6000878152601a602052604081206003015491925090611660908490614c52565b3360009081526022602090815260408083208b84528252808320869055601a90915281206003018290556017805492935085929091906116a1908490614b5b565b9091555050336000908152602080526040812080548592906116c4908490614b5b565b90915550506040518a907f8e55ccfc9778ff8eba1646d765cf1982537ce0f9257054a17b48aad74525018390600090a25050505b505050505b5050600160025550565b6002546001146117295760405162461bcd60e51b8152600401610ed790614bc5565b6000600255602354341461174f5760405162461bcd60e51b8152600401610ed790614b8e565b61175881613733565b506001600255565b6117686136d9565b600081116117a95760405162461bcd60e51b815260206004820152600e60248201526d1253959053125108105353d5539560921b6044820152606401610ed7565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b1580156117f157600080fd5b505af1158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190614c35565b61186d5760405162461bcd60e51b815260206004820152601560248201527421a0a72727aa102ba4aa24222920ab902a27a5a2a760591b6044820152606401610ed7565b5050565b6118796136d9565b6001600160a01b03166000908152601e6020526040902055565b61189b6136d9565b6001600160a01b0381166119015760405162461bcd60e51b815260206004820152602760248201527f4d41524b4554504c4143453a20494e56414c494420434f4d4d495353494f4e206044820152664144445245535360c81b6064820152608401610ed7565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b61192b6136d9565b600655565b6119916040518061014001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b506000908152601b60209081526040918290208251610140810184528154815260018201546001600160a01b0316928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015460ff16151561010082015260099091015461012082015290565b611a2b6136d9565b6001600160a01b038116611a8d5760405162461bcd60e51b815260206004820152602360248201527f4d41524b4554504c4143453a20494e56414c4944204f5241434c45204144445260448201526245535360e81b6064820152608401610ed7565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b611ab76136d9565b88601a60008b81526020019081526020016000206000018190555087601a60008b81526020019081526020016000206001018190555086601a60008b81526020019081526020016000206002018190555085601a60008b815260200190815260200160002060070160146101000a81548160ff02191690831515021790555084601a60008b815260200190815260200160002060070160156101000a81548160ff02191690831515021790555083601a60008b815260200190815260200160002060070160166101000a81548160ff02191690831515021790555082601a60008b815260200190815260200160002060070160176101000a81548160ff02191690831515021790555081601a60008b815260200190815260200160002060070160186101000a81548160ff02191690831515021790555080601a60008b815260200190815260200160002060070160196101000a81548160ff0219169083151502179055506000896001611c2b9190614b5b565b9050601854811115611c3d5760188190555b50505050505050505050565b611c516136d9565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b60035460009060ff1660011480611c935750600e546001600160a01b0316155b15611ca557611ca061272c565b905090565b611ca0613eeb565b611cb56136d9565b6001600160a01b03166000908152602080526040902055565b611cd66136d9565b600c54604051636158993b60e11b81526001600160a01b038781166004830152600092169063c2b132769060240160206040518083038186803b158015611d1c57600080fd5b505afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190614c69565b90506001600160a01b038116611d925760405162461bcd60e51b815260206004820152600360248201526213929560ea1b6044820152606401610ed7565b6001600160a01b03861660009081526022602090815260408083208a8452909152812054611dc1908790614b5b565b6000898152601a60205260409020600101549091501580611df357506000888152601a60205260409020600101548111155b611e0f5760405162461bcd60e51b8152600401610ed790614c86565b611e1e88888884898989613f9c565b5050505050505050565b611e306136d9565b611e3a600061439a565b565b600080601b600084815260200190815260200160002060405180610140016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820160009054906101000a900460ff1615151515815260200160098201548152505090506000816040015190506000826020015190506000601a6000848152602001908152602001600020604051806101c0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015481526020016007820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820160149054906101000a900460ff161515151581526020016007820160159054906101000a900460ff161515151581526020016007820160169054906101000a900460ff161515151581526020016007820160179054906101000a900460ff161515151581526020016007820160189054906101000a900460ff161515151581526020016007820160199054906101000a900460ff16151515158152505090506000612051876130c0565b6101808301519091508190156120e857600b54604051637f6408d360e01b81526001600160a01b0386811660048301526024820185905290911690637f6408d39060440160206040518083038186803b1580156120ad57600080fd5b505afa1580156120c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e59190614b16565b90505b149695505050505050565b6120fb6136d9565b601555565b60235434146121215760405162461bcd60e51b8152600401610ed790614b8e565b60008151116121725760405162461bcd60e51b815260206004820152601f60248201527f544f4b454e205354414b453a20494e56414c4944205354414b45204c495354006044820152606401610ed7565b60005b815181101561186d576121a082828151811061219357612193614b2f565b6020026020010151611080565b806121aa81614b73565b915050612175565b6121ba6136d9565b6001600160a01b03166000908152601d6020526040902055565b6002546001146121f65760405162461bcd60e51b8152600401610ed790614bc5565b6000600255602354341461221c5760405162461bcd60e51b8152600401610ed790614b8e565b6000828152601a6020908152604080832081516101c08101835281548152600182015493810193909352600281015483830152600381015460608401526004808201546080850152600582015460a0850152600682015460c08501526007909101546001600160a01b0380821660e086015260ff600160a01b830481161515610100870152600160a81b830481161515610120870152600160b01b830481161515610140870152600160b81b830481161515610160870152600160c01b830481161515610180870152600160c81b90920490911615156101a0850152600c549251636158993b60e11b81523392810192909252929392919091169063c2b132769060240160206040518083038186803b15801561233857600080fd5b505afa15801561234c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123709190614c69565b90506001600160a01b0381166123ae5760405162461bcd60e51b815260206004820152600360248201526213929560ea1b6044820152606401610ed7565b60e08201516040516370a0823160e01b815233600482015284916001600160a01b0316906370a082319060240160206040518083038186803b1580156123f357600080fd5b505afa158015612407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242b9190614b16565b101561248a5760405162461bcd60e51b815260206004820152602860248201527f544f4b454e205354414b453a204e6f7420656e6f7567682062616c616e636520604482015267746f207374616b6560c01b6064820152608401610ed7565b60e0820151604051636eb1769f60e11b815233600482015230602482015284916001600160a01b03169063dd62ed3e9060440160206040518083038186803b1580156124d557600080fd5b505afa1580156124e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250d9190614b16565b101561255b5760405162461bcd60e51b815260206004820152601f60248201527f544f4b454e205354414b453a204d75737420617070726f7665206669727374006044820152606401610ed7565b60e08201516007546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018690529116906323b872dd90606401602060405180830381600087803b1580156125b357600080fd5b505af11580156125c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125eb9190614c35565b6126515760405162461bcd60e51b815260206004820152603160248201527f544f4b454e205354414b453a205472616e7366657220746f6b656e20746f205460448201527013d2d1538814d51052d14819985a5b1959607a1b6064820152608401610ed7565b336000908152602260209081526040808320878452909152812054612677908590614b5b565b6000868152601a602052604090206001015490915015806126a957506000858152601a60205260409020600101548111155b6126c55760405162461bcd60e51b8152600401610ed790614c86565b6000858152601a60205260409020600701546126fe90869033908790859060ff600160b81b8204811691600160b01b9004166001613f9c565b50506001600255505050565b6127126136d9565b6001600160a01b03166000908152601f6020526040902055565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561278857600080fd5b505afa15801561279c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c09190614cef565b509195945050505050565b6127d36136d9565b6001600160a01b03166000908152601c6020526040902055565b6127f56136d9565b604051339081904780156108fc02916000818181858888f1935050505015801561186d573d6000803e3d6000fd5b61282b6136d9565b601955565b6128386136d9565b81518951146128715760405162461bcd60e51b815260206004820152600560248201526454533a493160d81b6044820152606401610ed7565b89518951146128aa5760405162461bcd60e51b81526020600482015260056024820152642a299d249960d91b6044820152606401610ed7565b80518951146128e35760405162461bcd60e51b815260206004820152600560248201526454533a493360d81b6044820152606401610ed7565b875189511461291c5760405162461bcd60e51b81526020600482015260056024820152641514ce924d60da1b6044820152606401610ed7565b86518951146129555760405162461bcd60e51b815260206004820152600560248201526454533a493560d81b6044820152606401610ed7565b855189511461298e5760405162461bcd60e51b81526020600482015260056024820152642a299d249b60d91b6044820152606401610ed7565b84518951146129c75760405162461bcd60e51b815260206004820152600560248201526454533a493760d81b6044820152606401610ed7565b8351895114612a005760405162461bcd60e51b81526020600482015260056024820152640a8a67492760db1b6044820152606401610ed7565b8251895114612a395760405162461bcd60e51b815260206004820152600560248201526454533a493960d81b6044820152606401610ed7565b60005b89518110156130b35760008a8281518110612a5957612a59614b2f565b6020026020010151905060008c8381518110612a7757612a77614b2f565b6020908102919091018101516000818152601b909252604090912081815560010180546001600160a01b0319166001600160a01b0385161790558b519091508b9084908110612ac857612ac8614b2f565b6020026020010151601b600083815260200190815260200160002060020181905550898381518110612afc57612afc614b2f565b6020026020010151601b600083815260200190815260200160002060030181905550888381518110612b3057612b30614b2f565b6020026020010151601b600083815260200190815260200160002060040181905550878381518110612b6457612b64614b2f565b6020026020010151601b600083815260200190815260200160002060050181905550868381518110612b9857612b98614b2f565b6020026020010151601b600083815260200190815260200160002060060181905550858381518110612bcc57612bcc614b2f565b6020026020010151601b600083815260200190815260200160002060070181905550848381518110612c0057612c00614b2f565b6020026020010151601b600083815260200190815260200160002060080160006101000a81548160ff021916908315150217905550838381518110612c4757612c47614b2f565b6020026020010151601b600083815260200190815260200160002060090181905550848381518110612c7b57612c7b614b2f565b602002602001015115612d0657878381518110612c9a57612c9a614b2f565b602002602001015160226000846001600160a01b03166001600160a01b0316815260200190815260200160002060008d8681518110612cdb57612cdb614b2f565b602002602001015181526020019081526020016000206000828254612d009190614b5b565b90915550505b878381518110612d1857612d18614b2f565b6020026020010151601a60008d8681518110612d3657612d36614b2f565b602002602001015181526020019081526020016000206003016000828254612d5e9190614b5b565b92505081905550868381518110612d7757612d77614b2f565b6020026020010151601a60008d8681518110612d9557612d95614b2f565b602002602001015181526020019081526020016000206004016000828254612dbd9190614b5b565b92505081905550878381518110612dd657612dd6614b2f565b602002602001015160106000828254612def9190614b5b565b92505081905550868381518110612e0857612e08614b2f565b602002602001015160156000828254612e219190614b5b565b92505081905550878381518110612e3a57612e3a614b2f565b6020026020010151601c6000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254612e769190614b5b565b92505081905550868381518110612e8f57612e8f614b2f565b6020026020010151601f6000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254612ecb9190614b5b565b92505081905550838381518110612ee457612ee4614b2f565b6020026020010151601a60008d8681518110612f0257612f02614b2f565b602002602001015181526020019081526020016000206005016000828254612f2a9190614b5b565b92505081905550858381518110612f4357612f43614b2f565b6020026020010151601a60008d8681518110612f6157612f61614b2f565b602002602001015181526020019081526020016000206006016000828254612f899190614b5b565b92505081905550838381518110612fa257612fa2614b2f565b602002602001015160136000828254612fbb9190614b5b565b92505081905550858381518110612fd457612fd4614b2f565b602002602001015160146000828254612fed9190614b5b565b9250508190555083838151811061300657613006614b2f565b6020026020010151601d6000846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546130429190614b5b565b9250508190555085838151811061305b5761305b614b2f565b6020026020010151601e6000846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546130979190614b5b565b92505081905550505080806130ab90614b73565b915050612a3c565b5050505050505050505050565b6000818152601b602090815260408083208151610140810183528154815260018201546001600160a01b0316938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600881015460ff1615801561010084015260099091015461012083015261315b5750600092915050565b600d546040808301519051635325f64f60e11b815260009283926001600160a01b039091169163a64bec9e916131979160040190815260200190565b60206040518083038186803b1580156131af57600080fd5b505afa1580156131c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e79190614b16565b90506000805b828110156134b957600d546040868101519051635e15f0df60e11b815260048101919091526000916001600160a01b03169063bc2be1be9060240160006040518083038186803b15801561324057600080fd5b505afa158015613254573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261327c9190810190614d3f565b828151811061328d5761328d614b2f565b6020908102919091010151600d546040808901519051639067b67760e01b81529293506000926001600160a01b0390921691639067b677916132d59160040190815260200190565b60006040518083038186803b1580156132ed57600080fd5b505afa158015613301573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133299190810190614d3f565b838151811061333a5761333a614b2f565b6020908102919091010151600d546040898101519051635d416d0960e01b815260048101919091529192506001600160a01b031690635d416d099060240160006040518083038186803b15801561339057600080fd5b505afa1580156133a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133cc9190810190614d3f565b83815181106133dd576133dd614b2f565b6020026020010151935086608001518210156133fd5786608001516133ff565b815b91506000876060015160001461342a5742886060015110613420574261342c565b876060015161342c565b425b905081156134485780821115613442578061344a565b8161344a565b805b91508183116134a357620186a06301da9c008960c0015187868661346e9190614c52565b6134789190614bf4565b6134829190614bf4565b61348c9190614c13565b6134969190614c13565b6134a09088614b5b565b96505b50505080806134b190614b73565b9150506131ed565b5060e08401516134c99084614c52565b9695505050505050565b6134db6136d9565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6135056136d9565b6001600160a01b03919091166000908152602160205260409020805460ff1916911515919091179055565b6135386136d9565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6135626136d9565b8060ff166001148061357757508060ff166002145b6135b35760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420706172616d60981b6044820152606401610ed7565b6003805460ff191660ff92909216919091179055565b6135d16136d9565b6001600160a01b0381166136365760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ed7565b61363f8161439a565b50565b61364a6136d9565b6001600160a01b0381166136aa5760405162461bcd60e51b815260206004820152602160248201527f4d41524b4554504c4143453a20494e56414c49442053414c45204144445245536044820152605360f81b6064820152608401610ed7565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6136d46136d9565b601355565b6000546001600160a01b03163314611e3a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ed7565b3360009081526021602052604090205460ff1680156137945760405162461bcd60e51b815260206004820152601a60248201527f5354414b494e473a2053414c452043414e4e4f5420434c41494d0000000000006044820152606401610ed7565b600061379f836130c0565b6000848152601b60209081526040918290208251610140810184528154815260018201546001600160a01b03169281018390526002820154938101939093526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015460ff1615156101008401526009015461012083015291925090331461388b5760405162461bcd60e51b815260206004820152602660248201527f5354414b494e473a204f4e4c59204f574e4552204f46205354414b452043414e60448201526520434c41494d60d01b6064820152608401610ed7565b600061389685611e3c565b90506001811515146138e25760405162461bcd60e51b81526020600482015260156024820152745354414b494e473a2043414e4e4f5420434c41494d60581b6044820152606401610ed7565b6040808301516000818152601a60209081529083902083516101c081018552815481526001820154928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a0820152600683015460c08201526007909201546001600160a01b03811660e084015260ff600160a01b820481161515610100850152600160a81b820481161515610120850152600160b01b820481161515610140850152600160b81b820481161515610160850152600160c01b820481161515610180850152600160c81b9091041615156101a0830152908415613ee25760065415613a15576000612710600654876139e49190614bf4565b6139ee9190614c13565b90506139fa8187614c52565b95508060116000828254613a0e9190614b5b565b9091555050505b8415613ee257600a54600f5460405163049eca8760e11b81526001600160a01b03918216600482015260248101889052600092919091169063093d950e9060440160206040518083038186803b158015613a6e57600080fd5b505afa158015613a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa69190614b16565b600f546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a082319060240160206040518083038186803b158015613aee57600080fd5b505afa158015613b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b269190614b16565b1015613b9a5760405162461bcd60e51b815260206004820152603b60248201527f544f4b454e205354414b453a204e4f5420454e4f55474820544f4b454e20424160448201527f4c414e434520544f2050415920554e5354414b452052455741524400000000006064820152608401610ed7565b600f5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015613be657600080fd5b505af1158015613bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1e9190614c35565b613c905760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e205354414b453a20554e41424c4520544f205452414e534645522060448201527f434f4d4d495353494f4e205041594d454e5420544f20524543495049454e54006064820152608401610ed7565b6000888152601b60209081526040808320600201548352601a90915281206005018054839290613cc1908490614b5b565b90915550506000888152601b60209081526040808320600201548352601a90915281206006018054889290613cf7908490614b5b565b925050819055508060136000828254613d109190614b5b565b925050819055508560146000828254613d299190614b5b565b90915550506000888152601b602052604081206007018054889290613d4f908490614b5b565b90915550506000888152601b602052604081206009018054839290613d75908490614b5b565b9091555050336000908152601d602052604081208054839290613d99908490614b5b565b9091555050336000908152601e602052604081208054889290613dbd908490614b5b565b909155505061018082015115613e3257600b54604051635f1b072760e01b8152336004820152602481018890526001600160a01b0390911690635f1b072790604401600060405180830381600087803b158015613e1957600080fd5b505af1158015613e2d573d6000803e3d6000fd5b505050505b81610100015115613ea957600b546040516336fd4be560e11b815233600482015260248101889052600160448201526001600160a01b0390911690636dfa97ca90606401600060405180830381600087803b158015613e9057600080fd5b505af1158015613ea4573d6000803e3d6000fd5b505050505b604051868152339089907f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269060200160405180910390a3505b50505050505050565b600a54600e546004805460405163049eca8760e11b81526001600160a01b039384169281019290925260248201526000928392169063093d950e9060440160206040518083038186803b158015613f4157600080fd5b505afa158015613f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f799190614b16565b905080600554600454613f8c9190614bf4565b613f969190614c13565b91505090565b601954613faa906001614b5b565b6019556001600160a01b0386166000908152601c6020526040902054613fdc57601654613fd8906001614b5b565b6016555b6000878152601a602052604081206002015415614021576000888152601a60205260409020600201546140129062015180614bf4565b61401c9042614b5b565b614024565b60005b90506000600554614033611c73565b61403d9089614bf4565b6140479190614c13565b601980546000818152601b60209081526040808320938455600190930180546001600160a01b0319166001600160a01b038f16908117909155845483528383206002018f90558454835283832060039081018990558554845284842042600490910155855484528484206005018e9055855484528484206006018790558554845284842060070184905594548352838320600801805460ff191690558252602281528282208e835281528282208b9055601a905290812090910180549293508992909190614116908490614b5b565b90915550506000898152601a60205260408120600401805483929061413c908490614b5b565b9250508190555086601060008282546141559190614b5b565b92505081905550806015600082825461416e9190614b5b565b90915550506001600160a01b0388166000908152601c60205260408120805489929061419b908490614b5b565b90915550506001600160a01b0388166000908152601f6020526040812080548392906141c8908490614b5b565b90915550506000898152601a602090815260409182902082516101c081018452815481526001820154928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a0820152600682015460c08201526007909101546001600160a01b03811660e083015260ff600160a01b820481161580156101008501819052600160a81b840483161515610120860152600160b01b840483161515610140860152600160b81b840483161515610160860152600160c01b840483161515610180860152600160c81b90930490911615156101a08401526142b55750835b1561433857600b5460405163656df4ed60e11b81526001600160a01b038b811660048301526024820185905288151560448301528715156064830152600060848301529091169063cadbe9da9060a401600060405180830381600087803b15801561431f57600080fd5b505af1158015614333573d6000803e3d6000fd5b505050505b601954604080518c8152602081018b905242818301526060810186905290516001600160a01b038c1692917fa90ddbda3aa0735bada9efeaff161404fda61ce177daeb5ae3a921e10d4462ab919081900360800190a350505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156143fc57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561444257614442614403565b604052919050565b600067ffffffffffffffff82111561446457614464614403565b5060051b60200190565b600082601f83011261447f57600080fd5b8135602061449461448f8361444a565b614419565b82815260059290921b840181019181810190868411156144b357600080fd5b8286015b848110156144ce57803583529183019183016144b7565b509695505050505050565b6001600160a01b038116811461363f57600080fd5b6000806040838503121561450157600080fd5b823567ffffffffffffffff81111561451857600080fd5b6145248582860161446e565b9250506020830135614535816144d9565b809150509250929050565b60006020828403121561455257600080fd5b813561455d816144d9565b9392505050565b60006020828403121561457657600080fd5b813567ffffffffffffffff81111561458d57600080fd5b6145998482850161446e565b949350505050565b60006101c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015161460460e08401826001600160a01b03169052565b5061010083810151151590830152610120808401511515908301526101408084015115159083015261016080840151151590830152610180808401511515908301526101a0928301511515929091019190915290565b6000806040838503121561466d57600080fd5b8235614678816144d9565b946020939093013593505050565b6000806040838503121561469957600080fd5b823591506020830135614535816144d9565b815181526020808301516101408301916146cf908401826001600160a01b03169052565b5060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401516147208285018215159052565b505061012092830151919092015290565b801515811461363f57600080fd5b60008060008060008060008060006101208a8c03121561475e57600080fd5b8935985060208a0135975060408a0135965060608a013561477e81614731565b955060808a013561478e81614731565b945060a08a013561479e81614731565b935060c08a01356147ae81614731565b925060e08a01356147be81614731565b91506101008a01356147cf81614731565b809150509295985092959850929598565b60008060008060008060c087890312156147f957600080fd5b86359550602087013561480b816144d9565b945060408701359350606087013561482281614731565b9250608087013561483281614731565b915060a087013561484281614731565b809150509295509295509295565b6000806040838503121561486357600080fd5b50508035926020909101359150565b600082601f83011261488357600080fd5b8135602061489361448f8361444a565b82815260059290921b840181019181810190868411156148b257600080fd5b8286015b848110156144ce5780356148c9816144d9565b83529183019183016148b6565b600082601f8301126148e757600080fd5b813560206148f761448f8361444a565b82815260059290921b8401810191818101908684111561491657600080fd5b8286015b848110156144ce57803561492d81614731565b835291830191830161491a565b6000806000806000806000806000806101408b8d03121561495a57600080fd5b8a3567ffffffffffffffff8082111561497257600080fd5b61497e8e838f0161446e565b9b5060208d013591508082111561499457600080fd5b6149a08e838f01614872565b9a5060408d01359150808211156149b657600080fd5b6149c28e838f0161446e565b995060608d01359150808211156149d857600080fd5b6149e48e838f0161446e565b985060808d01359150808211156149fa57600080fd5b614a068e838f0161446e565b975060a08d0135915080821115614a1c57600080fd5b614a288e838f0161446e565b965060c08d0135915080821115614a3e57600080fd5b614a4a8e838f0161446e565b955060e08d0135915080821115614a6057600080fd5b614a6c8e838f0161446e565b94506101008d0135915080821115614a8357600080fd5b614a8f8e838f016148d6565b93506101208d0135915080821115614aa657600080fd5b50614ab38d828e0161446e565b9150509295989b9194979a5092959850565b60008060408385031215614ad857600080fd5b8235614ae3816144d9565b9150602083013561453581614731565b600060208284031215614b0557600080fd5b813560ff8116811461455d57600080fd5b600060208284031215614b2857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115614b6e57614b6e614b45565b500190565b6000600019821415614b8757614b87614b45565b5060010190565b60208082526019908201527f496e636f72726563742066656520616d6f756e742073656e7400000000000000604082015260600190565b6020808252601590820152741513d2d1538814d51052d25391ce881313d0d2d151605a1b604082015260600190565b6000816000190483118215151615614c0e57614c0e614b45565b500290565b600082614c3057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215614c4757600080fd5b815161455d81614731565b600082821015614c6457614c64614b45565b500390565b600060208284031215614c7b57600080fd5b815161455d816144d9565b6020808252602a908201527f544f4b454e205354414b453a2055736572207374616b65206d61782076616c75604082015269329037b3103a37b5b2b760b11b606082015260800190565b805169ffffffffffffffffffff81168114614cea57600080fd5b919050565b600080600080600060a08688031215614d0757600080fd5b614d1086614cd0565b9450602086015193506040860151925060608601519150614d3360808701614cd0565b90509295509295909350565b60006020808385031215614d5257600080fd5b825167ffffffffffffffff811115614d6957600080fd5b8301601f81018513614d7a57600080fd5b8051614d8861448f8261444a565b81815260059190911b82018301908381019087831115614da757600080fd5b928401925b82841015614dc557835182529284019290840190614dac565b97965050505050505056fea2646970667358221220a4c8d8d766d9b53f17dbc2f6c6577a0e99d32da02c286b2bda256d356070e9fb64736f6c6343000808003300000000000000000000000007985c70f427d5fdf906003f90073fbd2456f4a90000000000000000000000000052074d3eb1429f39e5ea529b54a650c21f5aa4000000000000000000000000896c8119ae2ddb39bd21fd13011030b1c47d700300000000000000000000000096710574d564625a0891ea8c7c25297e4e4e762e00000000000000000000000030ad96e7d1031960a8a9c569274e6df9ff2030c800000000000000000000000082a6c4af830caa6c97bb504425f6a66165c2c26e00000000000000000000000010d2c95568b6fcba3bda088c2552d4ff25387771000000000000000000000000ddc8ce177504e50885de21c79df3e2b58581897f