568 txs
559 calls
constructor
constructor(address _stakingToken)
functions
DECIMALS
viewfunction DECIMALS() view returns (uint256)
getStakeDetails
viewfunction getStakeDetails(address user, uint8 poolId) view returns (uint256 _rewardBase, uint256 _currentStake, uint256 _startTime, uint256 _lockPeriod, uint256 _apy, uint256 _pendingReward)
getTotalStaked
viewfunction getTotalStaked() view returns (uint256 total)
hasStaked
viewfunction hasStaked(address) view returns (bool)
ONE_YEAR
viewfunction ONE_YEAR() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingWithdrawals
viewfunction pendingWithdrawals(address, uint8) view returns (uint256 amount, bool exists)
pools
viewfunction pools(uint8) view returns (uint256 lockPeriod, uint256 apy)
stakers
viewfunction stakers(uint256) view returns (address)
stakes
viewfunction stakes(address, uint8) view returns (uint256 rewardBase, uint256 currentStake, uint256 startTime, bool exists)
stakingToken
viewfunction stakingToken() view returns (address)
addStake
nonpayablefunction addStake(uint8 poolId, uint256 amount)
adjustWithdrawal
nonpayablefunction adjustWithdrawal(address user, uint8 poolId, uint256 newAmount)
cancelWithdrawal
nonpayablefunction cancelWithdrawal(uint8 poolId)
claimRewards
nonpayablefunction claimRewards(uint8 poolId)
confirmWithdrawal
nonpayablefunction confirmWithdrawal(address user, uint8 poolId)
ownerFeeWithdrawal
nonpayablefunction ownerFeeWithdrawal(address user, uint8 poolId, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
requestWithdrawal
nonpayablefunction requestWithdrawal(uint8 poolId, uint256 amount)
rescueBNB
nonpayablefunction rescueBNB()
rescueERC20
nonpayablefunction rescueERC20(address tokenAdd, uint256 amount)
stake
nonpayablefunction stake(uint8 poolId, uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePool
nonpayablefunction updatePool(uint8 poolId, uint256 newLockPeriod, uint256 newAPY)
events
OwnerFeeWithdrawal
event OwnerFeeWithdrawal(address indexed user, uint8 indexed poolId, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolUpdated
event PoolUpdated(uint8 indexed poolId, uint256 newLockPeriod, uint256 newAPY)
RewardClaimed
event RewardClaimed(address indexed user, uint8 indexed poolId, uint256 reward)
StakeAdded
event StakeAdded(address indexed user, uint8 indexed poolId, uint256 amount)
Staked
event Staked(address indexed user, uint8 indexed poolId, uint256 amount, uint256 lockPeriod, uint256 apy)
WithdrawalCancelled
event WithdrawalCancelled(address indexed user, uint8 indexed poolId)
WithdrawalConfirmed
event WithdrawalConfirmed(address indexed user, uint8 indexed poolId, uint256 amount)
WithdrawalRequested
event WithdrawalRequested(address indexed user, uint8 indexed poolId, uint256 amount)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x608060405234801561000f575f80fd5b5060405161337a38038061337a83398181016040528101906100319190610309565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100999190610343565b60405180910390fd5b6100b1816101d960201b60201c565b50600180819055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180604001604052805f815260200166470de4df82000081525060035f600160ff1681526020019081526020015f205f820151815f01556020820151816001015590505060405180604001604052806276a700815260200167016345785d8a000081525060035f600260ff1681526020019081526020015f205f820151815f015560208201518160010155905050604051806040016040528062ed4e008152602001670214e8348c4f000081525060035f600360ff1681526020019081526020015f205f820151815f0155602082015181600101559050505061035c565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102c78261029e565b9050919050565b5f6102d8826102bd565b9050919050565b6102e8816102ce565b81146102f2575f80fd5b50565b5f81519050610303816102df565b92915050565b5f6020828403121561031e5761031d61029a565b5b5f61032b848285016102f5565b91505092915050565b61033d816102bd565b82525050565b5f6020820190506103565f830184610334565b92915050565b613011806103695f395ff3fe608060405234801561000f575f80fd5b5060043610610156575f3560e01c80638c9f1ee1116100c1578063d43ba0df1161007a578063d43ba0df146103a3578063dd752e55146103bf578063f25f136c146103db578063f2fde38b146103e5578063fb87a63514610401578063fd5e6dd11461043257610156565b80638c9f1ee1146102cc5780638cd4426d146103015780638da5cb5b1461031d578063a9ac4ddb1461033b578063b503677b14610357578063c93c8f341461037357610156565b80634665fb39116101135780634665fb391461021f5780634691d18a1461023b578063687df15c1461026c578063715018a61461028857806372f702f31461029257806373ba6dd9146102b057610156565b80630744fd0d1461015a5780630917e7761461017657806316d3bfbb14610194578063236aed60146101b25780632e0f2625146101ce5780633027ffc0146101ec575b5f80fd5b610174600480360381019061016f9190612422565b610462565b005b61017e61080b565b60405161018b9190612478565b60405180910390f35b61019c6108f7565b6040516101a99190612478565b60405180910390f35b6101cc60048036038101906101c79190612491565b6108ff565b005b6101d6610a1a565b6040516101e39190612478565b60405180910390f35b61020660048036038101906102019190612422565b610a26565b60405161021694939291906124d6565b60405180910390f35b61023960048036038101906102349190612543565b610a69565b005b61025560048036038101906102509190612422565b610b47565b604051610263929190612593565b60405180910390f35b610286600480360381019061028191906125ba565b610b7e565b005b610290610e09565b005b61029a610e1c565b6040516102a79190612653565b60405180910390f35b6102ca60048036038101906102c5919061266c565b610e41565b005b6102e660048036038101906102e19190612422565b6110b6565b6040516102f8969594939291906126bc565b60405180910390f35b61031b6004803603810190610316919061271b565b611255565b005b6103256112e4565b6040516103329190612768565b60405180910390f35b610355600480360381019061035091906125ba565b61130b565b005b610371600480360381019061036c9190612491565b61166b565b005b61038d60048036038101906103889190612781565b611830565b60405161039a91906127ac565b60405180910390f35b6103bd60048036038101906103b8919061266c565b61184d565b005b6103d960048036038101906103d491906125ba565b611a17565b005b6103e3611eaf565b005b6103ff60048036038101906103fa9190612781565b611f09565b005b61041b60048036038101906104169190612491565b611f8d565b6040516104299291906127c5565b60405180910390f35b61044c600480360381019061044791906127ec565b611fad565b6040516104599190612768565b60405180910390f35b61046a611fe8565b61047261206f565b60018160ff161015801561048a575060038160ff1611155b6104c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c090612871565b60405180910390fd5b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8360ff1660ff1681526020019081526020015f209050806001015f9054906101000a900460ff1661056e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610565906128d9565b60405180910390fd5b5f815f015490505f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8560ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff1661061a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061190612941565b60405180910390fd5b8060010154821115610661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610658906129a9565b60405180910390fd5b61066b85856120be565b5081815f015f82825461067e91906129f4565b9250508190555081816001015f82825461069891906129f4565b9250508190555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86846040518363ffffffff1660e01b81526004016106fb929190612a27565b6020604051808303815f875af1158015610717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073b9190612a78565b5060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8560ff1660ff1681526020019081526020015f205f8082015f9055600182015f6101000a81549060ff021916905550508360ff168573ffffffffffffffffffffffffffffffffffffffff167f6b794d76720ac006361c02afab98957aa48aabe79d4cf3df608b16933212278f846040516107f49190612478565b60405180910390a35050506108076122bd565b5050565b5f805f90505b6006805490508110156108f3575f6006828154811061083357610832612aa3565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f600190505b60038160ff16116108e45760045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8260ff1660ff1681526020019081526020015f2060010154846108cf9190612ad0565b935080806108dc90612b03565b915050610863565b50508080600101915050610811565b5090565b6301e1338081565b61090761206f565b60018160ff161015801561091f575060038160ff1611155b61095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095590612871565b60405180910390fd5b5f60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8360ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff16610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90612b75565b60405180910390fd5b610a0d33836120be565b5050610a176122bd565b50565b670de0b6b3a764000081565b6004602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015490806003015f9054906101000a900460ff16905084565b610a71611fe8565b60018360ff1610158015610a89575060038360ff1611155b610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90612871565b60405180910390fd5b8160035f8560ff1660ff1681526020019081526020015f205f01819055508060035f8560ff1660ff1681526020019081526020015f20600101819055508260ff167f20ec27114724abc499cac4a4e4a380c33409654ebda51badae35e5429bb1be0c8383604051610b3a9291906127c5565b60405180910390a2505050565b6005602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015f9054906101000a900460ff16905082565b610b8661206f565b60018260ff1610158015610b9e575060038260ff1611155b610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd490612871565b60405180910390fd5b5f8111610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612bdd565b60405180910390fd5b5f60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff16610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90612c45565b60405180910390fd5b610cce33846120be565b5060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610d2d93929190612c63565b6020604051808303815f875af1158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6d9190612a78565b5081815f015f828254610d809190612ad0565b9250508190555081816001015f828254610d9a9190612ad0565b925050819055504281600201819055508260ff163373ffffffffffffffffffffffffffffffffffffffff167fce751e1a531dd8e4d72be6eaba9451d55625b293acc6355355ee758cc8b7960784604051610df49190612478565b60405180910390a350610e056122bd565b5050565b610e11611fe8565b610e1a5f6122c6565b565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e49611fe8565b610e5161206f565b60018260ff1610158015610e69575060038260ff1611155b610ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9f90612871565b60405180910390fd5b5f60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff16610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4490612941565b60405180910390fd5b5f82118015610f60575080600101548211155b610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9690612ce2565b60405180910390fd5b81816001015f828254610fb291906129f4565b9250508190555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401611015929190612a27565b6020604051808303815f875af1158015611031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110559190612a78565b508260ff168473ffffffffffffffffffffffffffffffffffffffff167f4b3256282ab3baf39690e3bf64eeac51fbf260e52dbdd6f4dd53a7985499206f846040516110a09190612478565b60405180910390a3506110b16122bd565b505050565b5f805f805f8060018760ff16101580156110d4575060038760ff1611155b611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612871565b60405180910390fd5b5f60045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8960ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff166111b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111af90612941565b60405180910390fd5b5f60035f8a60ff1660ff1681526020019081526020015f2090505f8260020154426111e391906129f4565b9050670de0b6b3a76400006301e133806111fd9190612d00565b818360010154855f01546112119190612d00565b61121b9190612d00565b6112259190612d6e565b9350825f015483600101548460020154845f01548560010154985098509850985098505050509295509295509295565b61125d611fe8565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6112816112e4565b836040518363ffffffff1660e01b815260040161129f929190612a27565b6020604051808303815f875af11580156112bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112df9190612a78565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61131361206f565b60018260ff161015801561132b575060038260ff1611155b61136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612871565b60405180910390fd5b5f60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff1661140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690612b75565b60405180910390fd5b5f82118015611422575080600101548211155b611461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145890612ce2565b60405180910390fd5b5f60035f8560ff1660ff1681526020019081526020015f205f0154905080826002015461148e9190612ad0565b4210156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790612de8565b60405180910390fd5b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8660ff1660ff1681526020019081526020015f209050806001015f9054906101000a900460ff1615611576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156d90612e50565b60405180910390fd5b60405180604001604052808581526020016001151581525060055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8760ff1660ff1681526020019081526020015f205f820151815f01556020820151816001015f6101000a81548160ff0219169083151502179055509050508460ff163373ffffffffffffffffffffffffffffffffffffffff167fa2d5fe99487dce2ee4fa8e2cdcde5b91246f7e92cbe8977c99766cf5171a1d61866040516116549190612478565b60405180910390a35050506116676122bd565b5050565b61167361206f565b60018160ff161015801561168b575060038160ff1611155b6116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190612871565b60405180910390fd5b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8360ff1660ff1681526020019081526020015f209050806001015f9054906101000a900460ff1661176f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611766906128d9565b60405180910390fd5b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8360ff1660ff1681526020019081526020015f205f8082015f9055600182015f6101000a81549060ff021916905550508160ff163373ffffffffffffffffffffffffffffffffffffffff167f92bce5883cbb5ce345b0fde2b7cbdbc82841b832b18ae63bc730d3ab4d69fd5060405160405180910390a35061182d6122bd565b50565b6007602052805f5260405f205f915054906101000a900460ff1681565b611855611fe8565b61185d61206f565b60018260ff1610158015611875575060038260ff1611155b6118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab90612871565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806001015f9054906101000a900460ff16611959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611950906128d9565b60405180910390fd5b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8560ff1660ff1681526020019081526020015f2090505f831180156119c1575080600101548311155b611a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f790612eb8565b60405180910390fd5b82825f01819055505050611a126122bd565b505050565b611a1f61206f565b5f8111611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5890612f20565b60405180910390fd5b60018260ff1610158015611a79575060038260ff1611155b611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf90612871565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401611b1693929190612c63565b6020604051808303815f875af1158015611b32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b569190612a78565b505f60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff1615611c6057611bcc33846120be565b5081815f015f828254611bdf9190612ad0565b9250508190555081816001015f828254611bf99190612ad0565b925050819055504281600201819055508260ff163373ffffffffffffffffffffffffffffffffffffffff167fce751e1a531dd8e4d72be6eaba9451d55625b293acc6355355ee758cc8b7960784604051611c539190612478565b60405180910390a3611ea2565b60405180608001604052808381526020018381526020014281526020016001151581525060045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8560ff1660ff1681526020019081526020015f205f820151815f015560208201518160010155604082015181600201556060820151816003015f6101000a81548160ff02191690831515021790555090505060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611e1857600633908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b8260ff163373ffffffffffffffffffffffffffffffffffffffff167fa54d2e3dac2ed7e395310cf189cc1c2e3527948ac1296e60db2c269c9138c1158460035f8860ff1660ff1681526020019081526020015f205f015460035f8960ff1660ff1681526020019081526020015f2060010154604051611e9993929190612f3e565b60405180910390a35b50611eab6122bd565b5050565b611eb7611fe8565b5f479050611ec36112e4565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f05573d5f803e3d5ffd5b5050565b611f11611fe8565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f81575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611f789190612768565b60405180910390fd5b611f8a816122c6565b50565b6003602052805f5260405f205f91509050805f0154908060010154905082565b60068181548110611fbc575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ff0612387565b73ffffffffffffffffffffffffffffffffffffffff1661200e6112e4565b73ffffffffffffffffffffffffffffffffffffffff161461206d57612031612387565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016120649190612768565b60405180910390fd5b565b6002600154036120b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ab90612fbd565b60405180910390fd5b6002600181905550565b5f8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460ff1660ff1681526020019081526020015f209050806003015f9054906101000a900460ff16612132575f9150506122b7565b5f81600201544261214391906129f4565b90505f8103612156575f925050506122b7565b5f60035f8660ff1660ff1681526020019081526020015f20600101549050670de0b6b3a76400006301e1338061218c9190612d00565b8282855f015461219c9190612d00565b6121a69190612d00565b6121b09190612d6e565b93505f8411156122aa5760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b8152600401612216929190612a27565b6020604051808303815f875af1158015612232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122569190612a78565b508460ff168673ffffffffffffffffffffffffffffffffffffffff167f889047e3a24dbcfa359bc1ed9fefeae51ca3d0e7ec4bc9db63eec5e3095493da866040516122a19190612478565b60405180910390a35b4283600201819055505050505b92915050565b60018081905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123bb82612392565b9050919050565b6123cb816123b1565b81146123d5575f80fd5b50565b5f813590506123e6816123c2565b92915050565b5f60ff82169050919050565b612401816123ec565b811461240b575f80fd5b50565b5f8135905061241c816123f8565b92915050565b5f80604083850312156124385761243761238e565b5b5f612445858286016123d8565b92505060206124568582860161240e565b9150509250929050565b5f819050919050565b61247281612460565b82525050565b5f60208201905061248b5f830184612469565b92915050565b5f602082840312156124a6576124a561238e565b5b5f6124b38482850161240e565b91505092915050565b5f8115159050919050565b6124d0816124bc565b82525050565b5f6080820190506124e95f830187612469565b6124f66020830186612469565b6125036040830185612469565b61251060608301846124c7565b95945050505050565b61252281612460565b811461252c575f80fd5b50565b5f8135905061253d81612519565b92915050565b5f805f6060848603121561255a5761255961238e565b5b5f6125678682870161240e565b93505060206125788682870161252f565b92505060406125898682870161252f565b9150509250925092565b5f6040820190506125a65f830185612469565b6125b360208301846124c7565b9392505050565b5f80604083850312156125d0576125cf61238e565b5b5f6125dd8582860161240e565b92505060206125ee8582860161252f565b9150509250929050565b5f819050919050565b5f61261b61261661261184612392565b6125f8565b612392565b9050919050565b5f61262c82612601565b9050919050565b5f61263d82612622565b9050919050565b61264d81612633565b82525050565b5f6020820190506126665f830184612644565b92915050565b5f805f606084860312156126835761268261238e565b5b5f612690868287016123d8565b93505060206126a18682870161240e565b92505060406126b28682870161252f565b9150509250925092565b5f60c0820190506126cf5f830189612469565b6126dc6020830188612469565b6126e96040830187612469565b6126f66060830186612469565b6127036080830185612469565b61271060a0830184612469565b979650505050505050565b5f80604083850312156127315761273061238e565b5b5f61273e858286016123d8565b925050602061274f8582860161252f565b9150509250929050565b612762816123b1565b82525050565b5f60208201905061277b5f830184612759565b92915050565b5f602082840312156127965761279561238e565b5b5f6127a3848285016123d8565b91505092915050565b5f6020820190506127bf5f8301846124c7565b92915050565b5f6040820190506127d85f830185612469565b6127e56020830184612469565b9392505050565b5f602082840312156128015761280061238e565b5b5f61280e8482850161252f565b91505092915050565b5f82825260208201905092915050565b7f496e76616c696420706f6f6c00000000000000000000000000000000000000005f82015250565b5f61285b600c83612817565b915061286682612827565b602082019050919050565b5f6020820190508181035f8301526128888161284f565b9050919050565b7f4e6f2070656e64696e67207769746864726177616c00000000000000000000005f82015250565b5f6128c3601583612817565b91506128ce8261288f565b602082019050919050565b5f6020820190508181035f8301526128f0816128b7565b9050919050565b7f4e6f207374616b6520666f7220757365720000000000000000000000000000005f82015250565b5f61292b601183612817565b9150612936826128f7565b602082019050919050565b5f6020820190508181035f8301526129588161291f565b9050919050565b7f416d6f756e7420657863656564732063757272656e74207374616b65000000005f82015250565b5f612993601c83612817565b915061299e8261295f565b602082019050919050565b5f6020820190508181035f8301526129c081612987565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129fe82612460565b9150612a0983612460565b9250828203905081811115612a2157612a206129c7565b5b92915050565b5f604082019050612a3a5f830185612759565b612a476020830184612469565b9392505050565b612a57816124bc565b8114612a61575f80fd5b50565b5f81519050612a7281612a4e565b92915050565b5f60208284031215612a8d57612a8c61238e565b5b5f612a9a84828501612a64565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612ada82612460565b9150612ae583612460565b9250828201905080821115612afd57612afc6129c7565b5b92915050565b5f612b0d826123ec565b915060ff8203612b2057612b1f6129c7565b5b600182019050919050565b7f4e6f207374616b650000000000000000000000000000000000000000000000005f82015250565b5f612b5f600883612817565b9150612b6a82612b2b565b602082019050919050565b5f6020820190508181035f830152612b8c81612b53565b9050919050565b7f43616e6e6f7420616464203000000000000000000000000000000000000000005f82015250565b5f612bc7600c83612817565b9150612bd282612b93565b602082019050919050565b5f6020820190508181035f830152612bf481612bbb565b9050919050565b7f4e6f206578697374696e67207374616b652c20757365207374616b65282900005f82015250565b5f612c2f601e83612817565b9150612c3a82612bfb565b602082019050919050565b5f6020820190508181035f830152612c5c81612c23565b9050919050565b5f606082019050612c765f830186612759565b612c836020830185612759565b612c906040830184612469565b949350505050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f612ccc600e83612817565b9150612cd782612c98565b602082019050919050565b5f6020820190508181035f830152612cf981612cc0565b9050919050565b5f612d0a82612460565b9150612d1583612460565b9250828202612d2381612460565b91508282048414831517612d3a57612d396129c7565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d7882612460565b9150612d8383612460565b925082612d9357612d92612d41565b5b828204905092915050565b7f5374616b65206973206c6f636b656400000000000000000000000000000000005f82015250565b5f612dd2600f83612817565b9150612ddd82612d9e565b602082019050919050565b5f6020820190508181035f830152612dff81612dc6565b9050919050565b7f5769746864726177616c20616c72656164792070656e64696e670000000000005f82015250565b5f612e3a601a83612817565b9150612e4582612e06565b602082019050919050565b5f6020820190508181035f830152612e6781612e2e565b9050919050565b7f496e76616c6964206e657720616d6f756e7400000000000000000000000000005f82015250565b5f612ea2601283612817565b9150612ead82612e6e565b602082019050919050565b5f6020820190508181035f830152612ecf81612e96565b9050919050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f612f0a600e83612817565b9150612f1582612ed6565b602082019050919050565b5f6020820190508181035f830152612f3781612efe565b9050919050565b5f606082019050612f515f830186612469565b612f5e6020830185612469565b612f6b6040830184612469565b949350505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612fa7601f83612817565b9150612fb282612f73565b602082019050919050565b5f6020820190508181035f830152612fd481612f9b565b905091905056fea26469706673582212201acf12682f2eb359ed8930909a990bda078011565b65fce77af6a360c3dc490f64736f6c634300081a00330000000000000000000000008e3f0b0b604bc69ea98a8039ff7884047bc3bd55