More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 284 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Staked ... | 21173753 | 111 days ago | IN | 0 ETH | 0.00453319 | ||||
Add Token Reward | 21171863 | 111 days ago | IN | 0 ETH | 0.00116858 | ||||
Withdraw Staked ... | 19940918 | 283 days ago | IN | 0 ETH | 0.00131131 | ||||
Add Token Reward | 19939116 | 283 days ago | IN | 0 ETH | 0.00040657 | ||||
Withdraw Staked ... | 19529728 | 340 days ago | IN | 0 ETH | 0.0029234 | ||||
Withdraw Staked ... | 19511452 | 343 days ago | IN | 0 ETH | 0.00230811 | ||||
Withdraw Staked ... | 19511450 | 343 days ago | IN | 0 ETH | 0.00270923 | ||||
Withdraw Staked ... | 19431911 | 354 days ago | IN | 0 ETH | 0.0049305 | ||||
Withdraw Staked ... | 19431908 | 354 days ago | IN | 0 ETH | 0.00575322 | ||||
Withdraw Staked ... | 19179629 | 390 days ago | IN | 0 ETH | 0.00494334 | ||||
Add Token Reward | 19177054 | 390 days ago | IN | 0 ETH | 0.00236252 | ||||
Withdraw Staked ... | 19078723 | 404 days ago | IN | 0 ETH | 0.001196 | ||||
Withdraw Staked ... | 19006439 | 414 days ago | IN | 0 ETH | 0.00317529 | ||||
Withdraw Staked ... | 19006424 | 414 days ago | IN | 0 ETH | 0.00310779 | ||||
Withdraw Staked ... | 18967863 | 419 days ago | IN | 0 ETH | 0.00134918 | ||||
Withdraw Staked ... | 18950495 | 422 days ago | IN | 0 ETH | 0.00161121 | ||||
Withdraw Staked ... | 18771574 | 447 days ago | IN | 0 ETH | 0.00612249 | ||||
Add Token Reward | 18762618 | 448 days ago | IN | 0 ETH | 0.00149736 | ||||
Withdraw Staked ... | 18707544 | 456 days ago | IN | 0 ETH | 0.00408076 | ||||
Withdraw Staked ... | 18552268 | 478 days ago | IN | 0 ETH | 0.00311817 | ||||
Withdraw Staked ... | 18552245 | 478 days ago | IN | 0 ETH | 0.00326143 | ||||
Withdraw Staked ... | 18548640 | 478 days ago | IN | 0 ETH | 0.00261366 | ||||
Withdraw Staked ... | 18449649 | 492 days ago | IN | 0 ETH | 0.00191143 | ||||
Withdraw Staked ... | 18449643 | 492 days ago | IN | 0 ETH | 0.00195526 | ||||
Unpause Token St... | 18240776 | 521 days ago | IN | 0 ETH | 0.00016641 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CoretoStaking
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-07 */ pragma solidity ^0.4.24; /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256){ if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b,"Calculation error in multiplication"); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256){ // Solidity only automatically asserts when dividing by 0 require(b > 0,"Calculation error in division"); uint256 c = a / b; return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256){ require(b <= a,"Calculation error in subtraction"); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256){ uint256 c = a + b; require(c >= a,"Calculation error in addition"); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256){ require(b != 0,"Calculation error"); return a % b; } } /** * @title IToken * @dev Contract interface for token contract */ contract IToken { function totalSupply() public pure returns (uint256); function balanceOf(address) public pure returns (uint256); function allowance(address, address) public pure returns (uint256); function transfer(address, uint256) public pure returns (bool); function transferFrom(address, address, uint256) public pure returns (bool); function approve(address, uint256) public pure returns (bool); } /** * @title CoretoStaking * @dev Staking Contract for token staking */ contract CoretoStaking { using SafeMath for uint256; address private _owner; // variable for Owner of the Contract. uint256 private _withdrawTime; // variable to manage withdraw time for token uint256 constant public PERIOD_SERENITY = 90; // variable constant for time period management for serenity pool uint256 constant public PERIOD_EQUILIBRIUM = 180; // variable constant for time period management for equilibrium pool uint256 constant public PERIOD_TRANQUILLITY = 270; // variable constant for time period management for tranquillity pool uint256 constant public WITHDRAW_TIME_SERENITY = 45 * 1 days; // variable constant to manage withdraw time lock up for serenity uint256 constant public WITHDRAW_TIME_EQUILIBRIUM = 90 * 1 days; // variable constant to manage withdraw time lock up for equilibrium uint256 constant public WITHDRAW_TIME_TRANQUILLITY = 135 * 1 days; // variable constant to manage withdraw time lock up for tranquillity uint256 constant public TOKEN_REWARD_PERCENT_SERENITY = 3555807; // variable constant to manage token reward percentage for serenity uint256 constant public TOKEN_REWARD_PERCENT_EQUILIBRIUM = 10905365; // variable constant to manage token reward percentage for equilibrium uint256 constant public TOKEN_REWARD_PERCENT_TRANQUILLITY = 26010053; // variable constant to manage token reward percentage for tranquillity uint256 constant public TOKEN_PENALTY_PERCENT_SERENITY = 2411368; // variable constant to manage token penalty percentage for serenity uint256 constant public TOKEN_PENALTY_PERCENT_EQUILIBRIUM = 7238052; // variable constant to manage token penalty percentage for equilibrium uint256 constant public TOKEN_PENALTY_PERCENT_TRANQUILLITY = 14692434; // variable constant to manage token penalty percentage for tranquillity uint256 constant public TOKEN_POOL_CAP = 25000000*(10**18); // variable constant to store maximaum pool cap value // events to handle staking pause or unpause for token event Paused(); event Unpaused(); /* * --------------------------------------------------------------------------------------------------------------------------- * Functions for owner. * --------------------------------------------------------------------------------------------------------------------------- */ /** * @dev get address of smart contract owner * @return address of owner */ function getowner() public view returns (address) { return _owner; } /** * @dev modifier to check if the message sender is owner */ modifier onlyOwner() { require(isOwner(),"You are not authenticate to make this transfer"); _; } /** * @dev Internal function for modifier */ function isOwner() internal view returns (bool) { return msg.sender == _owner; } /** * @dev Transfer ownership of the smart contract. For owner only * @return request status */ function transferOwnership(address newOwner) public onlyOwner returns (bool){ _owner = newOwner; return true; } /* * --------------------------------------------------------------------------------------------------------------------------- * Functionality of Constructor and Interface * --------------------------------------------------------------------------------------------------------------------------- */ // constructor to declare owner of the contract during time of deploy constructor() public { _owner = msg.sender; } // Interface declaration for contract IToken itoken; // function to set Contract Address for Token Functions function setContractAddress(address tokenContractAddress) external onlyOwner returns(bool){ itoken = IToken(tokenContractAddress); return true; } /* * ---------------------------------------------------------------------------------------------------------------------------- * Owner functions of get value, set value and other Functionality * ---------------------------------------------------------------------------------------------------------------------------- */ // function to add token reward in contract function addTokenReward(uint256 token) external onlyOwner returns(bool){ _ownerTokenAllowance = _ownerTokenAllowance.add(token); itoken.transferFrom(msg.sender, address(this), token); return true; } // function to withdraw added token reward in contract function withdrawAddedTokenReward(uint256 token) external onlyOwner returns(bool){ require(token < _ownerTokenAllowance,"Value is not feasible, Please Try Again!!!"); _ownerTokenAllowance = _ownerTokenAllowance.sub(token); itoken.transfer(msg.sender, token); return true; } // function to get token reward in contract function getTokenReward() public view returns(uint256){ return _ownerTokenAllowance; } // function to pause Token Staking function pauseTokenStaking() public onlyOwner { tokenPaused = true; emit Paused(); } // function to unpause Token Staking function unpauseTokenStaking() public onlyOwner { tokenPaused = false; emit Unpaused(); } /* * ---------------------------------------------------------------------------------------------------------------------------- * Variable, Mapping for Token Staking Functionality * ---------------------------------------------------------------------------------------------------------------------------- */ // mapping for users with id => address Staking Address mapping (uint256 => address) private _tokenStakingAddress; // mapping for users with address => id staking id mapping (address => uint256[]) private _tokenStakingId; // mapping for users with id => Staking Time mapping (uint256 => uint256) private _tokenStakingStartTime; // mapping for users with id => End Time mapping (uint256 => uint256) private _tokenStakingEndTime; // mapping for users with id => Tokens mapping (uint256 => uint256) private _usersTokens; // mapping for users with id => Status mapping (uint256 => bool) private _TokenTransactionstatus; // mapping to keep track of final withdraw value of staked token mapping(uint256=>uint256) private _finalTokenStakeWithdraw; // mapping to keep track total number of staking days mapping(uint256=>uint256) private _tokenTotalDays; // variable to keep count of Token Staking uint256 private _tokenStakingCount = 0; // variable to keep track on reward added by owner uint256 private _ownerTokenAllowance = 0; // variable for token time management uint256 private _tokentime; // variable for token staking pause and unpause mechanism bool public tokenPaused = false; // variable for total Token staked by user uint256 public totalStakedToken = 0; // variable for total stake token in contract uint256 public totalTokenStakesInContract = 0; // variable for total stake token in a pool uint256 public totalStakedTokenInSerenityPool = 0; // variable for total stake token in a pool uint256 public totalStakedTokenInEquilibriumPool = 0; // variable for total stake token in a pool uint256 public totalStakedTokenInTranquillityPool = 0; // modifier to check the user for staking || Re-enterance Guard modifier tokenStakeCheck(uint256 tokens, uint256 timePeriod){ require(tokens > 0, "Invalid Token Amount, Please Try Again!!! "); require(timePeriod == PERIOD_SERENITY || timePeriod == PERIOD_EQUILIBRIUM || timePeriod == PERIOD_TRANQUILLITY, "Enter the Valid Time Period and Try Again !!!"); _; } /* * ------------------------------------------------------------------------------------------------------------------------------ * Functions for Token Staking Functionality * ------------------------------------------------------------------------------------------------------------------------------ */ // function to performs staking for user tokens for a specific period of time function stakeToken(uint256 tokens, uint256 time) public tokenStakeCheck(tokens, time) returns(bool){ require(tokenPaused == false, "Staking is Paused, Please try after staking get unpaused!!!"); if(time == PERIOD_SERENITY){ require(totalStakedTokenInSerenityPool.add(tokens) <= TOKEN_POOL_CAP, "Serenity Pool Limit Reached"); _tokentime = now + (time * 1 days); _tokenStakingCount = _tokenStakingCount +1; _tokenTotalDays[_tokenStakingCount] = time; _tokenStakingAddress[_tokenStakingCount] = msg.sender; _tokenStakingId[msg.sender].push(_tokenStakingCount); _tokenStakingEndTime[_tokenStakingCount] = _tokentime; _tokenStakingStartTime[_tokenStakingCount] = now; _usersTokens[_tokenStakingCount] = tokens; _TokenTransactionstatus[_tokenStakingCount] = false; totalStakedToken = totalStakedToken.add(tokens); totalTokenStakesInContract = totalTokenStakesInContract.add(tokens); totalStakedTokenInSerenityPool = totalStakedTokenInSerenityPool.add(tokens); itoken.transferFrom(msg.sender, address(this), tokens); } else if (time == PERIOD_EQUILIBRIUM) { require(totalStakedTokenInEquilibriumPool.add(tokens) <= TOKEN_POOL_CAP, "Equilibrium Pool Limit Reached"); _tokentime = now + (time * 1 days); _tokenStakingCount = _tokenStakingCount +1; _tokenTotalDays[_tokenStakingCount] = time; _tokenStakingAddress[_tokenStakingCount] = msg.sender; _tokenStakingId[msg.sender].push(_tokenStakingCount); _tokenStakingEndTime[_tokenStakingCount] = _tokentime; _tokenStakingStartTime[_tokenStakingCount] = now; _usersTokens[_tokenStakingCount] = tokens; _TokenTransactionstatus[_tokenStakingCount] = false; totalStakedToken = totalStakedToken.add(tokens); totalTokenStakesInContract = totalTokenStakesInContract.add(tokens); totalStakedTokenInEquilibriumPool = totalStakedTokenInEquilibriumPool.add(tokens); itoken.transferFrom(msg.sender, address(this), tokens); } else if(time == PERIOD_TRANQUILLITY) { require(totalStakedTokenInTranquillityPool.add(tokens) <= TOKEN_POOL_CAP, "Tranquillity Pool Limit Reached"); _tokentime = now + (time * 1 days); _tokenStakingCount = _tokenStakingCount +1; _tokenTotalDays[_tokenStakingCount] = time; _tokenStakingAddress[_tokenStakingCount] = msg.sender; _tokenStakingId[msg.sender].push(_tokenStakingCount); _tokenStakingEndTime[_tokenStakingCount] = _tokentime; _tokenStakingStartTime[_tokenStakingCount] = now; _usersTokens[_tokenStakingCount] = tokens; _TokenTransactionstatus[_tokenStakingCount] = false; totalStakedToken = totalStakedToken.add(tokens); totalTokenStakesInContract = totalTokenStakesInContract.add(tokens); totalStakedTokenInTranquillityPool = totalStakedTokenInTranquillityPool.add(tokens); itoken.transferFrom(msg.sender, address(this), tokens); } else { return false; } return true; } // function to get staking count for token function getTokenStakingCount() public view returns(uint256){ return _tokenStakingCount; } // function to get total Staked tokens function getTotalStakedToken() public view returns(uint256){ return totalStakedToken; } // function to calculate reward for the message sender for token function getTokenRewardDetailsByStakingId(uint256 id) public view returns(uint256){ if(_tokenTotalDays[id] == PERIOD_SERENITY) { return (_usersTokens[id]*TOKEN_REWARD_PERCENT_SERENITY/100000000); } else if(_tokenTotalDays[id] == PERIOD_EQUILIBRIUM) { return (_usersTokens[id]*TOKEN_REWARD_PERCENT_EQUILIBRIUM/100000000); } else if(_tokenTotalDays[id] == PERIOD_TRANQUILLITY) { return (_usersTokens[id]*TOKEN_REWARD_PERCENT_TRANQUILLITY/100000000); } else{ return 0; } } // function to calculate penalty for the message sender for token function getTokenPenaltyDetailByStakingId(uint256 id) public view returns(uint256){ if(_tokenStakingEndTime[id] > now){ if(_tokenTotalDays[id]==PERIOD_SERENITY){ return (_usersTokens[id]*TOKEN_PENALTY_PERCENT_SERENITY/100000000); } else if(_tokenTotalDays[id] == PERIOD_EQUILIBRIUM) { return (_usersTokens[id]*TOKEN_PENALTY_PERCENT_EQUILIBRIUM/100000000); } else if(_tokenTotalDays[id] == PERIOD_TRANQUILLITY) { return (_usersTokens[id]*TOKEN_PENALTY_PERCENT_TRANQUILLITY/100000000); } else { return 0; } } else{ return 0; } } // function to withdraw staked tokens function withdrawStakedTokens(uint256 stakingId) public returns(bool) { require(_tokenStakingAddress[stakingId] == msg.sender,"No staked token found on this address and ID"); require(_TokenTransactionstatus[stakingId] != true,"Either tokens are already withdrawn or blocked by admin"); if(_tokenTotalDays[stakingId] == PERIOD_SERENITY){ require(now >= _tokenStakingStartTime[stakingId] + WITHDRAW_TIME_SERENITY, "Unable to Withdraw Staked token before 45 days of staking start time, Please Try Again Later!!!"); _TokenTransactionstatus[stakingId] = true; if(now >= _tokenStakingEndTime[stakingId]){ _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenRewardDetailsByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInSerenityPool = totalStakedTokenInSerenityPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenRewardDetailsByStakingId(stakingId)); } else { _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenPenaltyDetailByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInSerenityPool = totalStakedTokenInSerenityPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenPenaltyDetailByStakingId(stakingId)); } } else if(_tokenTotalDays[stakingId] == PERIOD_EQUILIBRIUM){ require(now >= _tokenStakingStartTime[stakingId] + WITHDRAW_TIME_EQUILIBRIUM, "Unable to Withdraw Staked token before 90 days of staking start time, Please Try Again Later!!!"); _TokenTransactionstatus[stakingId] = true; if(now >= _tokenStakingEndTime[stakingId]){ _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenRewardDetailsByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInEquilibriumPool = totalStakedTokenInEquilibriumPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenRewardDetailsByStakingId(stakingId)); } else { _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenPenaltyDetailByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInEquilibriumPool = totalStakedTokenInEquilibriumPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenPenaltyDetailByStakingId(stakingId)); } } else if(_tokenTotalDays[stakingId] == PERIOD_TRANQUILLITY){ require(now >= _tokenStakingStartTime[stakingId] + WITHDRAW_TIME_TRANQUILLITY, "Unable to Withdraw Staked token before 135 days of staking start time, Please Try Again Later!!!"); _TokenTransactionstatus[stakingId] = true; if(now >= _tokenStakingEndTime[stakingId]){ _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenRewardDetailsByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInTranquillityPool = totalStakedTokenInTranquillityPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenRewardDetailsByStakingId(stakingId)); } else { _finalTokenStakeWithdraw[stakingId] = _usersTokens[stakingId].add(getTokenPenaltyDetailByStakingId(stakingId)); itoken.transfer(msg.sender,_finalTokenStakeWithdraw[stakingId]); totalTokenStakesInContract = totalTokenStakesInContract.sub(_usersTokens[stakingId]); totalStakedTokenInTranquillityPool = totalStakedTokenInTranquillityPool.sub(_usersTokens[stakingId]); _ownerTokenAllowance = _ownerTokenAllowance.sub(getTokenPenaltyDetailByStakingId(stakingId)); } } else { return false; } return true; } // function to get Final Withdraw Staked value for token function getFinalTokenStakeWithdraw(uint256 id) public view returns(uint256){ return _finalTokenStakeWithdraw[id]; } // function to get total token stake in contract function getTotalTokenStakesInContract() public view returns(uint256){ return totalTokenStakesInContract; } /* * ------------------------------------------------------------------------------------------------------------------------------- * Get Functions for Stake Token Functionality * ------------------------------------------------------------------------------------------------------------------------------- */ // function to get Token Staking address by id function getTokenStakingAddressById(uint256 id) external view returns (address){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _tokenStakingAddress[id]; } // function to get Token staking id by address function getTokenStakingIdByAddress(address add) external view returns(uint256[]){ require(add != address(0),"Invalid Address, Pleae Try Again!!!"); return _tokenStakingId[add]; } // function to get Token Staking Starting time by id function getTokenStakingStartTimeById(uint256 id) external view returns(uint256){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _tokenStakingStartTime[id]; } // function to get Token Staking Ending time by id function getTokenStakingEndTimeById(uint256 id) external view returns(uint256){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _tokenStakingEndTime[id]; } // function to get Token Staking Total Days by Id function getTokenStakingTotalDaysById(uint256 id) external view returns(uint256){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _tokenTotalDays[id]; } // function to get Staking tokens by id function getStakingTokenById(uint256 id) external view returns(uint256){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _usersTokens[id]; } // function to get Token lockstatus by id function getTokenLockStatus(uint256 id) external view returns(bool){ require(id <= _tokenStakingCount,"Unable to reterive data on specified id, Please try again!!"); return _TokenTransactionstatus[id]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenStakingStartTimeById","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"stakingId","type":"uint256"}],"name":"withdrawStakedTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_TIME_SERENITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"uint256"}],"name":"addTokenReward","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PENALTY_PERCENT_SERENITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getStakingTokenById","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenStakingCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PENALTY_PERCENT_TRANQUILLITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalStakedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenContractAddress","type":"address"}],"name":"setContractAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalTokenStakesInContract","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenStakingEndTimeById","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenLockStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERIOD_SERENITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_TIME_EQUILIBRIUM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PENALTY_PERCENT_EQUILIBRIUM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getFinalTokenStakeWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStakedTokenInTranquillityPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStakedTokenInSerenityPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pauseTokenStaking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenPenaltyDetailByStakingId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenRewardDetailsByStakingId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpauseTokenStaking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenStakesInContract","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERIOD_TRANQUILLITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenStakingAddressById","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStakedTokenInEquilibriumPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTokenStakingTotalDaysById","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERIOD_EQUILIBRIUM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_POOL_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"uint256"}],"name":"withdrawAddedTokenReward","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"add","type":"address"}],"name":"getTokenStakingIdByAddress","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_TIME_TRANQUILLITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStakedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_REWARD_PERCENT_TRANQUILLITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_REWARD_PERCENT_SERENITY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_REWARD_PERCENT_EQUILIBRIUM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getowner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokens","type":"uint256"},{"name":"time","type":"uint256"}],"name":"stakeToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"}]
Contract Creation Code
60806040526000600b819055600c819055600e805460ff19169055600f81905560108190556011819055601281905560135534801561003d57600080fd5b5060008054600160a060020a031916331790556123bc8061005f6000396000f3006080604052600436106102035763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663032f3b0981146102085780630a57336a146102325780630afd19211461025e5780632841a1431461027357806329bfd11f1461028b578063332a35d2146102a05780633e4ffb16146102b857806341521e33146102cd578063423eea07146102e2578063477bddaa146102f757806350ff92a91461031857806354439ad01461032d5780635673017a14610345578063572b42631461035d5780635d0d1f42146103725780635d5b8cab1461038757806360c2a3481461039c57806364d8c6c1146103b4578063731d2912146103c957806384698190146103de5780638586ca00146103f5578063863997b21461040d57806386c75e74146104255780638cc15d4f1461043a578063906459791461044f57806397e66ba2146104645780639d6c890d14610479578063a4cb6727146104ad578063b248c812146104c2578063b2a56b8f146104da578063b802e791146104ef578063b8c1fc3314610504578063b9f7549b1461051c578063c8a840af1461058d578063cb6d8ee6146105a2578063cc40c36d146105b7578063cf3e324c146105cc578063f2fde38b146105e1578063fa0bd08e14610602578063fa8eb78214610617578063fe0174bd1461062c578063ffab4bd914610641575b600080fd5b34801561021457600080fd5b5061022060043561065c565b60408051918252519081900360200190f35b34801561023e57600080fd5b5061024a6004356106d1565b604080519115158252519081900360200190f35b34801561026a57600080fd5b506102206110d7565b34801561027f57600080fd5b5061024a6004356110de565b34801561029757600080fd5b506102206111e7565b3480156102ac57600080fd5b506102206004356111ee565b3480156102c457600080fd5b50610220611260565b3480156102d957600080fd5b50610220611266565b3480156102ee57600080fd5b5061022061126d565b34801561030357600080fd5b5061024a600160a060020a0360043516611273565b34801561032457600080fd5b50610220611307565b34801561033957600080fd5b5061022060043561130d565b34801561035157600080fd5b5061024a60043561137f565b34801561036957600080fd5b506102206113f4565b34801561037e57600080fd5b506102206113f9565b34801561039357600080fd5b50610220611400565b3480156103a857600080fd5b50610220600435611407565b3480156103c057600080fd5b50610220611419565b3480156103d557600080fd5b5061022061141f565b3480156103ea57600080fd5b506103f3611425565b005b34801561040157600080fd5b506102206004356114bd565b34801561041957600080fd5b5061022060043561157a565b34801561043157600080fd5b5061024a61161e565b34801561044657600080fd5b506103f3611627565b34801561045b57600080fd5b506102206116bc565b34801561047057600080fd5b506102206116c2565b34801561048557600080fd5b506104916004356116c8565b60408051600160a060020a039092168252519081900360200190f35b3480156104b957600080fd5b50610220611743565b3480156104ce57600080fd5b50610220600435611749565b3480156104e657600080fd5b506102206117bb565b3480156104fb57600080fd5b506102206117c0565b34801561051057600080fd5b5061024a6004356117cf565b34801561052857600080fd5b5061053d600160a060020a036004351661191d565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610579578181015183820152602001610561565b505050509050019250505060405180910390f35b34801561059957600080fd5b50610220611a0f565b3480156105ae57600080fd5b50610220611a16565b3480156105c357600080fd5b50610220611a1c565b3480156105d857600080fd5b50610220611a24565b3480156105ed57600080fd5b5061024a600160a060020a0360043516611a2b565b34801561060e57600080fd5b50610220611abf565b34801561062357600080fd5b50610220611ac6565b34801561063857600080fd5b50610491611acc565b34801561064d57600080fd5b5061024a600435602435611adb565b600b546000908211156106bb576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b506000818152600560205260409020545b919050565b600081815260036020526040812054600160a060020a03163314610765576040805160e560020a62461bcd02815260206004820152602c60248201527f4e6f207374616b656420746f6b656e20666f756e64206f6e207468697320616460448201527f647265737320616e642049440000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281526008602052604090205460ff161515600114156107f7576040805160e560020a62461bcd02815260206004820152603760248201527f45697468657220746f6b656e732061726520616c72656164792077697468647260448201527f61776e206f7220626c6f636b65642062792061646d696e000000000000000000606482015290519081900360840190fd5b6000828152600a6020526040902054605a1415610b0e57600082815260056020526040902054623b5380014210156108c5576040805160e560020a62461bcd02815260206004820152605f60248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f72652034352064617973206f66207374616b696e672073746172742060648201527f74696d652c20506c656173652054727920416761696e204c6174657221212100608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610a13576109166108fb8361157a565b6000848152600760205260409020549063ffffffff61223916565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505050506040513d60208110156109a657600080fd5b50506000828152600760205260409020546010546109c99163ffffffff61229d16565b6010556000828152600760205260409020546011546109ed9163ffffffff61229d16565b601155610a0b6109fc8361157a565b600c549063ffffffff61229d16565b600c55610b09565b610a1f6108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b5050600082815260076020526040902054601054610ad29163ffffffff61229d16565b601055600082815260076020526040902054601154610af69163ffffffff61229d16565b601155610b056109fc836114bd565b600c555b6110cf565b6000828152600a602052604090205460b41415610dea576000828152600560205260409020546276a70001421015610bdc576040805160e560020a62461bcd02815260206004820152605f60248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f72652039302064617973206f66207374616b696e672073746172742060648201527f74696d652c20506c656173652054727920416761696e204c6174657221212100608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610cf857610c126108fb8361157a565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610c7857600080fd5b505af1158015610c8c573d6000803e3d6000fd5b505050506040513d6020811015610ca257600080fd5b5050600082815260076020526040902054601054610cc59163ffffffff61229d16565b601055600082815260076020526040902054601254610ce99163ffffffff61229d16565b601255610a0b6109fc8361157a565b610d046108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050506040513d6020811015610d9457600080fd5b5050600082815260076020526040902054601054610db79163ffffffff61229d16565b601055600082815260076020526040902054601254610ddb9163ffffffff61229d16565b601255610b056109fc836114bd565b6000828152600a602052604090205461010e14156110c75760008281526005602052604090205462b1fa8001421015610eb9576040805160e560020a62461bcd02815260206004820152606060248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f7265203133352064617973206f66207374616b696e6720737461727460648201527f2074696d652c20506c656173652054727920416761696e204c61746572212121608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610fd557610eef6108fb8361157a565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610f5557600080fd5b505af1158015610f69573d6000803e3d6000fd5b505050506040513d6020811015610f7f57600080fd5b5050600082815260076020526040902054601054610fa29163ffffffff61229d16565b601055600082815260076020526040902054601354610fc69163ffffffff61229d16565b601355610a0b6109fc8361157a565b610fe16108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50506000828152600760205260409020546010546110949163ffffffff61229d16565b6010556000828152600760205260409020546013546110b89163ffffffff61229d16565b601355610b056109fc836114bd565b5060006106cc565b506001919050565b623b538081565b60006110e86122ff565b1515611140576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600c54611153908363ffffffff61223916565b600c556002546040805160e060020a6323b872dd028152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b505050506040513d60208110156111dd57600080fd5b5060019392505050565b6224cb6881565b600b5460009082111561124d576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526007602052604090205490565b600b5490565b62e0305281565b600f5490565b600061127d6122ff565b15156112d5576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b5060028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60105490565b600b5460009082111561136c576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526006602052604090205490565b600b546000908211156113de576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526008602052604090205460ff1690565b605a81565b6276a70081565b626e71a481565b60009081526009602052604090205490565b60135481565b60115481565b61142d6122ff565b1515611485576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600e805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b6000818152600660205260408120544210156110c7576000828152600a6020526040902054605a141561150d576000828152600760205260409020546305f5e100906224cb68025b0490506106cc565b6000828152600a602052604090205460b41415611543576000828152600760205260409020546305f5e10090626e71a402611505565b6000828152600a602052604090205461010e14156110c7576000828152600760205260409020546305f5e1009062e0305202611505565b6000818152600a6020526040812054605a14156115b0576000828152600760205260409020546305f5e10090623641df02611505565b6000828152600a602052604090205460b414156115e6576000828152600760205260409020546305f5e1009062a6671502611505565b6000828152600a602052604090205461010e14156110c7576000828152600760205260409020546305f5e1009063018ce1c502611505565b600e5460ff1681565b61162f6122ff565b1515611687576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600e805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b60105481565b61010e81565b600b54600090821115611727576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b50600090815260036020526040902054600160a060020a031690565b60125481565b600b546000908211156117a8576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b506000908152600a602052604090205490565b60b481565b6a14adf4b7320334b900000081565b60006117d96122ff565b1515611831576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600c5482106118b0576040805160e560020a62461bcd02815260206004820152602a60248201527f56616c7565206973206e6f74206665617369626c652c20506c6561736520547260448201527f7920416761696e21212100000000000000000000000000000000000000000000606482015290519081900360840190fd5b600c546118c3908363ffffffff61229d16565b600c556002546040805160e060020a63a9059cbb028152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b1580156111b357600080fd5b6060600160a060020a03821615156119a5576040805160e560020a62461bcd02815260206004820152602360248201527f496e76616c696420416464726573732c20506c6561652054727920416761696e60448201527f2121210000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821660009081526004602090815260409182902080548351818402810184019094528084529091830182828015611a0357602002820191906000526020600020905b8154815260200190600101908083116119ef575b50505050509050919050565b62b1fa8081565b600f5481565b63018ce1c581565b623641df81565b6000611a356122ff565b1515611a8d576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b62a6671581565b600c5490565b600054600160a060020a031690565b60008282828211611b5c576040805160e560020a62461bcd02815260206004820152602a60248201527f496e76616c696420546f6b656e20416d6f756e742c20506c656173652054727960448201527f20416761696e2121212000000000000000000000000000000000000000000000606482015290519081900360840190fd5b605a811480611b6b575060b481145b80611b77575061010e81145b1515611bf3576040805160e560020a62461bcd02815260206004820152602d60248201527f456e746572207468652056616c69642054696d6520506572696f6420616e642060448201527f54727920416761696e2021212100000000000000000000000000000000000000606482015290519081900360840190fd5b600e5460ff1615611c74576040805160e560020a62461bcd02815260206004820152603b60248201527f5374616b696e67206973205061757365642c20506c656173652074727920616660448201527f746572207374616b696e672067657420756e7061757365642121210000000000606482015290519081900360840190fd5b605a841415611e7a576011546a14adf4b7320334b900000090611c9d908763ffffffff61223916565b1115611cf3576040805160e560020a62461bcd02815260206004820152601b60248201527f536572656e69747920506f6f6c204c696d697420526561636865640000000000604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54611dbc908663ffffffff61223916565b600f55601054611dd2908663ffffffff61223916565b601055601154611de8908663ffffffff61223916565b6011556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b505af1158015611e5c573d6000803e3d6000fd5b505050506040513d6020811015611e7257600080fd5b5061222c9050565b60b484141561204e576012546a14adf4b7320334b900000090611ea3908763ffffffff61223916565b1115611ef9576040805160e560020a62461bcd02815260206004820152601e60248201527f457175696c69627269756d20506f6f6c204c696d697420526561636865640000604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54611fc2908663ffffffff61223916565b600f55601054611fd8908663ffffffff61223916565b601055601254611fee908663ffffffff61223916565b6012556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b61010e841415612223576013546a14adf4b7320334b900000090612078908763ffffffff61223916565b11156120ce576040805160e560020a62461bcd02815260206004820152601f60248201527f5472616e7175696c6c69747920506f6f6c204c696d6974205265616368656400604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54612197908663ffffffff61223916565b600f556010546121ad908663ffffffff61223916565b6010556013546121c3908663ffffffff61223916565b6013556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b60009250612231565b600192505b505092915050565b600082820183811015612296576040805160e560020a62461bcd02815260206004820152601d60248201527f43616c63756c6174696f6e206572726f7220696e206164646974696f6e000000604482015290519081900360640190fd5b9392505050565b600080838311156122f8576040805160e560020a62461bcd02815260206004820181905260248201527f43616c63756c6174696f6e206572726f7220696e207375627472616374696f6e604482015290519081900360640190fd5b5050900390565b600054600160a060020a03163314905600556e61626c6520746f2072657465726976652064617461206f6e207370656369666965642069642c20506c656173652074727920616761696e21210000000000596f7520617265206e6f742061757468656e74696361746520746f206d616b652074686973207472616e73666572000000000000000000000000000000000000a165627a7a72305820ac4fe51b8de9da5600f2a4c4deb4cd209f8a2fdcc0fa995a26fe626fb3ab0e5d0029
Deployed Bytecode
0x6080604052600436106102035763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663032f3b0981146102085780630a57336a146102325780630afd19211461025e5780632841a1431461027357806329bfd11f1461028b578063332a35d2146102a05780633e4ffb16146102b857806341521e33146102cd578063423eea07146102e2578063477bddaa146102f757806350ff92a91461031857806354439ad01461032d5780635673017a14610345578063572b42631461035d5780635d0d1f42146103725780635d5b8cab1461038757806360c2a3481461039c57806364d8c6c1146103b4578063731d2912146103c957806384698190146103de5780638586ca00146103f5578063863997b21461040d57806386c75e74146104255780638cc15d4f1461043a578063906459791461044f57806397e66ba2146104645780639d6c890d14610479578063a4cb6727146104ad578063b248c812146104c2578063b2a56b8f146104da578063b802e791146104ef578063b8c1fc3314610504578063b9f7549b1461051c578063c8a840af1461058d578063cb6d8ee6146105a2578063cc40c36d146105b7578063cf3e324c146105cc578063f2fde38b146105e1578063fa0bd08e14610602578063fa8eb78214610617578063fe0174bd1461062c578063ffab4bd914610641575b600080fd5b34801561021457600080fd5b5061022060043561065c565b60408051918252519081900360200190f35b34801561023e57600080fd5b5061024a6004356106d1565b604080519115158252519081900360200190f35b34801561026a57600080fd5b506102206110d7565b34801561027f57600080fd5b5061024a6004356110de565b34801561029757600080fd5b506102206111e7565b3480156102ac57600080fd5b506102206004356111ee565b3480156102c457600080fd5b50610220611260565b3480156102d957600080fd5b50610220611266565b3480156102ee57600080fd5b5061022061126d565b34801561030357600080fd5b5061024a600160a060020a0360043516611273565b34801561032457600080fd5b50610220611307565b34801561033957600080fd5b5061022060043561130d565b34801561035157600080fd5b5061024a60043561137f565b34801561036957600080fd5b506102206113f4565b34801561037e57600080fd5b506102206113f9565b34801561039357600080fd5b50610220611400565b3480156103a857600080fd5b50610220600435611407565b3480156103c057600080fd5b50610220611419565b3480156103d557600080fd5b5061022061141f565b3480156103ea57600080fd5b506103f3611425565b005b34801561040157600080fd5b506102206004356114bd565b34801561041957600080fd5b5061022060043561157a565b34801561043157600080fd5b5061024a61161e565b34801561044657600080fd5b506103f3611627565b34801561045b57600080fd5b506102206116bc565b34801561047057600080fd5b506102206116c2565b34801561048557600080fd5b506104916004356116c8565b60408051600160a060020a039092168252519081900360200190f35b3480156104b957600080fd5b50610220611743565b3480156104ce57600080fd5b50610220600435611749565b3480156104e657600080fd5b506102206117bb565b3480156104fb57600080fd5b506102206117c0565b34801561051057600080fd5b5061024a6004356117cf565b34801561052857600080fd5b5061053d600160a060020a036004351661191d565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610579578181015183820152602001610561565b505050509050019250505060405180910390f35b34801561059957600080fd5b50610220611a0f565b3480156105ae57600080fd5b50610220611a16565b3480156105c357600080fd5b50610220611a1c565b3480156105d857600080fd5b50610220611a24565b3480156105ed57600080fd5b5061024a600160a060020a0360043516611a2b565b34801561060e57600080fd5b50610220611abf565b34801561062357600080fd5b50610220611ac6565b34801561063857600080fd5b50610491611acc565b34801561064d57600080fd5b5061024a600435602435611adb565b600b546000908211156106bb576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b506000818152600560205260409020545b919050565b600081815260036020526040812054600160a060020a03163314610765576040805160e560020a62461bcd02815260206004820152602c60248201527f4e6f207374616b656420746f6b656e20666f756e64206f6e207468697320616460448201527f647265737320616e642049440000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281526008602052604090205460ff161515600114156107f7576040805160e560020a62461bcd02815260206004820152603760248201527f45697468657220746f6b656e732061726520616c72656164792077697468647260448201527f61776e206f7220626c6f636b65642062792061646d696e000000000000000000606482015290519081900360840190fd5b6000828152600a6020526040902054605a1415610b0e57600082815260056020526040902054623b5380014210156108c5576040805160e560020a62461bcd02815260206004820152605f60248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f72652034352064617973206f66207374616b696e672073746172742060648201527f74696d652c20506c656173652054727920416761696e204c6174657221212100608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610a13576109166108fb8361157a565b6000848152600760205260409020549063ffffffff61223916565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505050506040513d60208110156109a657600080fd5b50506000828152600760205260409020546010546109c99163ffffffff61229d16565b6010556000828152600760205260409020546011546109ed9163ffffffff61229d16565b601155610a0b6109fc8361157a565b600c549063ffffffff61229d16565b600c55610b09565b610a1f6108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b5050600082815260076020526040902054601054610ad29163ffffffff61229d16565b601055600082815260076020526040902054601154610af69163ffffffff61229d16565b601155610b056109fc836114bd565b600c555b6110cf565b6000828152600a602052604090205460b41415610dea576000828152600560205260409020546276a70001421015610bdc576040805160e560020a62461bcd02815260206004820152605f60248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f72652039302064617973206f66207374616b696e672073746172742060648201527f74696d652c20506c656173652054727920416761696e204c6174657221212100608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610cf857610c126108fb8361157a565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610c7857600080fd5b505af1158015610c8c573d6000803e3d6000fd5b505050506040513d6020811015610ca257600080fd5b5050600082815260076020526040902054601054610cc59163ffffffff61229d16565b601055600082815260076020526040902054601254610ce99163ffffffff61229d16565b601255610a0b6109fc8361157a565b610d046108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050506040513d6020811015610d9457600080fd5b5050600082815260076020526040902054601054610db79163ffffffff61229d16565b601055600082815260076020526040902054601254610ddb9163ffffffff61229d16565b601255610b056109fc836114bd565b6000828152600a602052604090205461010e14156110c75760008281526005602052604090205462b1fa8001421015610eb9576040805160e560020a62461bcd02815260206004820152606060248201527f556e61626c6520746f205769746864726177205374616b656420746f6b656e2060448201527f6265666f7265203133352064617973206f66207374616b696e6720737461727460648201527f2074696d652c20506c656173652054727920416761696e204c61746572212121608482015290519081900360a40190fd5b6000828152600860209081526040808320805460ff1916600117905560069091529020544210610fd557610eef6108fb8361157a565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b158015610f5557600080fd5b505af1158015610f69573d6000803e3d6000fd5b505050506040513d6020811015610f7f57600080fd5b5050600082815260076020526040902054601054610fa29163ffffffff61229d16565b601055600082815260076020526040902054601354610fc69163ffffffff61229d16565b601355610a0b6109fc8361157a565b610fe16108fb836114bd565b6000838152600960209081526040808320849055600254815160e060020a63a9059cbb02815233600482015260248101959095529051600160a060020a039091169363a9059cbb9360448083019493928390030190829087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50506000828152600760205260409020546010546110949163ffffffff61229d16565b6010556000828152600760205260409020546013546110b89163ffffffff61229d16565b601355610b056109fc836114bd565b5060006106cc565b506001919050565b623b538081565b60006110e86122ff565b1515611140576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600c54611153908363ffffffff61223916565b600c556002546040805160e060020a6323b872dd028152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b505050506040513d60208110156111dd57600080fd5b5060019392505050565b6224cb6881565b600b5460009082111561124d576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526007602052604090205490565b600b5490565b62e0305281565b600f5490565b600061127d6122ff565b15156112d5576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b5060028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60105490565b600b5460009082111561136c576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526006602052604090205490565b600b546000908211156113de576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b5060009081526008602052604090205460ff1690565b605a81565b6276a70081565b626e71a481565b60009081526009602052604090205490565b60135481565b60115481565b61142d6122ff565b1515611485576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600e805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b6000818152600660205260408120544210156110c7576000828152600a6020526040902054605a141561150d576000828152600760205260409020546305f5e100906224cb68025b0490506106cc565b6000828152600a602052604090205460b41415611543576000828152600760205260409020546305f5e10090626e71a402611505565b6000828152600a602052604090205461010e14156110c7576000828152600760205260409020546305f5e1009062e0305202611505565b6000818152600a6020526040812054605a14156115b0576000828152600760205260409020546305f5e10090623641df02611505565b6000828152600a602052604090205460b414156115e6576000828152600760205260409020546305f5e1009062a6671502611505565b6000828152600a602052604090205461010e14156110c7576000828152600760205260409020546305f5e1009063018ce1c502611505565b600e5460ff1681565b61162f6122ff565b1515611687576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600e805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b60105481565b61010e81565b600b54600090821115611727576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b50600090815260036020526040902054600160a060020a031690565b60125481565b600b546000908211156117a8576040805160e560020a62461bcd02815260206004820152603b60248201526000805160206123118339815191526044820152600080516020612331833981519152606482015290519081900360840190fd5b506000908152600a602052604090205490565b60b481565b6a14adf4b7320334b900000081565b60006117d96122ff565b1515611831576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b600c5482106118b0576040805160e560020a62461bcd02815260206004820152602a60248201527f56616c7565206973206e6f74206665617369626c652c20506c6561736520547260448201527f7920416761696e21212100000000000000000000000000000000000000000000606482015290519081900360840190fd5b600c546118c3908363ffffffff61229d16565b600c556002546040805160e060020a63a9059cbb028152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b1580156111b357600080fd5b6060600160a060020a03821615156119a5576040805160e560020a62461bcd02815260206004820152602360248201527f496e76616c696420416464726573732c20506c6561652054727920416761696e60448201527f2121210000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821660009081526004602090815260409182902080548351818402810184019094528084529091830182828015611a0357602002820191906000526020600020905b8154815260200190600101908083116119ef575b50505050509050919050565b62b1fa8081565b600f5481565b63018ce1c581565b623641df81565b6000611a356122ff565b1515611a8d576040805160e560020a62461bcd02815260206004820152602e60248201526000805160206123518339815191526044820152600080516020612371833981519152606482015290519081900360840190fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b62a6671581565b600c5490565b600054600160a060020a031690565b60008282828211611b5c576040805160e560020a62461bcd02815260206004820152602a60248201527f496e76616c696420546f6b656e20416d6f756e742c20506c656173652054727960448201527f20416761696e2121212000000000000000000000000000000000000000000000606482015290519081900360840190fd5b605a811480611b6b575060b481145b80611b77575061010e81145b1515611bf3576040805160e560020a62461bcd02815260206004820152602d60248201527f456e746572207468652056616c69642054696d6520506572696f6420616e642060448201527f54727920416761696e2021212100000000000000000000000000000000000000606482015290519081900360840190fd5b600e5460ff1615611c74576040805160e560020a62461bcd02815260206004820152603b60248201527f5374616b696e67206973205061757365642c20506c656173652074727920616660448201527f746572207374616b696e672067657420756e7061757365642121210000000000606482015290519081900360840190fd5b605a841415611e7a576011546a14adf4b7320334b900000090611c9d908763ffffffff61223916565b1115611cf3576040805160e560020a62461bcd02815260206004820152601b60248201527f536572656e69747920506f6f6c204c696d697420526561636865640000000000604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54611dbc908663ffffffff61223916565b600f55601054611dd2908663ffffffff61223916565b601055601154611de8908663ffffffff61223916565b6011556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b505af1158015611e5c573d6000803e3d6000fd5b505050506040513d6020811015611e7257600080fd5b5061222c9050565b60b484141561204e576012546a14adf4b7320334b900000090611ea3908763ffffffff61223916565b1115611ef9576040805160e560020a62461bcd02815260206004820152601e60248201527f457175696c69627269756d20506f6f6c204c696d697420526561636865640000604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54611fc2908663ffffffff61223916565b600f55601054611fd8908663ffffffff61223916565b601055601254611fee908663ffffffff61223916565b6012556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b61010e841415612223576013546a14adf4b7320334b900000090612078908763ffffffff61223916565b11156120ce576040805160e560020a62461bcd02815260206004820152601f60248201527f5472616e7175696c6c69747920506f6f6c204c696d6974205265616368656400604482015290519081900360640190fd5b426201518085028101600d908155600b805460019081018083556000908152600a602090815260408083208b90558454835260038252808320805473ffffffffffffffffffffffffffffffffffffffff19163390811790915583526004825280832085548154958601825590845282842090940193909355935483548252600685528282205582548152600584528181209490945581548452600783528084208990559054835260089091529020805460ff19169055600f54612197908663ffffffff61223916565b600f556010546121ad908663ffffffff61223916565b6010556013546121c3908663ffffffff61223916565b6013556002546040805160e060020a6323b872dd028152336004820152306024820152604481018890529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611e4857600080fd5b60009250612231565b600192505b505092915050565b600082820183811015612296576040805160e560020a62461bcd02815260206004820152601d60248201527f43616c63756c6174696f6e206572726f7220696e206164646974696f6e000000604482015290519081900360640190fd5b9392505050565b600080838311156122f8576040805160e560020a62461bcd02815260206004820181905260248201527f43616c63756c6174696f6e206572726f7220696e207375627472616374696f6e604482015290519081900360640190fd5b5050900390565b600054600160a060020a03163314905600556e61626c6520746f2072657465726976652064617461206f6e207370656369666965642069642c20506c656173652074727920616761696e21210000000000596f7520617265206e6f742061757468656e74696361746520746f206d616b652074686973207472616e73666572000000000000000000000000000000000000a165627a7a72305820ac4fe51b8de9da5600f2a4c4deb4cd209f8a2fdcc0fa995a26fe626fb3ab0e5d0029
Deployed Bytecode Sourcemap
2363:20780:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21817:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21817:228:0;;;;;;;;;;;;;;;;;;;;;15787:4735;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15787:4735:0;;;;;;;;;;;;;;;;;;;;;;;3118:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3118:73:0;;;;6928:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6928:216:0;;;;;4014:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4014:69:0;;;;22662:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22662:209:0;;;;;14104:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14104:98:0;;;;4315:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4315:70:0;;;;14252:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14252:95:0;;;;6369:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6369:158:0;-1:-1:-1;;;;;6369:158:0;;;;;20774:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20774:117:0;;;;22107:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22107:224:0;;;;;22922:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22922:216:0;;;;;2673:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2673:64:0;;;;3264:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3264:73:0;;;;4163:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4163:69:0;;;;20590:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20590:124:0;;;;;10034:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10034:53:0;;;;9821:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9821:49:0;;;;7701:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7701:97:0;;;;;;15066:673;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15066:673:0;;;;;14423:568;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14423:568:0;;;;;9541:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9541:31:0;;;;7844:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7844:102:0;;;;9720:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9720:45:0;;;;2968:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2968:65:0;;;;21278:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21278:225:0;;;;;;;;;-1:-1:-1;;;;;21278:225:0;;;;;;;;;;;;;;9926:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9926:52:0;;;;22392:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22392:221:0;;;;;2819:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2819:65:0;;;;4468:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4468:71:0;;;;7210:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7210:296:0;;;;;21561:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21561:192:0;-1:-1:-1;;;;;21561:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;21561:192:0;;;;;;;;;;;;;;;;;3413:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3413:74:0;;;;9627:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9627:35:0;;;;3862:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3862:70:0;;;;3563:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:69:0;;;;5646:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5646:129:0;-1:-1:-1;;;;;5646:129:0;;;;;3711:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3711:70:0;;;;7561:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7561:94:0;;;;5100:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5100:78:0;;;;10890:3162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10890:3162:0;;;;;;;21817:228;21918:18;;21889:7;;21912:24;;;21904:95;;;;;-1:-1:-1;;;;;21904:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;21904:95:0;;;;-1:-1:-1;;;;;;;;;;;21904:95:0;;;;;;;;;;;;;;;-1:-1:-1;22013:26:0;;;;:22;:26;;;;;;21817:228;;;;:::o;15787:4735::-;15851:4;15872:31;;;:20;:31;;;;;;-1:-1:-1;;;;;15872:31:0;15907:10;15872:45;15864:101;;;;;-1:-1:-1;;;;;15864:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15980:34;;;;:23;:34;;;;;;;;:42;;:34;:42;;15972:109;;;;;-1:-1:-1;;;;;15972:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16091:26;;;;:15;:26;;;;;;2735:2;16091:45;16088:4411;;;16165:33;;;;:22;:33;;;;;;3180:11;16165:58;16158:3;:65;;16150:173;;;;;-1:-1:-1;;;;;16150:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16336:34;;;;:23;:34;;;;;;;;:41;;-1:-1:-1;;16336:41:0;16373:4;16336:41;;;16400:20;:31;;;;;;16393:3;:38;16390:1130;;16487:72;16515:43;16548:9;16515:32;:43::i;:::-;16487:23;;;;:12;:23;;;;;;;:72;:27;:72;:::i;:::-;16449:35;;;;:24;:35;;;;;;;;:110;;;16576:6;;:63;;-1:-1:-1;;;;;16576:63:0;;16592:10;16576:63;;;;;;;;;;;;;-1:-1:-1;;;;;16576:6:0;;;;:15;;:63;;;;;16449:35;16576:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;16576:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16576:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;16716:23:0;;;;:12;16576:63;16716:23;;;;;16685:26;;:55;;;:30;:55;:::i;:::-;16656:26;:84;16825:23;;;;:12;:23;;;;;;16790:30;;:59;;;:34;:59;:::i;:::-;16757:30;:92;16889:69;16914:43;16947:9;16914:32;:43::i;:::-;16889:20;;;:69;:24;:69;:::i;:::-;16866:20;:92;16390:1130;;;17033:72;17061:43;17094:9;17061:32;:43::i;17033:72::-;16995:35;;;;:24;:35;;;;;;;;:110;;;17122:6;;:63;;-1:-1:-1;;;;;17122:63:0;;17138:10;17122:63;;;;;;;;;;;;;-1:-1:-1;;;;;17122:6:0;;;;:15;;:63;;;;;16995:35;17122:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;17122:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17122:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;17262:23:0;;;;:12;17122:63;17262:23;;;;;17231:26;;:55;;;:30;:55;:::i;:::-;17202:26;:84;17371:23;;;;:12;:23;;;;;;17336:30;;:59;;;:34;:59;:::i;:::-;17303:30;:92;17435:69;17460:43;17493:9;17460:32;:43::i;17435:69::-;17412:20;:92;16390:1130;16088:4411;;;17536:26;;;;:15;:26;;;;;;2881:3;17536:48;17533:2966;;;17613:33;;;;:22;:33;;;;;;3326:11;17613:61;17606:3;:68;;17598:176;;;;;-1:-1:-1;;;;;17598:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17787:34;;;;:23;:34;;;;;;;;:41;;-1:-1:-1;;17787:41:0;17824:4;17787:41;;;17851:20;:31;;;;;;17844:3;:38;17841:1142;;17938:72;17966:43;17999:9;17966:32;:43::i;17938:72::-;17900:35;;;;:24;:35;;;;;;;;:110;;;18027:6;;:63;;-1:-1:-1;;;;;18027:63:0;;18043:10;18027:63;;;;;;;;;;;;;-1:-1:-1;;;;;18027:6:0;;;;:15;;:63;;;;;17900:35;18027:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;18027:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18027:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;18167:23:0;;;;:12;18027:63;18167:23;;;;;18136:26;;:55;;;:30;:55;:::i;:::-;18107:26;:84;18282:23;;;;:12;:23;;;;;;18244:33;;:62;;;:37;:62;:::i;:::-;18208:33;:98;18346:69;18371:43;18404:9;18371:32;:43::i;17841:1142::-;18490:72;18518:43;18551:9;18518:32;:43::i;18490:72::-;18452:35;;;;:24;:35;;;;;;;;:110;;;18579:6;;:63;;-1:-1:-1;;;;;18579:63:0;;18595:10;18579:63;;;;;;;;;;;;;-1:-1:-1;;;;;18579:6:0;;;;:15;;:63;;;;;18452:35;18579:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;18579:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18579:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;18719:23:0;;;;:12;18579:63;18719:23;;;;;18688:26;;:55;;;:30;:55;:::i;:::-;18659:26;:84;18834:23;;;;:12;:23;;;;;;18796:33;;:62;;;:37;:62;:::i;:::-;18760:33;:98;18898:69;18923:43;18956:9;18923:32;:43::i;17533:2966::-;18999:26;;;;:15;:26;;;;;;3030:3;18999:49;18996:1503;;;19077:33;;;;:22;:33;;;;;;3475:12;19077:62;19070:3;:69;;19062:178;;;;;-1:-1:-1;;;;;19062:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19253:34;;;;:23;:34;;;;;;;;:41;;-1:-1:-1;;19253:41:0;19290:4;19253:41;;;19317:20;:31;;;;;;19310:3;:38;19307:1146;;19404:72;19432:43;19465:9;19432:32;:43::i;19404:72::-;19366:35;;;;:24;:35;;;;;;;;:110;;;19493:6;;:63;;-1:-1:-1;;;;;19493:63:0;;19509:10;19493:63;;;;;;;;;;;;;-1:-1:-1;;;;;19493:6:0;;;;:15;;:63;;;;;19366:35;19493:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;19493:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19493:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19633:23:0;;;;:12;19493:63;19633:23;;;;;19602:26;;:55;;;:30;:55;:::i;:::-;19573:26;:84;19750:23;;;;:12;:23;;;;;;19711:34;;:63;;;:38;:63;:::i;:::-;19674:34;:100;19814:69;19839:43;19872:9;19839:32;:43::i;19307:1146::-;19958:72;19986:43;20019:9;19986:32;:43::i;19958:72::-;19920:35;;;;:24;:35;;;;;;;;:110;;;20047:6;;:63;;-1:-1:-1;;;;;20047:63:0;;20063:10;20047:63;;;;;;;;;;;;;-1:-1:-1;;;;;20047:6:0;;;;:15;;:63;;;;;19920:35;20047:63;;;;;;;;:6;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;20047:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20047:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;20187:23:0;;;;:12;20047:63;20187:23;;;;;20156:26;;:55;;;:30;:55;:::i;:::-;20127:26;:84;20304:23;;;;:12;:23;;;;;;20265:34;;:63;;;:38;:63;:::i;:::-;20228:34;:100;20368:69;20393:43;20426:9;20393:32;:43::i;18996:1503::-;-1:-1:-1;20484:5:0;20477:12;;18996:1503;-1:-1:-1;20512:4:0;15787:4735;;;:::o;3118:73::-;3180:11;3118:73;:::o;6928:216::-;6994:4;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;7029:20;;:31;;7054:5;7029:31;:24;:31;:::i;:::-;7006:20;:54;7067:6;;:53;;;-1:-1:-1;;;;;7067:53:0;;7087:10;7067:53;;;;7107:4;7067:53;;;;;;;;;;;;-1:-1:-1;;;;;7067:6:0;;;;:19;;:53;;;;;;;;;;;;;;;:6;;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;7067:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7067:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7134:4:0;;6928:216;-1:-1:-1;;;6928:216:0:o;4014:69::-;4076:7;4014:69;:::o;22662:209::-;22754:18;;22725:7;;22748:24;;;22740:95;;;;;-1:-1:-1;;;;;22740:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22740:95:0;;;;-1:-1:-1;;;;;;;;;;;22740:95:0;;;;;;;;;;;;;;;-1:-1:-1;22849:16:0;;;;:12;:16;;;;;;;22662:209::o;14104:98::-;14178:18;;14104:98;:::o;4315:70::-;4377:8;4315:70;:::o;14252:95::-;14325:16;;14252:95;:::o;6369:158::-;6454:4;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;-1:-1:-1;6466:6:0;:37;;-1:-1:-1;;;;;6466:37:0;;-1:-1:-1;;6466:37:0;;;;;;;6369:158;;;:::o;20774:117::-;20859:26;;20774:117;:::o;22107:224::-;22206:18;;22177:7;;22200:24;;;22192:95;;;;;-1:-1:-1;;;;;22192:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22192:95:0;;;;-1:-1:-1;;;;;;;;;;;22192:95:0;;;;;;;;;;;;;;;-1:-1:-1;22301:24:0;;;;:20;:24;;;;;;;22107:224::o;22922:216::-;23010:18;;22984:4;;23004:24;;;22996:95;;;;;-1:-1:-1;;;;;22996:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22996:95:0;;;;-1:-1:-1;;;;;;;;;;;22996:95:0;;;;;;;;;;;;;;;-1:-1:-1;23105:27:0;;;;:23;:27;;;;;;;;;22922:216::o;2673:64::-;2735:2;2673:64;:::o;3264:73::-;3326:11;3264:73;:::o;4163:69::-;4225:7;4163:69;:::o;20590:124::-;20658:7;20680:28;;;:24;:28;;;;;;;20590:124::o;10034:53::-;;;;:::o;9821:49::-;;;;:::o;7701:97::-;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;7754:11;:18;;-1:-1:-1;;7754:18:0;7768:4;7754:18;;;7784:8;;;;7754:11;;7784:8;7701:97::o;15066:673::-;15140:7;15158:24;;;:20;:24;;;;;;15185:3;-1:-1:-1;15155:579:0;;;15203:19;;;;:15;:19;;;;;;2735:2;15203:36;15200:495;;;15263:16;;;;:12;:16;;;;;;15311:9;;4076:7;15263:47;:57;;15255:66;;;;15200:495;15342:19;;;;:15;:19;;;;;;2881:3;15342:41;15339:356;;;15410:16;;;;:12;:16;;;;;;15461:9;;4225:7;15410:50;:60;;15339:356;15494:19;;;;:15;:19;;;;;;3030:3;15494:42;15491:204;;;15566:16;;;;:12;:16;;;;;;15618:9;;4377:8;15566:51;:61;;14423:568;14497:7;14515:19;;;:15;:19;;;;;;2735:2;14515:38;14512:474;;;14574:16;;;;:12;:16;;;;;;14621:9;;3625:7;14574:46;:56;;14512:474;14648:19;;;;:15;:19;;;;;;2881:3;14648:41;14645:341;;;14717:16;;;;:12;:16;;;;;;14767:9;;3773:8;14717:49;:59;;14645:341;14796:19;;;;:15;:19;;;;;;3030:3;14796:42;14793:193;;;14869:16;;;;:12;:16;;;;;;14920:9;;3924:8;14869:50;:60;;9541:31;;;;;;:::o;7844:102::-;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;7899:11;:19;;-1:-1:-1;;7899:19:0;;;7930:10;;;;7913:5;;7930:10;7844:102::o;9720:45::-;;;;:::o;2968:65::-;3030:3;2968:65;:::o;21278:225::-;21378:18;;21349:7;;21372:24;;;21364:95;;;;;-1:-1:-1;;;;;21364:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;21364:95:0;;;;-1:-1:-1;;;;;;;;;;;21364:95:0;;;;;;;;;;;;;;;-1:-1:-1;21473:24:0;;;;:20;:24;;;;;;-1:-1:-1;;;;;21473:24:0;;21278:225::o;9926:52::-;;;;:::o;22392:221::-;22493:18;;22464:7;;22487:24;;;22479:95;;;;;-1:-1:-1;;;;;22479:95:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22479:95:0;;;;-1:-1:-1;;;;;;;;;;;22479:95:0;;;;;;;;;;;;;;;-1:-1:-1;22588:19:0;;;;:15;:19;;;;;;;22392:221::o;2819:65::-;2881:3;2819:65;:::o;4468:71::-;4522:17;4468:71;:::o;7210:296::-;7286:4;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;7314:20;;7306:28;;7298:82;;;;;-1:-1:-1;;;;;7298:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7410:20;;:31;;7435:5;7410:31;:24;:31;:::i;:::-;7387:20;:54;7448:6;;:34;;;-1:-1:-1;;;;;7448:34:0;;7464:10;7448:34;;;;;;;;;;;;-1:-1:-1;;;;;7448:6:0;;;;:15;;:34;;;;;;;;;;;;;;;:6;;:34;;;5:2:-1;;;;30:1;27;20:12;21561:192:0;21632:9;-1:-1:-1;;;;;21657:17:0;;;;21649:64;;;;;-1:-1:-1;;;;;21649:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21727:20:0;;;;;;:15;:20;;;;;;;;;21720:27;;;;;;;;;;;;;;;;;21727:20;;21720:27;;21727:20;21720:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21561:192;;;:::o;3413:74::-;3475:12;3413:74;:::o;9627:35::-;;;;:::o;3862:70::-;3924:8;3862:70;:::o;3563:69::-;3625:7;3563:69;:::o;5646:129::-;5717:4;5297:9;:7;:9::i;:::-;5289:67;;;;;;;-1:-1:-1;;;;;5289:67:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;-1:-1:-1;;;;;;;;;;;5289:67:0;;;;;;;;;;;;;;;-1:-1:-1;5731:6:0;:17;;-1:-1:-1;;;;;5731:17:0;;-1:-1:-1;;5731:17:0;;;;;;;5646:129;;;:::o;3711:70::-;3773:8;3711:70;:::o;7561:94::-;7629:20;;7561:94;:::o;5100:78::-;5141:7;5165:6;-1:-1:-1;;;;;5165:6:0;5100:78;:::o;10890:3162::-;10985:4;10963:6;10971:4;10238:10;;;10230:65;;;;;-1:-1:-1;;;;;10230:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:2;10310:10;:29;:65;;;;2881:3;10343:10;:32;10310:65;:102;;;;3030:3;10379:10;:33;10310:102;10302:160;;;;;;;-1:-1:-1;;;;;10302:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:11;;;;:20;10997:92;;;;;-1:-1:-1;;;;;10997:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:2;11099:4;:23;11096:2933;;;11142:30;;4522:17;;11142:42;;11177:6;11142:42;:34;:42;:::i;:::-;:60;;11134:100;;;;;-1:-1:-1;;;;;11134:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11258:3;11272:6;11265:13;;11258:21;;11245:10;:34;;;11311:18;;;11331:1;11311:21;;;11290:42;;;-1:-1:-1;11343:35:0;;;:15;:35;;;;;;;;:42;;;11417:18;;11396:40;;:20;:40;;;;;:53;;-1:-1:-1;;11396:53:0;11439:10;11396:53;;;;;;11460:27;;:15;:27;;;;;11493:18;;27:10:-1;;23:18;;;45:23;;11460:52:0;;;;;;;;;;;;;11566:10;;11544:18;;11523:40;;:20;:40;;;;;:53;11610:18;;11587:42;;:22;:42;;;;;:48;;;;11659:18;;11646:32;;:12;:32;;;;;:41;;;11722:18;;11698:43;;:23;:43;;;;;:51;;-1:-1:-1;;11698:51:0;;;11779:16;;:28;;11681:6;11779:28;:20;:28;:::i;:::-;11760:16;:47;11847:26;;:38;;11878:6;11847:38;:30;:38;:::i;:::-;11818:26;:67;11929:30;;:42;;11964:6;11929:42;:34;:42;:::i;:::-;11896:30;:75;11982:6;;:54;;;-1:-1:-1;;;;;11982:54:0;;12002:10;11982:54;;;;12022:4;11982:54;;;;;;;;;;;;-1:-1:-1;;;;;11982:6:0;;;;:19;;:54;;;;;;;;;;;;;;;:6;;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;11982:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11982:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11096:2933:0;;-1:-1:-1;11096:2933:0;;2881:3;12054:4;:26;12050:1979;;;12101:33;;4522:17;;12101:45;;12139:6;12101:45;:37;:45;:::i;:::-;:63;;12093:106;;;;;-1:-1:-1;;;;;12093:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12223:3;12237:6;12230:13;;12223:21;;12210:10;:34;;;12276:18;;;12296:1;12276:21;;;12255:42;;;-1:-1:-1;12308:35:0;;;:15;:35;;;;;;;;:42;;;12382:18;;12361:40;;:20;:40;;;;;:53;;-1:-1:-1;;12361:53:0;12404:10;12361:53;;;;;;12425:27;;:15;:27;;;;;12458:18;;27:10:-1;;23:18;;;45:23;;12425:52:0;;;;;;;;;;;;;12531:10;;12509:18;;12488:40;;:20;:40;;;;;:53;12575:18;;12552:42;;:22;:42;;;;;:48;;;;12624:18;;12611:32;;:12;:32;;;;;:41;;;12687:18;;12663:43;;:23;:43;;;;;:51;;-1:-1:-1;;12663:51:0;;;12744:16;;:28;;12646:6;12744:28;:20;:28;:::i;:::-;12725:16;:47;12812:26;;:38;;12843:6;12812:38;:30;:38;:::i;:::-;12783:26;:67;12897:33;;:45;;12935:6;12897:45;:37;:45;:::i;:::-;12861:33;:81;12953:6;;:54;;;-1:-1:-1;;;;;12953:54:0;;12973:10;12953:54;;;;12993:4;12953:54;;;;;;;;;;;;-1:-1:-1;;;;;12953:6:0;;;;:19;;:54;;;;;;;;;;;;;;;:6;;:54;;;5:2:-1;;;;30:1;27;20:12;12050:1979:0;3030:3;13024:4;:27;13021:1008;;;13072:34;;4522:17;;13072:46;;13111:6;13072:46;:38;:46;:::i;:::-;:64;;13064:108;;;;;-1:-1:-1;;;;;13064:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13196:3;13210:6;13203:13;;13196:21;;13183:10;:34;;;13249:18;;;13269:1;13249:21;;;13228:42;;;-1:-1:-1;13281:35:0;;;:15;:35;;;;;;;;:42;;;13355:18;;13334:40;;:20;:40;;;;;:53;;-1:-1:-1;;13334:53:0;13377:10;13334:53;;;;;;13398:27;;:15;:27;;;;;13431:18;;27:10:-1;;23:18;;;45:23;;13398:52:0;;;;;;;;;;;;;13504:10;;13482:18;;13461:40;;:20;:40;;;;;:53;13548:18;;13525:42;;:22;:42;;;;;:48;;;;13597:18;;13584:32;;:12;:32;;;;;:41;;;13660:18;;13636:43;;:23;:43;;;;;:51;;-1:-1:-1;;13636:51:0;;;13717:16;;:28;;13619:6;13717:28;:20;:28;:::i;:::-;13698:16;:47;13785:26;;:38;;13816:6;13785:38;:30;:38;:::i;:::-;13756:26;:67;13871:34;;:46;;13910:6;13871:46;:38;:46;:::i;:::-;13834:34;:83;13928:6;;:54;;;-1:-1:-1;;;;;13928:54:0;;13948:10;13928:54;;;;13968:4;13928:54;;;;;;;;;;;;-1:-1:-1;;;;;13928:6:0;;;;:19;;:54;;;;;;;;;;;;;;;:6;;:54;;;5:2:-1;;;;30:1;27;20:12;13021:1008:0;14014:5;14007:12;;;;13021:1008;14042:4;14035:11;;10469:1;10890:3162;;;;;;:::o;1276:179::-;1334:7;1365:5;;;1389:6;;;;1381:47;;;;;-1:-1:-1;;;;;1381:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1446:1;1276:179;-1:-1:-1;;;1276:179:0:o;1008:182::-;1066:7;;1093:6;;;;1085:50;;;;;-1:-1:-1;;;;;1085:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1158:5:0;;;1008:182::o;5436:91::-;5478:4;5514:6;-1:-1:-1;;;;;5514:6:0;5500:10;:20;;5436:91::o
Swarm Source
bzzr://ac4fe51b8de9da5600f2a4c4deb4cd209f8a2fdcc0fa995a26fe626fb3ab0e5d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000193 | 3,799,896.6008 | $731.97 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.