Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 3,977 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 10741419 | 1632 days ago | IN | 0 ETH | 0.00568817 | ||||
Transfer | 10659362 | 1645 days ago | IN | 0 ETH | 0.01082436 | ||||
Transfer | 10566822 | 1659 days ago | IN | 0 ETH | 0.00320271 | ||||
Transfer | 10457001 | 1676 days ago | IN | 0 ETH | 0.00121274 | ||||
Transfer | 10456996 | 1676 days ago | IN | 0 ETH | 0.03663889 | ||||
Transfer And Loc... | 10449098 | 1677 days ago | IN | 0 ETH | 0.00442373 | ||||
Transfer | 10437397 | 1679 days ago | IN | 0 ETH | 0.00069966 | ||||
Transfer | 10435458 | 1679 days ago | IN | 0 ETH | 0.02035494 | ||||
Transfer And Loc... | 10431014 | 1680 days ago | IN | 0 ETH | 0.00544459 | ||||
Transfer And Loc... | 10429961 | 1680 days ago | IN | 0 ETH | 0.00465058 | ||||
Transfer And Loc... | 10429617 | 1680 days ago | IN | 0 ETH | 0.0051043 | ||||
Transfer And Loc... | 10424574 | 1681 days ago | IN | 0 ETH | 0.00578426 | ||||
Transfer And Loc... | 10423199 | 1681 days ago | IN | 0 ETH | 0.00465058 | ||||
Transfer | 10423031 | 1681 days ago | IN | 0 ETH | 0.00222835 | ||||
Transfer And Loc... | 10403829 | 1684 days ago | IN | 0 ETH | 0.00476401 | ||||
Transfer | 10398557 | 1685 days ago | IN | 0 ETH | 0.00058305 | ||||
Transfer | 10398488 | 1685 days ago | IN | 0 ETH | 0.02035494 | ||||
Transfer And Loc... | 10378929 | 1688 days ago | IN | 0 ETH | 0.00555802 | ||||
Transfer And Loc... | 10378020 | 1688 days ago | IN | 0 ETH | 0.00567145 | ||||
Transfer And Loc... | 10372861 | 1689 days ago | IN | 0 ETH | 0.00567145 | ||||
Transfer And Loc... | 10364967 | 1690 days ago | IN | 0 ETH | 0.00555802 | ||||
Transfer And Loc... | 10360591 | 1691 days ago | IN | 0 ETH | 0.0051043 | ||||
Transfer And Loc... | 10359930 | 1691 days ago | IN | 0 ETH | 0.00453716 | ||||
Transfer | 10359144 | 1691 days ago | IN | 0 ETH | 0.00234564 | ||||
Transfer And Loc... | 10358442 | 1691 days ago | IN | 0 ETH | 0.00385658 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
AladinCoin
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-04-01 */ pragma solidity ^0.5.2; /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @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) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); 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); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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); 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); 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); return a % b; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) public _balances; mapping (address => mapping (address => uint256)) private _allowed; uint256 private _totalSupply; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev Gets the balance of the specified address. * @param owner The address to query the balance of. * @return A uint256 representing the amount owned by the passed address. */ function balanceOf(address owner) public view returns (uint256) { return _balances[owner]; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param owner address The address which owns the funds. * @param spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowed[owner][spender]; } /** * @dev Transfer token to a specified address * @param to The address to transfer to. * @param value The amount to be transferred. */ function transfer(address to, uint256 value) public returns (bool) { _transfer(msg.sender, to, value); return true; } function transfeFromOwner(address owner,address to, uint256 value) public returns (bool) { _transfer(owner, to, value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev Transfer tokens from one address to another. * Note that while this function emits an Approval event, this is not required as per the specification, * and other compliant implementations may not emit the event. * @param from address The address which you want to send tokens from * @param to address The address which you want to transfer to * @param value uint256 the amount of tokens to be transferred */ function transferFrom(address from, address to, uint256 value) public returns (bool) { _transfer(from, to, value); _approve(from, msg.sender, _allowed[from][msg.sender].sub(value)); return true; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * Emits an Approval event. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue)); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when _allowed[msg.sender][spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * Emits an Approval event. * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Transfer token for a specified addresses * @param from The address to transfer from. * @param to The address to transfer to. * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal { //require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } /** * @dev Internal function that mints an amount of the token and assigns it to * an account. This encapsulates the modification of balances such that the * proper events are emitted. * @param account The account that will receive the created tokens. * @param value The amount that will be created. */ function _mint(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); } /** * @dev Internal function that burns an amount of the token of a given * account. * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burn(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Approve an address to spend another addresses' tokens. * @param owner The address that owns the tokens. * @param spender The address that will spend the tokens. * @param value The number of tokens that can be spent. */ function _approve(address owner, address spender, uint256 value) internal { require(spender != address(0)); require(owner != address(0)); _allowed[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Internal function that burns an amount of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * Emits an Approval event (reflecting the reduced allowance). * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burnFrom(address account, uint256 value) internal { _burn(account, value); _approve(account, msg.sender, _allowed[account][msg.sender].sub(value)); } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @return the address of the owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner()); _; } /** * @return true if `msg.sender` is the owner of the contract. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Allows the current owner to relinquish control of the contract. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. * @notice Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title ERC20Detailed token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } /** * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } } contract AladinCoin is ERC20, Ownable, ERC20Detailed { uint public initialSupply = 4750000000; mapping (address => uint256) public freezeList; mapping (address => uint256) public whiteList; mapping (address => LockItem[]) public lockList; mapping (address => LockItemByTime[]) public lockListByTime; mapping (uint8 => uint256) public priceList; mapping(address => uint256) public addrs; uint256 currentRound=0; uint256 currentPrice = 0; uint8 count =0; struct LockItem { uint256 round; uint256 amount; } struct LockItemByTime { uint256 time; uint256 amount; } function nextRound() public onlyOwner{ if(currentRound <= 70) { currentRound += 1; } } function previousRound() public onlyOwner{ if(currentRound >=1) { currentRound -= 1; } } function getCurrentRound() public view returns (uint256) { return currentRound; } function setPrice(uint256 _price) public onlyOwner { currentPrice = _price; } function getCurrentPrice() public view returns (uint256 _price) { return currentPrice; } constructor() public ERC20Detailed("ALADIN", "ALA", 8) { _mint(msg.sender, initialSupply*100000000); } function isLocked(address lockedAddress) public view returns (bool isLockedAddress) { if(lockList[lockedAddress].length>0) { for(uint i=0; i< lockList[lockedAddress].length; i++) { if(lockList[lockedAddress][i].round <= 11) return true; } } return false; } function transfer(address _receiver, uint256 _amount) public returns (bool success) { uint256 remain = balanceOf(msg.sender).sub(_amount); require(remain>=getLockedAmount(msg.sender)); return ERC20.transfer(_receiver, _amount); } function getTokenAmount(uint256 _amount) public view returns(uint256) { return _amount/currentPrice; } // Founder function round0(address _receiver, uint256 _amount) public onlyOwner { for(uint256 i=12;i<70;i++) { transferAndLock(_receiver, _amount*17/10*1/100,i); } transferAndLock(_receiver, _amount*14/10*1/100,70); count +=1; } // Co_Founder function round1(address _receiver, uint256 _amount) public { // uint256 amount = getTokenAmount(_amount); require(balanceOf(owner()) >= _amount); transferAndLock(_receiver, _amount*3/100,3); for(uint i=4;i<=12;i++) { transferAndLock(_receiver, _amount*19/10*1/100,i); } for(uint j=13;j<=59;j++) { transferAndLock(_receiver, _amount*17/10*1/100,j); } } // Angel function round2(address _receiver, uint256 _amount) public { // uint256 amount = getTokenAmount(_amount); require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*38/10*1/100,4); for(uint i=5;i<=12;i++) { transferAndLock(_receiver, _amount*238/100*1/100,i); } for(uint j=13;j<=47;j++) { transferAndLock(_receiver, _amount*216/100*1/100,j); } transferAndLock(_receiver,_amount*156/100*1/100,48); } // Seria A function round3(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*46/10*1/100, 5); for(uint i=6;i<=12;i++) { transferAndLock(_receiver, _amount*29/10*1/100,i); } for(uint j=13;j<=40;j++) { transferAndLock(_receiver, _amount*261/100*1/100,j); } transferAndLock(_receiver,_amount*202/100*1/100,41); } // Seria B function round4(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*5/100, 6); for(uint i=7;i<=12;i++) { transferAndLock(_receiver, _amount*3/100,i); } for(uint j=13;j<=36;j++) { transferAndLock(_receiver, _amount*31/10*1/100,j); } transferAndLock(_receiver,_amount*26/10*1/100,37); } // Seria C function round5(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*62/10*1/100, 7); for(uint i=8;i<=12;i++) { transferAndLock(_receiver, _amount*39/10*1/100,i); } for(uint j=13;j<=33;j++) { transferAndLock(_receiver, _amount*352/100*1/100,j); } transferAndLock(_receiver,_amount*38/100*1/100,34); } // Seria D function round6(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*7/100, 8); for(uint i=9;i<=12;i++) { transferAndLock(_receiver, _amount*44/10*1/100,i); } for(uint j=13;j<=30;j++) { transferAndLock(_receiver, _amount*398/100*1/100,j); } transferAndLock(_receiver,_amount*376/100*1/100,31); } // Seria E function round7(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*78/10*1/100, 9); for(uint i=10;i<=12;i++) { transferAndLock(_receiver, _amount*488/100*1/100,i); } for(uint j=13;j<=29;j++) { transferAndLock(_receiver, _amount*443/100*1/100,j); } transferAndLock(_receiver,_amount*225/100*1/100,30); } // Seria F function round8(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*86/10*1/100, 10); for(uint i=11;i<=12;i++) { transferAndLock(_receiver, _amount*538/100*1/100,i); } for(uint j=13;j<=28;j++) { transferAndLock(_receiver, _amount*489/100*1/100,j); } transferAndLock(_receiver,_amount*24/10*1/100,29); } // Seria G function round9(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*94/10*1/100, 11); transferAndLock(_receiver, _amount*588/100*1/100,12); for(uint j=13;j<=27;j++) { transferAndLock(_receiver, _amount*534/100*1/100,j); } transferAndLock(_receiver,_amount*462/100*1/100,28); } // Pre_IPO function round10(address _receiver, uint256 _amount) public { require(balanceOf(owner()) >= _amount); transferAndLock(_receiver,_amount*102/10*1/100, 12); for(uint j=13;j<=27;j++) { transferAndLock(_receiver, _amount*58/10*1/100,j); } transferAndLock(_receiver,_amount*28/10*1/100,28); } function transferAndLock(address _receiver, uint256 _amount, uint256 _round) public returns (bool success) { transfeFromOwner(owner(),_receiver,_amount); LockItem memory item = LockItem({amount:_amount, round:_round}); lockList[_receiver].push(item); return true; } function getLockedListSize(address lockedAddress) public view returns(uint256 _lenght) { return lockList[lockedAddress].length; } function getLockedAmountAtRound(address lockedAddress,uint8 _round) public view returns(uint256 _amount) { uint256 lockedAmount =0; for(uint256 j = 0;j<getLockedListSize(lockedAddress);j++) { uint256 round = getLockedTimeAt(lockedAddress,j); if(round==_round) { uint256 temp = getLockedAmountAt(lockedAddress,j); lockedAmount += temp; } } return lockedAmount; } function getLockedAmountAt(address lockedAddress, uint256 index) public view returns(uint256 _amount) { return lockList[lockedAddress][index].amount; } function getLockedTimeAt(address lockedAddress, uint256 index) public view returns(uint256 _time) { return lockList[lockedAddress][index].round; } function getLockedAmount(address lockedAddress) public view returns(uint256 _amount) { uint256 lockedAmount =0; for(uint256 j = 0;j<getLockedListSize(lockedAddress);j++) { uint256 round = getLockedTimeAt(lockedAddress,j); if(round>currentRound) { uint256 temp = getLockedAmountAt(lockedAddress,j); lockedAmount += temp; } } return lockedAmount; } function () payable external { revert(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addrs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"freezeList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentPrice","outputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"}],"name":"getLockedAmount","outputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getLockedAmountAt","outputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"},{"internalType":"uint8","name":"_round","type":"uint8"}],"name":"getLockedAmountAtRound","outputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"}],"name":"getLockedListSize","outputs":[{"internalType":"uint256","name":"_lenght","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getLockedTimeAt","outputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"lockedAddress","type":"address"}],"name":"isLocked","outputs":[{"internalType":"bool","name":"isLockedAddress","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockList","outputs":[{"internalType":"uint256","name":"round","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockListByTime","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"nextRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"previousRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"priceList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round0","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round10","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round4","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round5","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round6","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round7","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round8","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"round9","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfeFromOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_round","type":"uint256"}],"name":"transferAndLock","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whiteList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405264011b1f3f806007556000600e556000600f556000601060006101000a81548160ff021916908360ff1602179055503480156200004057600080fd5b506040518060400160405280600681526020017f414c4144494e00000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f414c410000000000000000000000000000000000000000000000000000000000815250600833600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38260049080519060200190620001859291906200035e565b5081600590805190602001906200019e9291906200035e565b5080600660006101000a81548160ff021916908360ff160217905550505050620001d7336305f5e10060075402620001dd60201b60201c565b6200040d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200021857600080fd5b62000234816002546200033e60201b62002bdd1790919060201c565b60028190555062000292816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200033e60201b62002bdd1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156200035457600080fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003a157805160ff1916838001178555620003d2565b82800160010185558215620003d2579182015b82811115620003d1578251825591602001919060010190620003b4565b5b509050620003e19190620003e5565b5090565b6200040a91905b8082111562000406576000816000905550600101620003ec565b5090565b90565b612d5c806200041d6000396000f3fe6080604052600436106102935760003560e01c80637fa293d41161015a578063b288e1a9116100c1578063dd62ed3e1161007a578063dd62ed3e146111c0578063ddae177114611245578063e536ec4a146112a0578063eb91d37e146112fb578063ef9665d514611326578063f2fde38b1461138157610293565b8063b288e1a914610fae578063c2507ac114610fc5578063c5a78bba14611014578063c657852c1461108a578063c8eb1197146110ef578063d6c2f6dd1461116557610293565b806395d89b411161011357806395d89b4114610d43578063961b521c14610dd3578063a32bf59714610e2e578063a457c2d714610e59578063a9059cbb14610ecc578063abc817ec14610f3f57610293565b80637fa293d414610b3b57806384d5d94414610ba05780638da5cb5b14610c1d5780638f32d59b14610c7457806391b7f5ed14610ca3578063929ec53714610cde57610293565b806339509351116101fe5780636ebcf607116101b75780636ebcf6071461094857806370a08231146109ad578063715018a614610a12578063730bf8e414610a2957806374ac044614610a8e5780637be8427014610ae057610293565b8063395093511461070c57806347e405531461077f5780634a4fbeec146107965780634daef883146107ff578063582f991d1461085a578063588809d6146108b557610293565b80631cc6b6a3116102505780631cc6b6a31461050257806323b872dd1461055d578063275e9984146105f0578063313ce5671461064b578063372c12b11461067c578063378dc3dc146106e157610293565b806302fa7d0a14610298578063046a2de71461030757806306fdde0314610379578063095ea7b314610409578063133a1dae1461047c57806318160ddd146104d7575b600080fd5b3480156102a457600080fd5b506102f1600480360360408110156102bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113d2565b6040518082815260200191505060405180910390f35b34801561031357600080fd5b506103636004803603604081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611438565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b5061038e61149c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ce5780820151818401526020810190506103b3565b50505050905090810190601f1680156103fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041557600080fd5b506104626004803603604081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153e565b604051808215151515815260200191505060405180910390f35b34801561048857600080fd5b506104d56004803603604081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611555565b005b3480156104e357600080fd5b506104ec611630565b6040518082815260200191505060405180910390f35b34801561050e57600080fd5b5061055b6004803603604081101561052557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061163a565b005b34801561056957600080fd5b506105d66004803603606081101561058057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611714565b604051808215151515815260200191505060405180910390f35b3480156105fc57600080fd5b506106496004803603604081101561061357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117c5565b005b34801561065757600080fd5b50610660611885565b604051808260ff1660ff16815260200191505060405180910390f35b34801561068857600080fd5b506106cb6004803603602081101561069f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189c565b6040518082815260200191505060405180910390f35b3480156106ed57600080fd5b506106f66118b4565b6040518082815260200191505060405180910390f35b34801561071857600080fd5b506107656004803603604081101561072f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ba565b604051808215151515815260200191505060405180910390f35b34801561078b57600080fd5b5061079461195f565b005b3480156107a257600080fd5b506107e5600480360360208110156107b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198e565b604051808215151515815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab0565b005b34801561086657600080fd5b506108b36004803603604081101561087d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba6565b005b3480156108c157600080fd5b5061092e600480360360608110156108d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c9a565b604051808215151515815260200191505060405180910390f35b34801561095457600080fd5b506109976004803603602081101561096b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cb2565b6040518082815260200191505060405180910390f35b3480156109b957600080fd5b506109fc600480360360208110156109d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cca565b6040518082815260200191505060405180910390f35b348015610a1e57600080fd5b50610a27611d12565b005b348015610a3557600080fd5b50610a7860048036036020811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de4565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aca60048036036020811015610ab157600080fd5b81019080803560ff169060200190929190505050611e30565b6040518082815260200191505060405180910390f35b348015610aec57600080fd5b50610b3960048036036040811015610b0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e48565b005b348015610b4757600080fd5b50610b8a60048036036020811015610b5e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3d565b6040518082815260200191505060405180910390f35b348015610bac57600080fd5b50610c0360048036036060811015610bc357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611f55565b604051808215151515815260200191505060405180910390f35b348015610c2957600080fd5b50610c32612017565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c8057600080fd5b50610c89612041565b604051808215151515815260200191505060405180910390f35b348015610caf57600080fd5b50610cdc60048036036020811015610cc657600080fd5b8101908080359060200190929190505050612099565b005b348015610cea57600080fd5b50610d2d60048036036020811015610d0157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b4565b6040518082815260200191505060405180910390f35b348015610d4f57600080fd5b50610d58612116565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d98578082015181840152602081019050610d7d565b50505050905090810190601f168015610dc55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ddf57600080fd5b50610e2c60048036036040811015610df657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121b8565b005b348015610e3a57600080fd5b50610e436122ad565b6040518082815260200191505060405180910390f35b348015610e6557600080fd5b50610eb260048036036040811015610e7c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122b7565b604051808215151515815260200191505060405180910390f35b348015610ed857600080fd5b50610f2560048036036040811015610eef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061235c565b604051808215151515815260200191505060405180910390f35b348015610f4b57600080fd5b50610f9860048036036040811015610f6257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a4565b6040518082815260200191505060405180910390f35b348015610fba57600080fd5b50610fc361240a565b005b348015610fd157600080fd5b50610ffe60048036036020811015610fe857600080fd5b8101908080359060200190929190505050612439565b6040518082815260200191505060405180910390f35b34801561102057600080fd5b5061106d6004803603604081101561103757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061244e565b604051808381526020018281526020019250505060405180910390f35b34801561109657600080fd5b506110d9600480360360208110156110ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061248c565b6040518082815260200191505060405180910390f35b3480156110fb57600080fd5b506111486004803603604081101561111257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124a4565b604051808381526020018281526020019250505060405180910390f35b34801561117157600080fd5b506111be6004803603604081101561118857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124e2565b005b3480156111cc57600080fd5b5061122f600480360360408110156111e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612590565b6040518082815260200191505060405180910390f35b34801561125157600080fd5b5061129e6004803603604081101561126857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612617565b005b3480156112ac57600080fd5b506112f9600480360360408110156112c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126c8565b005b34801561130757600080fd5b506113106127be565b6040518082815260200191505060405180910390f35b34801561133257600080fd5b5061137f6004803603604081101561134957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127c8565b005b34801561138d57600080fd5b506113d0600480360360208110156113a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b1565b005b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061141e57fe5b906000526020600020906002020160010154905092915050565b6000806000905060008090505b61144e85611de4565b81101561149157600061146186836123a4565b90508460ff1681141561148357600061147a87846113d2565b90508084019350505b508080600101915050611445565b508091505092915050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115345780601f1061150957610100808354040283529160200191611534565b820191906000526020600020905b81548152906001019060200180831161151757829003601f168201915b5050505050905090565b600061154b3384846128ce565b6001905092915050565b80611566611561612017565b611cca565b101561157157600080fd5b6115978260646001600a605e86028161158657fe5b04028161158f57fe5b04600b611f55565b506115bf8260646001606461024c8602816115ae57fe5b0402816115b757fe5b04600c611f55565b506000600d90505b601b8111611603576115f5836064600160646102168702816115e557fe5b0402816115ee57fe5b0483611f55565b5080806001019150506115c7565b5061162b826064600160646101ce86028161161a57fe5b04028161162357fe5b04601c611f55565b505050565b6000600254905090565b8061164b611646612017565b611cca565b101561165657600080fd5b61166f826064600584028161166757fe5b046006611f55565b506000600790505b600c81116116a557611697836064600385028161169057fe5b0483611f55565b508080600101915050611677565b506000600d90505b602481116116e8576116da8360646001600a601f8702816116ca57fe5b0402816116d357fe5b0483611f55565b5080806001019150506116ad565b5061170f8260646001600a601a8602816116fe57fe5b04028161170757fe5b046025611f55565b505050565b6000611721848484612a2d565b6117ba84336117b585600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6128ce565b600190509392505050565b806117d66117d1612017565b611cca565b10156117e157600080fd5b6117fa82606460038402816117f257fe5b046003611f55565b506000600490505b600c811161183d5761182f8360646001600a601387028161181f57fe5b04028161182857fe5b0483611f55565b508080600101915050611802565b506000600d90505b603b8111611880576118728360646001600a601187028161186257fe5b04028161186b57fe5b0483611f55565b508080600101915050611845565b505050565b6000600660009054906101000a900460ff16905090565b60096020528060005260406000206000915090505481565b60075481565b6000611955338461195085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b6128ce565b6001905092915050565b611967612041565b61197057600080fd5b6046600e541161198c576001600e600082825401925050819055505b565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115611aa65760008090505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015611aa457600b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611a7657fe5b90600052602060002090600202016000015411611a97576001915050611aab565b80806001019150506119e0565b505b600090505b919050565b80611ac1611abc612017565b611cca565b1015611acc57600080fd5b611af28260646001600a6056860281611ae157fe5b040281611aea57fe5b04600a611f55565b506000600b90505b600c8111611b3657611b288360646001606461021a870281611b1857fe5b040281611b2157fe5b0483611f55565b508080600101915050611afa565b506000600d90505b601c8111611b7a57611b6c836064600160646101e9870281611b5c57fe5b040281611b6557fe5b0483611f55565b508080600101915050611b3e565b50611ba18260646001600a6018860281611b9057fe5b040281611b9957fe5b04601d611f55565b505050565b80611bb7611bb2612017565b611cca565b1015611bc257600080fd5b611be88260646001600a6026860281611bd757fe5b040281611be057fe5b046004611f55565b506000600590505b600c8111611c2b57611c1d8360646001606460ee870281611c0d57fe5b040281611c1657fe5b0483611f55565b508080600101915050611bf0565b506000600d90505b602f8111611c6e57611c608360646001606460d8870281611c5057fe5b040281611c5957fe5b0483611f55565b508080600101915050611c33565b50611c9582606460016064609c860281611c8457fe5b040281611c8d57fe5b046030611f55565b505050565b6000611ca7848484612a2d565b600190509392505050565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611d1a612041565b611d2357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600c6020528060005260406000206000915090505481565b80611e59611e54612017565b611cca565b1015611e6457600080fd5b611e8a8260646001600a603e860281611e7957fe5b040281611e8257fe5b046007611f55565b506000600890505b600c8111611ecd57611ebf8360646001600a6027870281611eaf57fe5b040281611eb857fe5b0483611f55565b508080600101915050611e92565b506000600d90505b60218111611f1157611f0383606460016064610160870281611ef357fe5b040281611efc57fe5b0483611f55565b508080600101915050611ed5565b50611f38826064600160646026860281611f2757fe5b040281611f3057fe5b046022611f55565b505050565b600d6020528060005260406000206000915090505481565b6000611f69611f62612017565b8585611c9a565b50611f72612d0d565b6040518060400160405280848152602001858152509050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505060019150509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6120a1612041565b6120aa57600080fd5b80600f8190555050565b6000806000905060008090505b6120ca84611de4565b81101561210c5760006120dd85836123a4565b9050600e548111156120fe5760006120f586846113d2565b90508084019350505b5080806001019150506120c1565b5080915050919050565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121ae5780601f10612183576101008083540402835291602001916121ae565b820191906000526020600020905b81548152906001019060200180831161219157829003601f168201915b5050505050905090565b806121c96121c4612017565b611cca565b10156121d457600080fd5b6121fa8260646001600a602e8602816121e957fe5b0402816121f257fe5b046005611f55565b506000600690505b600c811161223d5761222f8360646001600a601d87028161221f57fe5b04028161222857fe5b0483611f55565b508080600101915050612202565b506000600d90505b60288111612281576122738360646001606461010587028161226357fe5b04028161226c57fe5b0483611f55565b508080600101915050612245565b506122a88260646001606460ca86028161229757fe5b0402816122a057fe5b046029611f55565b505050565b6000600e54905090565b6000612352338461234d85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6128ce565b6001905092915050565b60008061237a8361236c33611cca565b612bbd90919063ffffffff16565b9050612385336120b4565b81101561239157600080fd5b61239b8484612bfc565b91505092915050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106123f057fe5b906000526020600020906002020160000154905092915050565b612412612041565b61241b57600080fd5b6001600e5410612437576001600e600082825403925050819055505b565b6000600f54828161244657fe5b049050919050565b600b602052816000526040600020818154811061246757fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b60086020528060005260406000206000915090505481565b600a60205281600052604060002081815481106124bd57fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b6124ea612041565b6124f357600080fd5b6000600c90505b6046811015612536576125288360646001600a601187028161251857fe5b04028161252157fe5b0483611f55565b5080806001019150506124fa565b5061255d8260646001600a600e86028161254c57fe5b04028161255557fe5b046046611f55565b506001601060008282829054906101000a900460ff160192506101000a81548160ff021916908360ff1602179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80612628612623612017565b611cca565b101561263357600080fd5b6126598260646001600a606686028161264857fe5b04028161265157fe5b04600c611f55565b506000600d90505b601b811161269c5761268e8360646001600a603a87028161267e57fe5b04028161268757fe5b0483611f55565b508080600101915050612661565b506126c38260646001600a601c8602816126b257fe5b0402816126bb57fe5b04601c611f55565b505050565b806126d96126d4612017565b611cca565b10156126e457600080fd5b61270a8260646001600a604e8602816126f957fe5b04028161270257fe5b046009611f55565b506000600a90505b600c811161274e57612740836064600160646101e887028161273057fe5b04028161273957fe5b0483611f55565b508080600101915050612712565b506000600d90505b601d811161279257612784836064600160646101bb87028161277457fe5b04028161277d57fe5b0483611f55565b508080600101915050612756565b506127b98260646001606460e18602816127a857fe5b0402816127b157fe5b04601e611f55565b505050565b6000600f54905090565b806127d96127d4612017565b611cca565b10156127e457600080fd5b6127fd82606460078402816127f557fe5b046008611f55565b506000600990505b600c8111612840576128328360646001600a602c87028161282257fe5b04028161282b57fe5b0483611f55565b508080600101915050612805565b506000600d90505b601e8111612884576128768360646001606461018e87028161286657fe5b04028161286f57fe5b0483611f55565b508080600101915050612848565b506128ac8260646001606461017886028161289b57fe5b0402816128a457fe5b04601f611f55565b505050565b6128b9612041565b6128c257600080fd5b6128cb81612c13565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561290857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561294257600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b612a7e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b11816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115612bcc57600080fd5b600082840390508091505092915050565b600080828401905083811015612bf257600080fd5b8091505092915050565b6000612c09338484612a2d565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c4d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60405180604001604052806000815260200160008152509056fea265627a7a72315820f998ee43b4b3418a4f43ab02eadcc8b14f825e92c0549e01f1cde905345756d264736f6c63430005100032
Deployed Bytecode
0x6080604052600436106102935760003560e01c80637fa293d41161015a578063b288e1a9116100c1578063dd62ed3e1161007a578063dd62ed3e146111c0578063ddae177114611245578063e536ec4a146112a0578063eb91d37e146112fb578063ef9665d514611326578063f2fde38b1461138157610293565b8063b288e1a914610fae578063c2507ac114610fc5578063c5a78bba14611014578063c657852c1461108a578063c8eb1197146110ef578063d6c2f6dd1461116557610293565b806395d89b411161011357806395d89b4114610d43578063961b521c14610dd3578063a32bf59714610e2e578063a457c2d714610e59578063a9059cbb14610ecc578063abc817ec14610f3f57610293565b80637fa293d414610b3b57806384d5d94414610ba05780638da5cb5b14610c1d5780638f32d59b14610c7457806391b7f5ed14610ca3578063929ec53714610cde57610293565b806339509351116101fe5780636ebcf607116101b75780636ebcf6071461094857806370a08231146109ad578063715018a614610a12578063730bf8e414610a2957806374ac044614610a8e5780637be8427014610ae057610293565b8063395093511461070c57806347e405531461077f5780634a4fbeec146107965780634daef883146107ff578063582f991d1461085a578063588809d6146108b557610293565b80631cc6b6a3116102505780631cc6b6a31461050257806323b872dd1461055d578063275e9984146105f0578063313ce5671461064b578063372c12b11461067c578063378dc3dc146106e157610293565b806302fa7d0a14610298578063046a2de71461030757806306fdde0314610379578063095ea7b314610409578063133a1dae1461047c57806318160ddd146104d7575b600080fd5b3480156102a457600080fd5b506102f1600480360360408110156102bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113d2565b6040518082815260200191505060405180910390f35b34801561031357600080fd5b506103636004803603604081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611438565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b5061038e61149c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ce5780820151818401526020810190506103b3565b50505050905090810190601f1680156103fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041557600080fd5b506104626004803603604081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153e565b604051808215151515815260200191505060405180910390f35b34801561048857600080fd5b506104d56004803603604081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611555565b005b3480156104e357600080fd5b506104ec611630565b6040518082815260200191505060405180910390f35b34801561050e57600080fd5b5061055b6004803603604081101561052557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061163a565b005b34801561056957600080fd5b506105d66004803603606081101561058057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611714565b604051808215151515815260200191505060405180910390f35b3480156105fc57600080fd5b506106496004803603604081101561061357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117c5565b005b34801561065757600080fd5b50610660611885565b604051808260ff1660ff16815260200191505060405180910390f35b34801561068857600080fd5b506106cb6004803603602081101561069f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189c565b6040518082815260200191505060405180910390f35b3480156106ed57600080fd5b506106f66118b4565b6040518082815260200191505060405180910390f35b34801561071857600080fd5b506107656004803603604081101561072f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ba565b604051808215151515815260200191505060405180910390f35b34801561078b57600080fd5b5061079461195f565b005b3480156107a257600080fd5b506107e5600480360360208110156107b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198e565b604051808215151515815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab0565b005b34801561086657600080fd5b506108b36004803603604081101561087d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba6565b005b3480156108c157600080fd5b5061092e600480360360608110156108d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c9a565b604051808215151515815260200191505060405180910390f35b34801561095457600080fd5b506109976004803603602081101561096b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cb2565b6040518082815260200191505060405180910390f35b3480156109b957600080fd5b506109fc600480360360208110156109d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cca565b6040518082815260200191505060405180910390f35b348015610a1e57600080fd5b50610a27611d12565b005b348015610a3557600080fd5b50610a7860048036036020811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de4565b6040518082815260200191505060405180910390f35b348015610a9a57600080fd5b50610aca60048036036020811015610ab157600080fd5b81019080803560ff169060200190929190505050611e30565b6040518082815260200191505060405180910390f35b348015610aec57600080fd5b50610b3960048036036040811015610b0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e48565b005b348015610b4757600080fd5b50610b8a60048036036020811015610b5e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3d565b6040518082815260200191505060405180910390f35b348015610bac57600080fd5b50610c0360048036036060811015610bc357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611f55565b604051808215151515815260200191505060405180910390f35b348015610c2957600080fd5b50610c32612017565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c8057600080fd5b50610c89612041565b604051808215151515815260200191505060405180910390f35b348015610caf57600080fd5b50610cdc60048036036020811015610cc657600080fd5b8101908080359060200190929190505050612099565b005b348015610cea57600080fd5b50610d2d60048036036020811015610d0157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b4565b6040518082815260200191505060405180910390f35b348015610d4f57600080fd5b50610d58612116565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d98578082015181840152602081019050610d7d565b50505050905090810190601f168015610dc55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ddf57600080fd5b50610e2c60048036036040811015610df657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121b8565b005b348015610e3a57600080fd5b50610e436122ad565b6040518082815260200191505060405180910390f35b348015610e6557600080fd5b50610eb260048036036040811015610e7c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122b7565b604051808215151515815260200191505060405180910390f35b348015610ed857600080fd5b50610f2560048036036040811015610eef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061235c565b604051808215151515815260200191505060405180910390f35b348015610f4b57600080fd5b50610f9860048036036040811015610f6257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a4565b6040518082815260200191505060405180910390f35b348015610fba57600080fd5b50610fc361240a565b005b348015610fd157600080fd5b50610ffe60048036036020811015610fe857600080fd5b8101908080359060200190929190505050612439565b6040518082815260200191505060405180910390f35b34801561102057600080fd5b5061106d6004803603604081101561103757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061244e565b604051808381526020018281526020019250505060405180910390f35b34801561109657600080fd5b506110d9600480360360208110156110ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061248c565b6040518082815260200191505060405180910390f35b3480156110fb57600080fd5b506111486004803603604081101561111257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124a4565b604051808381526020018281526020019250505060405180910390f35b34801561117157600080fd5b506111be6004803603604081101561118857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124e2565b005b3480156111cc57600080fd5b5061122f600480360360408110156111e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612590565b6040518082815260200191505060405180910390f35b34801561125157600080fd5b5061129e6004803603604081101561126857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612617565b005b3480156112ac57600080fd5b506112f9600480360360408110156112c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126c8565b005b34801561130757600080fd5b506113106127be565b6040518082815260200191505060405180910390f35b34801561133257600080fd5b5061137f6004803603604081101561134957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127c8565b005b34801561138d57600080fd5b506113d0600480360360208110156113a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b1565b005b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061141e57fe5b906000526020600020906002020160010154905092915050565b6000806000905060008090505b61144e85611de4565b81101561149157600061146186836123a4565b90508460ff1681141561148357600061147a87846113d2565b90508084019350505b508080600101915050611445565b508091505092915050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115345780601f1061150957610100808354040283529160200191611534565b820191906000526020600020905b81548152906001019060200180831161151757829003601f168201915b5050505050905090565b600061154b3384846128ce565b6001905092915050565b80611566611561612017565b611cca565b101561157157600080fd5b6115978260646001600a605e86028161158657fe5b04028161158f57fe5b04600b611f55565b506115bf8260646001606461024c8602816115ae57fe5b0402816115b757fe5b04600c611f55565b506000600d90505b601b8111611603576115f5836064600160646102168702816115e557fe5b0402816115ee57fe5b0483611f55565b5080806001019150506115c7565b5061162b826064600160646101ce86028161161a57fe5b04028161162357fe5b04601c611f55565b505050565b6000600254905090565b8061164b611646612017565b611cca565b101561165657600080fd5b61166f826064600584028161166757fe5b046006611f55565b506000600790505b600c81116116a557611697836064600385028161169057fe5b0483611f55565b508080600101915050611677565b506000600d90505b602481116116e8576116da8360646001600a601f8702816116ca57fe5b0402816116d357fe5b0483611f55565b5080806001019150506116ad565b5061170f8260646001600a601a8602816116fe57fe5b04028161170757fe5b046025611f55565b505050565b6000611721848484612a2d565b6117ba84336117b585600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6128ce565b600190509392505050565b806117d66117d1612017565b611cca565b10156117e157600080fd5b6117fa82606460038402816117f257fe5b046003611f55565b506000600490505b600c811161183d5761182f8360646001600a601387028161181f57fe5b04028161182857fe5b0483611f55565b508080600101915050611802565b506000600d90505b603b8111611880576118728360646001600a601187028161186257fe5b04028161186b57fe5b0483611f55565b508080600101915050611845565b505050565b6000600660009054906101000a900460ff16905090565b60096020528060005260406000206000915090505481565b60075481565b6000611955338461195085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b6128ce565b6001905092915050565b611967612041565b61197057600080fd5b6046600e541161198c576001600e600082825401925050819055505b565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115611aa65760008090505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015611aa457600b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611a7657fe5b90600052602060002090600202016000015411611a97576001915050611aab565b80806001019150506119e0565b505b600090505b919050565b80611ac1611abc612017565b611cca565b1015611acc57600080fd5b611af28260646001600a6056860281611ae157fe5b040281611aea57fe5b04600a611f55565b506000600b90505b600c8111611b3657611b288360646001606461021a870281611b1857fe5b040281611b2157fe5b0483611f55565b508080600101915050611afa565b506000600d90505b601c8111611b7a57611b6c836064600160646101e9870281611b5c57fe5b040281611b6557fe5b0483611f55565b508080600101915050611b3e565b50611ba18260646001600a6018860281611b9057fe5b040281611b9957fe5b04601d611f55565b505050565b80611bb7611bb2612017565b611cca565b1015611bc257600080fd5b611be88260646001600a6026860281611bd757fe5b040281611be057fe5b046004611f55565b506000600590505b600c8111611c2b57611c1d8360646001606460ee870281611c0d57fe5b040281611c1657fe5b0483611f55565b508080600101915050611bf0565b506000600d90505b602f8111611c6e57611c608360646001606460d8870281611c5057fe5b040281611c5957fe5b0483611f55565b508080600101915050611c33565b50611c9582606460016064609c860281611c8457fe5b040281611c8d57fe5b046030611f55565b505050565b6000611ca7848484612a2d565b600190509392505050565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611d1a612041565b611d2357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600c6020528060005260406000206000915090505481565b80611e59611e54612017565b611cca565b1015611e6457600080fd5b611e8a8260646001600a603e860281611e7957fe5b040281611e8257fe5b046007611f55565b506000600890505b600c8111611ecd57611ebf8360646001600a6027870281611eaf57fe5b040281611eb857fe5b0483611f55565b508080600101915050611e92565b506000600d90505b60218111611f1157611f0383606460016064610160870281611ef357fe5b040281611efc57fe5b0483611f55565b508080600101915050611ed5565b50611f38826064600160646026860281611f2757fe5b040281611f3057fe5b046022611f55565b505050565b600d6020528060005260406000206000915090505481565b6000611f69611f62612017565b8585611c9a565b50611f72612d0d565b6040518060400160405280848152602001858152509050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505060019150509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6120a1612041565b6120aa57600080fd5b80600f8190555050565b6000806000905060008090505b6120ca84611de4565b81101561210c5760006120dd85836123a4565b9050600e548111156120fe5760006120f586846113d2565b90508084019350505b5080806001019150506120c1565b5080915050919050565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121ae5780601f10612183576101008083540402835291602001916121ae565b820191906000526020600020905b81548152906001019060200180831161219157829003601f168201915b5050505050905090565b806121c96121c4612017565b611cca565b10156121d457600080fd5b6121fa8260646001600a602e8602816121e957fe5b0402816121f257fe5b046005611f55565b506000600690505b600c811161223d5761222f8360646001600a601d87028161221f57fe5b04028161222857fe5b0483611f55565b508080600101915050612202565b506000600d90505b60288111612281576122738360646001606461010587028161226357fe5b04028161226c57fe5b0483611f55565b508080600101915050612245565b506122a88260646001606460ca86028161229757fe5b0402816122a057fe5b046029611f55565b505050565b6000600e54905090565b6000612352338461234d85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6128ce565b6001905092915050565b60008061237a8361236c33611cca565b612bbd90919063ffffffff16565b9050612385336120b4565b81101561239157600080fd5b61239b8484612bfc565b91505092915050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106123f057fe5b906000526020600020906002020160000154905092915050565b612412612041565b61241b57600080fd5b6001600e5410612437576001600e600082825403925050819055505b565b6000600f54828161244657fe5b049050919050565b600b602052816000526040600020818154811061246757fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b60086020528060005260406000206000915090505481565b600a60205281600052604060002081815481106124bd57fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b6124ea612041565b6124f357600080fd5b6000600c90505b6046811015612536576125288360646001600a601187028161251857fe5b04028161252157fe5b0483611f55565b5080806001019150506124fa565b5061255d8260646001600a600e86028161254c57fe5b04028161255557fe5b046046611f55565b506001601060008282829054906101000a900460ff160192506101000a81548160ff021916908360ff1602179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80612628612623612017565b611cca565b101561263357600080fd5b6126598260646001600a606686028161264857fe5b04028161265157fe5b04600c611f55565b506000600d90505b601b811161269c5761268e8360646001600a603a87028161267e57fe5b04028161268757fe5b0483611f55565b508080600101915050612661565b506126c38260646001600a601c8602816126b257fe5b0402816126bb57fe5b04601c611f55565b505050565b806126d96126d4612017565b611cca565b10156126e457600080fd5b61270a8260646001600a604e8602816126f957fe5b04028161270257fe5b046009611f55565b506000600a90505b600c811161274e57612740836064600160646101e887028161273057fe5b04028161273957fe5b0483611f55565b508080600101915050612712565b506000600d90505b601d811161279257612784836064600160646101bb87028161277457fe5b04028161277d57fe5b0483611f55565b508080600101915050612756565b506127b98260646001606460e18602816127a857fe5b0402816127b157fe5b04601e611f55565b505050565b6000600f54905090565b806127d96127d4612017565b611cca565b10156127e457600080fd5b6127fd82606460078402816127f557fe5b046008611f55565b506000600990505b600c8111612840576128328360646001600a602c87028161282257fe5b04028161282b57fe5b0483611f55565b508080600101915050612805565b506000600d90505b601e8111612884576128768360646001606461018e87028161286657fe5b04028161286f57fe5b0483611f55565b508080600101915050612848565b506128ac8260646001606461017886028161289b57fe5b0402816128a457fe5b04601f611f55565b505050565b6128b9612041565b6128c257600080fd5b6128cb81612c13565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561290857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561294257600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b612a7e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bbd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b11816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115612bcc57600080fd5b600082840390508091505092915050565b600080828401905083811015612bf257600080fd5b8091505092915050565b6000612c09338484612a2d565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c4d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60405180604001604052806000815260200160008152509056fea265627a7a72315820f998ee43b4b3418a4f43ab02eadcc8b14f825e92c0549e01f1cde905345756d264736f6c63430005100032
Deployed Bytecode Sourcemap
13274:8899:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22150:8;;;21308:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21308:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21308:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20842:463;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20842:463:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20842:463:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12864:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12864:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12864:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5045:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5045:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5045:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19590:418;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19590:418:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19590:418:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3112:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3112:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17209:441;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17209:441:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17209:441:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5666:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5666:228:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5666:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15724:440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15724:440:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15724:440:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13180:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13180:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13426:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13426:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13426:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13331:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13331:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6385:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6385:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6385:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13927:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13927:140:0;;;:::i;:::-;;14679:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14679:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14679:315:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19109:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19109:459:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19109:459:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16184:522;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16184:522:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16184:522:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4318:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4318:157:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4318:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2861:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2861:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2861:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3422:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3422:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3422:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11481:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11481:140:0;;;:::i;:::-;;20700:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20700:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20700:139:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13589:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13589:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13589:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17673:456;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17673:456:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17673:456:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13636:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13636:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13636:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20383:309;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20383:309:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20383:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10691:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10691:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11026:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11026:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14335:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14335:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14335:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;21646:448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21646:448:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21646:448:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13014:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13014:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13014:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16729:457;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16729:457:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16729:457:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14227:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14227:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7084:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7084:213:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7084:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14999:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14999:272:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14999:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21482:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21482:156:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21482:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14073:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14073:142:0;;;:::i;:::-;;15277:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15277:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15277:115:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13526:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13526:59:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13526:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;13373:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13373:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13373:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13475:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13475:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13475:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;15411:289;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15411:289:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15411:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3867:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3867:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3867:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20030:346;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20030:346:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20030:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18626:460;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18626:460:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18626:460:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14444:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14444:107:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18152:451;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18152:451:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18152:451:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11798:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11798:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11798:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;21308:168;21393:15;21434:8;:23;21443:13;21434:23;;;;;;;;;;;;;;;21458:5;21434:30;;;;;;;;;;;;;;;;;;:37;;;21427:44;;21308:168;;;;:::o;20842:463::-;20930:15;20957:20;20979:1;20957:23;;20992:9;21004:1;20992:13;;20988:286;21008:32;21026:13;21008:17;:32::i;:::-;21006:1;:34;20988:286;;;21064:13;21080:32;21096:13;21110:1;21080:15;:32::i;:::-;21064:48;;21134:6;21127:13;;:5;:13;21124:142;;;21168:12;21183:34;21201:13;21215:1;21183:17;:34::i;:::-;21168:49;;21249:4;21233:20;;;;21124:142;;20988:286;21041:3;;;;;;;20988:286;;;;21288:12;21281:19;;;20842:463;;;;:::o;12864:83::-;12901:13;12934:5;12927:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:83;:::o;5045:148::-;5110:4;5127:36;5136:10;5148:7;5157:5;5127:8;:36::i;:::-;5181:4;5174:11;;5045:148;;;;:::o;19590:418::-;19692:7;19670:18;19680:7;:5;:7::i;:::-;19670:9;:18::i;:::-;:29;;19662:38;;;;;;19711:50;19727:9;19753:3;19751:1;19748:2;19745;19737:7;:10;:13;;;;;;:15;:19;;;;;;19758:2;19711:15;:50::i;:::-;;19772:52;19788:9;19817:3;19815:1;19811:3;19807;19799:7;:11;:15;;;;;;:17;:21;;;;;;19821:2;19772:15;:52::i;:::-;;19843:6;19850:2;19843:9;;19839:103;19856:2;19853:1;:5;19839:103;;19882:51;19898:9;19927:3;19925:1;19921:3;19917;19909:7;:11;:15;;;;;;:17;:21;;;;;;19931:1;19882:15;:51::i;:::-;;19859:3;;;;;;;19839:103;;;;19952:51;19968:9;19996:3;19994:1;19990:3;19986;19978:7;:11;:15;;;;;;:17;:21;;;;;;20000:2;19952:15;:51::i;:::-;;19590:418;;:::o;3112:91::-;3156:7;3183:12;;3176:19;;3112:91;:::o;17209:441::-;17311:7;17289:18;17299:7;:5;:7::i;:::-;17289:9;:18::i;:::-;:29;;17281:38;;;;;;17330:43;17346:9;17366:3;17364:1;17356:7;:9;:13;;;;;;17371:1;17330:15;:43::i;:::-;;17388:6;17395:1;17388:8;;17384:94;17400:2;17397:1;:5;17384:94;;17426:43;17442:9;17463:3;17461:1;17453:7;:9;:13;;;;;;17467:1;17426:15;:43::i;:::-;;17403:3;;;;;;;17384:94;;;;17489:6;17496:2;17489:9;;17485:101;17502:2;17499:1;:5;17485:101;;17528:49;17544:9;17571:3;17569:1;17566:2;17563;17555:7;:10;:13;;;;;;:15;:19;;;;;;17575:1;17528:15;:49::i;:::-;;17505:3;;;;;;;17485:101;;;;17596:49;17612:9;17638:3;17636:1;17633:2;17630;17622:7;:10;:13;;;;;;:15;:19;;;;;;17642:2;17596:15;:49::i;:::-;;17209:441;;:::o;5666:228::-;5745:4;5762:26;5772:4;5778:2;5782:5;5762:9;:26::i;:::-;5799:65;5808:4;5814:10;5826:37;5857:5;5826:8;:14;5835:4;5826:14;;;;;;;;;;;;;;;:26;5841:10;5826:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;5799:8;:65::i;:::-;5882:4;5875:11;;5666:228;;;;;:::o;15724:440::-;15876:7;15854:18;15864:7;:5;:7::i;:::-;15854:9;:18::i;:::-;:29;;15846:38;;;;;;15895:43;15911:9;15932:3;15930:1;15922:7;:9;:13;;;;;;15936:1;15895:15;:43::i;:::-;;15953:6;15960:1;15953:8;;15949:100;15965:2;15962:1;:5;15949:100;;15991:49;16007:9;16034:3;16032:1;16029:2;16026;16018:7;:10;:13;;;;;;:15;:19;;;;;;16038:1;15991:15;:49::i;:::-;;15968:3;;;;;;;15949:100;;;;16063:6;16070:2;16063:9;;16059:101;16076:2;16073:1;:5;16059:101;;16102:49;16118:9;16145:3;16143:1;16140:2;16137;16129:7;:10;:13;;;;;;:15;:19;;;;;;16149:1;16102:15;:49::i;:::-;;16079:3;;;;;;;16059:101;;;;15724:440;;:::o;13180:83::-;13221:5;13246:9;;;;;;;;;;;13239:16;;13180:83;:::o;13426:45::-;;;;;;;;;;;;;;;;;:::o;13331:38::-;;;;:::o;6385:203::-;6465:4;6482:76;6491:10;6503:7;6512:45;6546:10;6512:8;:20;6521:10;6512:20;;;;;;;;;;;;;;;:29;6533:7;6512:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;6482:8;:76::i;:::-;6576:4;6569:11;;6385:203;;;;:::o;13927:140::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;13993:2;13977:12;;:18;13974:76;;14036:1;14020:12;;:17;;;;;;;;;;;13974:76;13927:140::o;14679:315::-;14741:20;14804:1;14773:8;:23;14782:13;14773:23;;;;;;;;;;;;;;;:30;;;;:32;14770:203;;;14823:6;14830:1;14823:8;;14819:149;14836:8;:23;14845:13;14836:23;;;;;;;;;;;;;;;:30;;;;14833:1;:33;14819:149;;;14932:2;14896:8;:23;14905:13;14896:23;;;;;;;;;;;;;;;14920:1;14896:26;;;;;;;;;;;;;;;;;;:32;;;:38;14893:65;;14954:4;14947:11;;;;;14893:65;14868:3;;;;;;;14819:149;;;;14770:203;14984:5;14977:12;;14679:315;;;;:::o;19109:459::-;19211:7;19189:18;19199:7;:5;:7::i;:::-;19189:9;:18::i;:::-;:29;;19181:38;;;;;;19230:50;19246:9;19272:3;19270:1;19267:2;19264;19256:7;:10;:13;;;;;;:15;:19;;;;;;19277:2;19230:15;:50::i;:::-;;19295:6;19302:2;19295:9;;19291:103;19308:2;19305:1;:5;19291:103;;19334:51;19350:9;19379:3;19377:1;19373:3;19369;19361:7;:11;:15;;;;;;:17;:21;;;;;;19383:1;19334:15;:51::i;:::-;;19311:3;;;;;;;19291:103;;;;19405:6;19412:2;19405:9;;19401:103;19418:2;19415:1;:5;19401:103;;19444:51;19460:9;19489:3;19487:1;19483:3;19479;19471:7;:11;:15;;;;;;:17;:21;;;;;;19493:1;19444:15;:51::i;:::-;;19421:3;;;;;;;19401:103;;;;19514:49;19530:9;19556:3;19554:1;19551:2;19548;19540:7;:10;:13;;;;;;:15;:19;;;;;;19560:2;19514:15;:49::i;:::-;;19109:459;;:::o;16184:522::-;16340:7;16318:18;16328:7;:5;:7::i;:::-;16318:9;:18::i;:::-;:29;;16310:38;;;;;;16359:48;16375:9;16401:3;16399:1;16396:2;16393;16385:7;:10;:13;;;;;;:15;:19;;;;;;16405:1;16359:15;:48::i;:::-;;16422:6;16429:1;16422:8;;16418:102;16434:2;16431:1;:5;16418:102;;16460:51;16476:9;16505:3;16503:1;16499:3;16495;16487:7;:11;:15;;;;;;:17;:21;;;;;;16509:1;16460:15;:51::i;:::-;;16437:3;;;;;;;16418:102;;;;16531:6;16538:2;16531:9;;16527:103;16544:2;16541:1;:5;16527:103;;16570:51;16586:9;16615:3;16613:1;16609:3;16605;16597:7;:11;:15;;;;;;:17;:21;;;;;;16619:1;16570:15;:51::i;:::-;;16547:3;;;;;;;16527:103;;;;16640:51;16656:9;16684:3;16682:1;16678:3;16674;16666:7;:11;:15;;;;;;:17;:21;;;;;;16688:2;16640:15;:51::i;:::-;;16184:522;;:::o;4318:157::-;4401:4;4418:27;4428:5;4435:2;4439:5;4418:9;:27::i;:::-;4463:4;4456:11;;4318:157;;;;;:::o;2861:45::-;;;;;;;;;;;;;;;;;:::o;3422:106::-;3477:7;3504:9;:16;3514:5;3504:16;;;;;;;;;;;;;;;;3497:23;;3422:106;;;:::o;11481:140::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;11580:1;11543:40;;11564:6;;;;;;;;;;;11543:40;;;;;;;;;;;;11611:1;11594:6;;:19;;;;;;;;;;;;;;;;;;11481:140::o;20700:139::-;20770:15;20804:8;:23;20813:13;20804:23;;;;;;;;;;;;;;;:30;;;;20797:37;;20700:139;;;:::o;13589:43::-;;;;;;;;;;;;;;;;;:::o;17673:456::-;17775:7;17753:18;17763:7;:5;:7::i;:::-;17753:9;:18::i;:::-;:29;;17745:38;;;;;;17794:49;17810:9;17836:3;17834:1;17831:2;17828;17820:7;:10;:13;;;;;;:15;:19;;;;;;17841:1;17794:15;:49::i;:::-;;17858:6;17865:1;17858:8;;17854:100;17870:2;17867:1;:5;17854:100;;17896:49;17912:9;17939:3;17937:1;17934:2;17931;17923:7;:10;:13;;;;;;:15;:19;;;;;;17943:1;17896:15;:49::i;:::-;;17873:3;;;;;;;17854:100;;;;17965:6;17972:2;17965:9;;17961:103;17978:2;17975:1;:5;17961:103;;18004:51;18020:9;18049:3;18047:1;18043:3;18039;18031:7;:11;:15;;;;;;:17;:21;;;;;;18053:1;18004:15;:51::i;:::-;;17981:3;;;;;;;17961:103;;;;18074:50;18090:9;18117:3;18115:1;18111:3;18108:2;18100:7;:10;:14;;;;;;:16;:20;;;;;;18121:2;18074:15;:50::i;:::-;;17673:456;;:::o;13636:40::-;;;;;;;;;;;;;;;;;:::o;20383:309::-;20476:12;20503:43;20520:7;:5;:7::i;:::-;20528:9;20538:7;20503:16;:43::i;:::-;;20564:20;;:::i;:::-;20587:40;;;;;;;;20619:6;20587:40;;;;20604:7;20587:40;;;20564:63;;20632:8;:19;20641:9;20632:19;;;;;;;;;;;;;;;20657:4;20632:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20632:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20683:4;20676:11;;;20383:309;;;;;:::o;10691:79::-;10729:7;10756:6;;;;;;;;;;;10749:13;;10691:79;:::o;11026:92::-;11066:4;11104:6;;;;;;;;;;;11090:20;;:10;:20;;;11083:27;;11026:92;:::o;14335:97::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;14418:6;14403:12;:21;;;;14335:97;:::o;21646:448::-;21714:15;21741:20;21763:1;21741:23;;21776:9;21788:1;21776:13;;21772:291;21792:32;21810:13;21792:17;:32::i;:::-;21790:1;:34;21772:291;;;21848:13;21864:32;21880:13;21894:1;21864:15;:32::i;:::-;21848:48;;21917:12;;21911:5;:18;21908:147;;;21957:12;21972:34;21990:13;22004:1;21972:17;:34::i;:::-;21957:49;;22038:4;22022:20;;;;21908:147;;21772:291;21825:3;;;;;;;21772:291;;;;22077:12;22070:19;;;21646:448;;;:::o;13014:87::-;13053:13;13086:7;13079:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13014:87;:::o;16729:457::-;16831:7;16809:18;16819:7;:5;:7::i;:::-;16809:9;:18::i;:::-;:29;;16801:38;;;;;;16850:49;16866:9;16892:3;16890:1;16887:2;16884;16876:7;:10;:13;;;;;;:15;:19;;;;;;16897:1;16850:15;:49::i;:::-;;16914:6;16921:1;16914:8;;16910:100;16926:2;16923:1;:5;16910:100;;16952:49;16968:9;16995:3;16993:1;16990:2;16987;16979:7;:10;:13;;;;;;:15;:19;;;;;;16999:1;16952:15;:49::i;:::-;;16929:3;;;;;;;16910:100;;;;17021:6;17028:2;17021:9;;17017:103;17034:2;17031:1;:5;17017:103;;17060:51;17076:9;17105:3;17103:1;17099:3;17095;17087:7;:11;:15;;;;;;:17;:21;;;;;;17109:1;17060:15;:51::i;:::-;;17037:3;;;;;;;17017:103;;;;17130:51;17146:9;17174:3;17172:1;17168:3;17164;17156:7;:11;:15;;;;;;:17;:21;;;;;;17178:2;17130:15;:51::i;:::-;;16729:457;;:::o;14227:100::-;14275:7;14307:12;;14300:19;;14227:100;:::o;7084:213::-;7169:4;7186:81;7195:10;7207:7;7216:50;7250:15;7216:8;:20;7225:10;7216:20;;;;;;;;;;;;;;;:29;7237:7;7216:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;7186:8;:81::i;:::-;7285:4;7278:11;;7084:213;;;;:::o;14999:272::-;15069:12;15100:14;15117:34;15143:7;15117:21;15127:10;15117:9;:21::i;:::-;:25;;:34;;;;:::i;:::-;15100:51;;15175:27;15191:10;15175:15;:27::i;:::-;15167:6;:35;;15159:44;;;;;;15232:34;15247:9;15258:7;15232:14;:34::i;:::-;15225:41;;;14999:272;;;;:::o;21482:156::-;21565:13;21597:8;:23;21606:13;21597:23;;;;;;;;;;;;;;;21621:5;21597:30;;;;;;;;;;;;;;;;;;:36;;;21590:43;;21482:156;;;;:::o;14073:142::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;14142:1;14127:12;;:16;14124:74;;14184:1;14168:12;;:17;;;;;;;;;;;14124:74;14073:142::o;15277:115::-;15338:7;15375:12;;15367:7;:20;;;;;;15360:27;;15277:115;;;:::o;13526:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13373:46::-;;;;;;;;;;;;;;;;;:::o;13475:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15411:289::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;15502:9;15512:2;15502:12;;15498:103;15517:2;15515:1;:4;15498:103;;;15543:49;15559:9;15586:3;15584:1;15581:2;15578;15570:7;:10;:13;;;;;;:15;:19;;;;;;15590:1;15543:15;:49::i;:::-;;15520:3;;;;;;;15498:103;;;;15611:50;15627:9;15654:3;15652:1;15649:2;15646;15638:7;:10;:13;;;;;;:15;:19;;;;;;15658:2;15611:15;:50::i;:::-;;15681:1;15673:5;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15411:289;;:::o;3867:131::-;3939:7;3966:8;:15;3975:5;3966:15;;;;;;;;;;;;;;;:24;3982:7;3966:24;;;;;;;;;;;;;;;;3959:31;;3867:131;;;;:::o;20030:346::-;20133:7;20111:18;20121:7;:5;:7::i;:::-;20111:9;:18::i;:::-;:29;;20103:38;;;;;;20152:51;20168:9;20195:3;20193:1;20190:2;20186:3;20178:7;:11;:14;;;;;;:16;:20;;;;;;20200:2;20152:15;:51::i;:::-;;20215:6;20222:2;20215:9;;20211:101;20228:2;20225:1;:5;20211:101;;20254:49;20270:9;20297:3;20295:1;20292:2;20289;20281:7;:10;:13;;;;;;:15;:19;;;;;;20301:1;20254:15;:49::i;:::-;;20231:3;;;;;;;20211:101;;;;20322:49;20338:9;20364:3;20362:1;20359:2;20356;20348:7;:10;:13;;;;;;:15;:19;;;;;;20368:2;20322:15;:49::i;:::-;;20030:346;;:::o;18626:460::-;18728:7;18706:18;18716:7;:5;:7::i;:::-;18706:9;:18::i;:::-;:29;;18698:38;;;;;;18747:49;18763:9;18789:3;18787:1;18784:2;18781;18773:7;:10;:13;;;;;;:15;:19;;;;;;18794:1;18747:15;:49::i;:::-;;18811:6;18818:2;18811:9;;18807:103;18824:2;18821:1;:5;18807:103;;18850:51;18866:9;18895:3;18893:1;18889:3;18885;18877:7;:11;:15;;;;;;:17;:21;;;;;;18899:1;18850:15;:51::i;:::-;;18827:3;;;;;;;18807:103;;;;18921:6;18928:2;18921:9;;18917:103;18934:2;18931:1;:5;18917:103;;18960:51;18976:9;19005:3;19003:1;18999:3;18995;18987:7;:11;:15;;;;;;:17;:21;;;;;;19009:1;18960:15;:51::i;:::-;;18937:3;;;;;;;18917:103;;;;19030:51;19046:9;19074:3;19072:1;19068:3;19064;19056:7;:11;:15;;;;;;:17;:21;;;;;;19078:2;19030:15;:51::i;:::-;;18626:460;;:::o;14444:107::-;14492:14;14531:12;;14524:19;;14444:107;:::o;18152:451::-;18254:7;18232:18;18242:7;:5;:7::i;:::-;18232:9;:18::i;:::-;:29;;18224:38;;;;;;18273:43;18289:9;18309:3;18307:1;18299:7;:9;:13;;;;;;18314:1;18273:15;:43::i;:::-;;18331:6;18338:1;18331:8;;18327:100;18343:2;18340:1;:5;18327:100;;18369:49;18385:9;18412:3;18410:1;18407:2;18404;18396:7;:10;:13;;;;;;:15;:19;;;;;;18416:1;18369:15;:49::i;:::-;;18346:3;;;;;;;18327:100;;;;18438:6;18445:2;18438:9;;18434:103;18451:2;18448:1;:5;18434:103;;18477:51;18493:9;18522:3;18520:1;18516:3;18512;18504:7;:11;:15;;;;;;:17;:21;;;;;;18526:1;18477:15;:51::i;:::-;;18454:3;;;;;;;18434:103;;;;18547:51;18563:9;18591:3;18589:1;18585:3;18581;18573:7;:11;:15;;;;;;:17;:21;;;;;;18595:2;18547:15;:51::i;:::-;;18152:451;;:::o;11798:109::-;10903:9;:7;:9::i;:::-;10895:18;;;;;;11871:28;11890:8;11871:18;:28::i;:::-;11798:109;:::o;9185:254::-;9297:1;9278:21;;:7;:21;;;;9270:30;;;;;;9336:1;9319:19;;:5;:19;;;;9311:28;;;;;;9379:5;9352:8;:15;9361:5;9352:15;;;;;;;;;;;;;;;:24;9368:7;9352:24;;;;;;;;;;;;;;;:32;;;;9416:7;9400:31;;9409:5;9400:31;;;9425:5;9400:31;;;;;;;;;;;;;;;;;;9185:254;;;:::o;7524:264::-;7662:26;7682:5;7662:9;:15;7672:4;7662:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;7644:9;:15;7654:4;7644:15;;;;;;;;;;;;;;;:44;;;;7715:24;7733:5;7715:9;:13;7725:2;7715:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;7699:9;:13;7709:2;7699:13;;;;;;;;;;;;;;;:40;;;;7770:2;7755:25;;7764:4;7755:25;;;7774:5;7755:25;;;;;;;;;;;;;;;;;;7524:264;;;:::o;2008:150::-;2066:7;2099:1;2094;:6;;2086:15;;;;;;2112:9;2128:1;2124;:5;2112:17;;2149:1;2142:8;;;2008:150;;;;:::o;2246:::-;2304:7;2324:9;2340:1;2336;:5;2324:17;;2365:1;2360;:6;;2352:15;;;;;;2387:1;2380:8;;;2246:150;;;;:::o;4172:140::-;4233:4;4250:32;4260:10;4272:2;4276:5;4250:9;:32::i;:::-;4300:4;4293:11;;4172:140;;;;:::o;12057:187::-;12151:1;12131:22;;:8;:22;;;;12123:31;;;;;;12199:8;12170:38;;12191:6;;;;;;;;;;;12170:38;;;;;;;;;;;;12228:8;12219:6;;:17;;;;;;;;;;;;;;;;;;12057:187;:::o;13274:8899::-;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://f998ee43b4b3418a4f43ab02eadcc8b14f825e92c0549e01f1cde905345756d2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.