Token migration announcement. PayAccept token contract has migrated to a new address.
ERC-20
Old Contract
Overview
Max Total Supply
26,190,941.525221425915005705 PAY
Holders
184 (0.00%)
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PayToken
Compiler Version
v0.5.7+commit.6da8b019
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-04-22 */ pragma solidity 0.5.7; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot 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-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @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 public 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() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. **/ modifier onlyOwner() { require(msg.sender == owner, "only owner can make this transaction"); _; } /** * @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 { require( newOwner != address(0), "new owner can not be a zero address" ); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title ERC20Basic interface * @dev Basic ERC20 interface **/ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 **/ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom( address from, address to, uint256 value ) public returns (bool); function approve( address spender, uint256 value ) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. **/ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence **/ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. **/ function _transfer(address _to, uint256 _value) internal returns (bool) { require( _to != address(0), "transfer to zero address is not allowed" ); require( _value <= balances[msg.sender], "sender does not have enough balance" ); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer( msg.sender, _to, _value ); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. **/ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } contract StandardToken is Ownable, ERC20, BasicToken { mapping(address => mapping(address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @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) { require( _to != address(0), "transfer to zero address is not allowed" ); require( _value <= balances[_from], "from address does not have enough balance" ); require( _value <= allowed[_from][msg.sender], "sender does not have enough allowance" ); balances[_from] = balances[_from] .sub(_value); balances[_to] = balances[_to] .add(_value); allowed[_from][msg.sender] = allowed[ _from ] [ msg.sender ].sub(_value); emit Transfer( _from, _to, _value ); return true; } function transfer( address to, uint256 value ) public returns(bool) { return _transfer(to, value); } /** * @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: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @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) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @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 Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. **/ function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add( _addedValue ); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. **/ function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title Configuration * @dev Configuration variables of the contract **/ contract Configuration { uint256 public basePrice = 750; // tokens per 1 ether string public name = "PayAccept"; string public symbol = "PAY"; uint256 public decimals = 18; uint256 public initial_supply = 25000000 * 10**18; uint256 public tokens_sold = 0; } /** * @title CrowdsaleToken * @dev Contract to preform crowd sale with token **/ contract CrowdsaleToken is StandardToken, Configuration { /** * @dev enum of current crowd sale state **/ enum Stages {none, start, end} Stages public currentStage; event BasePriceChanged( uint256 oldPrice, uint256 indexed newPrice ); /** * @dev constructor of CrowdsaleToken **/ constructor() public { currentStage = Stages.none; } /** * @dev fallback function to send ether to for Crowd sale **/ function() external payable { require( currentStage == Stages.start, "ICO is not in start stage" ); require( msg.value > 0, "transaction value is 0" ); uint256 weiAmount = msg.value; // Calculate tokens to sell uint256 tokens = weiAmount.mul(basePrice); tokens_sold = tokens_sold.add(tokens); // Increment raised amount balances[msg.sender] = balances[msg.sender].add(tokens); emit Transfer( address(0x0), msg.sender, tokens ); totalSupply_ = totalSupply_.add(tokens); address( uint160(owner) ).transfer(weiAmount); // Send money to owner } /** * @dev startICO starts the public ICO **/ function startICO() public onlyOwner { require( currentStage == Stages.none, "ICO cannot only be started" ); currentStage = Stages.start; } /** * @dev endIco closes down the ICO **/ function endICO() internal { require( currentStage == Stages.start, "cannot end ICO" ); currentStage = Stages.end; if (address(this).balance > 0) { address( uint160(owner) ).transfer( address(this).balance ); // Send money to owner } } /** * @dev finalizeIco closes down the ICO and sets needed varriables **/ function finalizeICO() public onlyOwner { endICO(); } /** * @dev change base price of token per ether **/ function changeBasePrice(uint256 newBasePrice) public onlyOwner { require( newBasePrice > 0, "base price cannot be zero" ); uint256 oldBasePrice = basePrice; basePrice = newBasePrice; emit BasePriceChanged( oldBasePrice, basePrice ); } } /** * @title PayToken * @dev Contract to create the PayToken **/ contract PayToken is CrowdsaleToken { constructor() public { balances[owner] = initial_supply; totalSupply_ = initial_supply; emit Transfer( address(0x0), owner, initial_supply ); } function doAirdrop( address[] memory recipients, uint256[] memory values ) public onlyOwner { require( recipients.length == values.length, "recipients and values should have same number of values" ); for (uint256 i = 0; i < recipients.length; i++) { balances[recipients[i]] = balances[recipients[i]] .add(values[i]); balances[owner] = balances[owner] .sub(values[i]); emit Transfer( owner, recipients[i], values[i] ); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalizeICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initial_supply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentStage","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokens_sold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"doAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newBasePrice","type":"uint256"}],"name":"changeBasePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"basePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":true,"name":"newPrice","type":"uint256"}],"name":"BasePriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6102ee60045560c0604052600960808190527f506179416363657074000000000000000000000000000000000000000000000060a090815262000046916005919062000133565b506040805180820190915260038082527f504159000000000000000000000000000000000000000000000000000000000060209092019182526200008d9160069162000133565b5060126007556a14adf4b7320334b90000006008556000600955348015620000b457600080fd5b50600080546001600160a01b0319163317808255600a805460ff191690556008546001600160a01b0391821683526001602090815260408085208390556002839055845481519384529051931693927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3620001d8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017657805160ff1916838001178555620001a6565b82800160010185558215620001a6579182015b82811115620001a657825182559160200191906001019062000189565b50620001b4929150620001b8565b5090565b620001d591905b80821115620001b45760008155600101620001bf565b90565b61172b80620001e86000396000f3fe60806040526004361061012a5760003560e01c806377231e6c116100ab578063c0116c3c1161006f578063c0116c3c14610599578063c6cfe192146106cd578063c7876ea4146106f7578063d73dd6231461070c578063dd62ed3e14610745578063f2fde38b146107805761012a565b806377231e6c146104f05780637fa8c158146105055780638da5cb5b1461051a57806395d89b411461054b578063a9059cbb146105605761012a565b80632405e3c6116100f25780632405e3c614610421578063313ce567146104365780635bf5d54c1461044b578063661884631461048457806370a08231146104bd5761012a565b806306fdde03146102c9578063095ea7b31461035357806318160ddd146103a057806323b872dd146103c757806323cc75a81461040a575b6001600a5460ff16600281111561013d57fe5b146101925760408051600160e51b62461bcd02815260206004820152601960248201527f49434f206973206e6f7420696e20737461727420737461676500000000000000604482015290519081900360640190fd5b600034116101ea5760408051600160e51b62461bcd02815260206004820152601660248201527f7472616e73616374696f6e2076616c7565206973203000000000000000000000604482015290519081900360640190fd5b600454349060009061020390839063ffffffff6107b316565b600954909150610219908263ffffffff61081816565b6009553360009081526001602052604090205461023c908263ffffffff61081816565b3360008181526001602090815260408083209490945583518581529351929391926000805160206116bb8339815191529281900390910190a3600254610288908263ffffffff61081816565b600255600080546040516001600160a01b039091169184156108fc02918591818181858888f193505050501580156102c4573d6000803e3d6000fd5b505050005b3480156102d557600080fd5b506102de610875565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610318578181015183820152602001610300565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b5061038c6004803603604081101561037657600080fd5b506001600160a01b038135169060200135610903565b604080519115158252519081900360200190f35b3480156103ac57600080fd5b506103b5610969565b60408051918252519081900360200190f35b3480156103d357600080fd5b5061038c600480360360608110156103ea57600080fd5b506001600160a01b0381358116916020810135909116906040013561096f565b34801561041657600080fd5b5061041f610b73565b005b34801561042d57600080fd5b506103b5610bc9565b34801561044257600080fd5b506103b5610bcf565b34801561045757600080fd5b50610460610bd5565b6040518082600281111561047057fe5b60ff16815260200191505060405180910390f35b34801561049057600080fd5b5061038c600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610bde565b3480156104c957600080fd5b506103b5600480360360208110156104e057600080fd5b50356001600160a01b0316610cce565b3480156104fc57600080fd5b506103b5610ce9565b34801561051157600080fd5b5061041f610cef565b34801561052657600080fd5b5061052f610db2565b604080516001600160a01b039092168252519081900360200190f35b34801561055757600080fd5b506102de610dc1565b34801561056c57600080fd5b5061038c6004803603604081101561058357600080fd5b506001600160a01b038135169060200135610e1c565b3480156105a557600080fd5b5061041f600480360360408110156105bc57600080fd5b8101906020810181356401000000008111156105d757600080fd5b8201836020820111156105e957600080fd5b8035906020019184602083028401116401000000008311171561060b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561065b57600080fd5b82018360208201111561066d57600080fd5b8035906020019184602083028401116401000000008311171561068f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e28945050505050565b3480156106d957600080fd5b5061041f600480360360208110156106f057600080fd5b5035611039565b34801561070357600080fd5b506103b561111f565b34801561071857600080fd5b5061038c6004803603604081101561072f57600080fd5b506001600160a01b038135169060200135611125565b34801561075157600080fd5b506103b56004803603604081101561076857600080fd5b506001600160a01b03813581169160200135166111be565b34801561078c57600080fd5b5061041f600480360360208110156107a357600080fd5b50356001600160a01b03166111e9565b6000826107c257506000610812565b828202828482816107cf57fe5b041461080f57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806116406021913960400191505060405180910390fd5b90505b92915050565b60008282018381101561080f5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b820191906000526020600020905b8154815290600101906020018083116108de57829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b60006001600160a01b0383166109b957604051600160e51b62461bcd0281526004018080602001828103825260288152602001806115cc6028913960400191505060405180910390fd5b6001600160a01b038416600090815260016020526040902054821115610a1357604051600160e51b62461bcd0281526004018080602001828103825260298152602001806115f46029913960400191505060405180910390fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610a7857604051600160e51b62461bcd0281526004018080602001828103825260258152602001806116db6025913960400191505060405180910390fd5b6001600160a01b038416600090815260016020526040902054610aa1908363ffffffff6112d816565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610ad6908363ffffffff61081816565b6001600160a01b038085166000908152600160209081526040808320949094559187168152600382528281203382529091522054610b1a908363ffffffff6112d816565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391926000805160206116bb833981519152929181900390910190a35060019392505050565b6000546001600160a01b03163314610bbf57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b610bc761131a565b565b60085481565b60075481565b600a5460ff1681565b3360009081526003602090815260408083206001600160a01b038616845290915281205480831115610c33573360009081526003602090815260408083206001600160a01b0388168452909152812055610c68565b610c43818463ffffffff6112d816565b3360009081526003602090815260408083206001600160a01b03891684529091529020555b3360008181526003602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b031660009081526001602052604090205490565b60095481565b6000546001600160a01b03163314610d3b57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b6000600a5460ff166002811115610d4e57fe5b14610da35760408051600160e51b62461bcd02815260206004820152601a60248201527f49434f2063616e6e6f74206f6e6c792062652073746172746564000000000000604482015290519081900360640190fd5b600a805460ff19166001179055565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b600061080f83836113d4565b6000546001600160a01b03163314610e7457604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b8051825114610eb757604051600160e51b62461bcd0281526004018080602001828103825260378152602001806116846037913960400191505060405180910390fd5b60005b825181101561103457610f21828281518110610ed257fe5b602002602001015160016000868581518110610eea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205461081890919063ffffffff16565b60016000858481518110610f3157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610f9e828281518110610f6c57fe5b602090810291909101810151600080546001600160a01b0316815260019092526040909120549063ffffffff6112d816565b600080546001600160a01b03168152600160205260409020558251839082908110610fc557fe5b60200260200101516001600160a01b03166000809054906101000a90046001600160a01b03166001600160a01b03166000805160206116bb83398151915284848151811061100f57fe5b60200260200101516040518082815260200191505060405180910390a3600101610eba565b505050565b6000546001600160a01b0316331461108557604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b600081116110dd5760408051600160e51b62461bcd02815260206004820152601960248201527f626173652070726963652063616e6e6f74206265207a65726f00000000000000604482015290519081900360640190fd5b600480549082905560408051828152905183917fa698b61af4bc9de0b1fcf8f6620fc0369760a15fd45516b70731063d6a520463919081900360200190a25050565b60045481565b3360009081526003602090815260408083206001600160a01b0386168452909152812054611159908363ffffffff61081816565b3360008181526003602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461123557604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b6001600160a01b03811661127d57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806116616023913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061080f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061150d565b6001600a5460ff16600281111561132d57fe5b146113825760408051600160e51b62461bcd02815260206004820152600e60248201527f63616e6e6f7420656e642049434f000000000000000000000000000000000000604482015290519081900360640190fd5b600a805460ff19166002179055303115610bc757600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156113d1573d6000803e3d6000fd5b50565b60006001600160a01b03831661141e57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806115cc6028913960400191505060405180910390fd5b3360009081526001602052604090205482111561146f57604051600160e51b62461bcd02815260040180806020018281038252602381526020018061161d6023913960400191505060405180910390fd5b3360009081526001602052604090205461148f908363ffffffff6112d816565b33600090815260016020526040808220929092556001600160a01b038516815220546114c1908363ffffffff61081816565b6001600160a01b0384166000818152600160209081526040918290209390935580518581529051919233926000805160206116bb8339815191529281900390910190a350600192915050565b6000818484111561159f57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156457818101518382015260200161154c565b50505050905090810190601f1680156115915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe6f6e6c79206f776e65722063616e206d616b652074686973207472616e73616374696f6e7472616e7366657220746f207a65726f2061646472657373206973206e6f742020616c6c6f77656466726f6d206164647265737320646f6573206e6f74206861766520656e6f7567682062616c616e636573656e64657220646f6573206e6f74206861766520656e6f7567682062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776e6577206f776e65722063616e206e6f742062652061207a65726f2061646472657373726563697069656e747320616e642076616c7565732073686f756c6420686176652073616d65206e756d626572206f662076616c756573ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef73656e64657220646f6573206e6f74206861766520656e6f75676820616c6c6f77616e6365a165627a7a7230582030ed18d900efcd8227e70862f3cec79309768882d72952a28196a819d2a984ae0029
Deployed Bytecode
0x60806040526004361061012a5760003560e01c806377231e6c116100ab578063c0116c3c1161006f578063c0116c3c14610599578063c6cfe192146106cd578063c7876ea4146106f7578063d73dd6231461070c578063dd62ed3e14610745578063f2fde38b146107805761012a565b806377231e6c146104f05780637fa8c158146105055780638da5cb5b1461051a57806395d89b411461054b578063a9059cbb146105605761012a565b80632405e3c6116100f25780632405e3c614610421578063313ce567146104365780635bf5d54c1461044b578063661884631461048457806370a08231146104bd5761012a565b806306fdde03146102c9578063095ea7b31461035357806318160ddd146103a057806323b872dd146103c757806323cc75a81461040a575b6001600a5460ff16600281111561013d57fe5b146101925760408051600160e51b62461bcd02815260206004820152601960248201527f49434f206973206e6f7420696e20737461727420737461676500000000000000604482015290519081900360640190fd5b600034116101ea5760408051600160e51b62461bcd02815260206004820152601660248201527f7472616e73616374696f6e2076616c7565206973203000000000000000000000604482015290519081900360640190fd5b600454349060009061020390839063ffffffff6107b316565b600954909150610219908263ffffffff61081816565b6009553360009081526001602052604090205461023c908263ffffffff61081816565b3360008181526001602090815260408083209490945583518581529351929391926000805160206116bb8339815191529281900390910190a3600254610288908263ffffffff61081816565b600255600080546040516001600160a01b039091169184156108fc02918591818181858888f193505050501580156102c4573d6000803e3d6000fd5b505050005b3480156102d557600080fd5b506102de610875565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610318578181015183820152602001610300565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b5061038c6004803603604081101561037657600080fd5b506001600160a01b038135169060200135610903565b604080519115158252519081900360200190f35b3480156103ac57600080fd5b506103b5610969565b60408051918252519081900360200190f35b3480156103d357600080fd5b5061038c600480360360608110156103ea57600080fd5b506001600160a01b0381358116916020810135909116906040013561096f565b34801561041657600080fd5b5061041f610b73565b005b34801561042d57600080fd5b506103b5610bc9565b34801561044257600080fd5b506103b5610bcf565b34801561045757600080fd5b50610460610bd5565b6040518082600281111561047057fe5b60ff16815260200191505060405180910390f35b34801561049057600080fd5b5061038c600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610bde565b3480156104c957600080fd5b506103b5600480360360208110156104e057600080fd5b50356001600160a01b0316610cce565b3480156104fc57600080fd5b506103b5610ce9565b34801561051157600080fd5b5061041f610cef565b34801561052657600080fd5b5061052f610db2565b604080516001600160a01b039092168252519081900360200190f35b34801561055757600080fd5b506102de610dc1565b34801561056c57600080fd5b5061038c6004803603604081101561058357600080fd5b506001600160a01b038135169060200135610e1c565b3480156105a557600080fd5b5061041f600480360360408110156105bc57600080fd5b8101906020810181356401000000008111156105d757600080fd5b8201836020820111156105e957600080fd5b8035906020019184602083028401116401000000008311171561060b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561065b57600080fd5b82018360208201111561066d57600080fd5b8035906020019184602083028401116401000000008311171561068f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e28945050505050565b3480156106d957600080fd5b5061041f600480360360208110156106f057600080fd5b5035611039565b34801561070357600080fd5b506103b561111f565b34801561071857600080fd5b5061038c6004803603604081101561072f57600080fd5b506001600160a01b038135169060200135611125565b34801561075157600080fd5b506103b56004803603604081101561076857600080fd5b506001600160a01b03813581169160200135166111be565b34801561078c57600080fd5b5061041f600480360360208110156107a357600080fd5b50356001600160a01b03166111e9565b6000826107c257506000610812565b828202828482816107cf57fe5b041461080f57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806116406021913960400191505060405180910390fd5b90505b92915050565b60008282018381101561080f5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b820191906000526020600020905b8154815290600101906020018083116108de57829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b60006001600160a01b0383166109b957604051600160e51b62461bcd0281526004018080602001828103825260288152602001806115cc6028913960400191505060405180910390fd5b6001600160a01b038416600090815260016020526040902054821115610a1357604051600160e51b62461bcd0281526004018080602001828103825260298152602001806115f46029913960400191505060405180910390fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610a7857604051600160e51b62461bcd0281526004018080602001828103825260258152602001806116db6025913960400191505060405180910390fd5b6001600160a01b038416600090815260016020526040902054610aa1908363ffffffff6112d816565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610ad6908363ffffffff61081816565b6001600160a01b038085166000908152600160209081526040808320949094559187168152600382528281203382529091522054610b1a908363ffffffff6112d816565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391926000805160206116bb833981519152929181900390910190a35060019392505050565b6000546001600160a01b03163314610bbf57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b610bc761131a565b565b60085481565b60075481565b600a5460ff1681565b3360009081526003602090815260408083206001600160a01b038616845290915281205480831115610c33573360009081526003602090815260408083206001600160a01b0388168452909152812055610c68565b610c43818463ffffffff6112d816565b3360009081526003602090815260408083206001600160a01b03891684529091529020555b3360008181526003602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b031660009081526001602052604090205490565b60095481565b6000546001600160a01b03163314610d3b57604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b6000600a5460ff166002811115610d4e57fe5b14610da35760408051600160e51b62461bcd02815260206004820152601a60248201527f49434f2063616e6e6f74206f6e6c792062652073746172746564000000000000604482015290519081900360640190fd5b600a805460ff19166001179055565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b600061080f83836113d4565b6000546001600160a01b03163314610e7457604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b8051825114610eb757604051600160e51b62461bcd0281526004018080602001828103825260378152602001806116846037913960400191505060405180910390fd5b60005b825181101561103457610f21828281518110610ed257fe5b602002602001015160016000868581518110610eea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205461081890919063ffffffff16565b60016000858481518110610f3157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610f9e828281518110610f6c57fe5b602090810291909101810151600080546001600160a01b0316815260019092526040909120549063ffffffff6112d816565b600080546001600160a01b03168152600160205260409020558251839082908110610fc557fe5b60200260200101516001600160a01b03166000809054906101000a90046001600160a01b03166001600160a01b03166000805160206116bb83398151915284848151811061100f57fe5b60200260200101516040518082815260200191505060405180910390a3600101610eba565b505050565b6000546001600160a01b0316331461108557604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b600081116110dd5760408051600160e51b62461bcd02815260206004820152601960248201527f626173652070726963652063616e6e6f74206265207a65726f00000000000000604482015290519081900360640190fd5b600480549082905560408051828152905183917fa698b61af4bc9de0b1fcf8f6620fc0369760a15fd45516b70731063d6a520463919081900360200190a25050565b60045481565b3360009081526003602090815260408083206001600160a01b0386168452909152812054611159908363ffffffff61081816565b3360008181526003602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461123557604051600160e51b62461bcd0281526004018080602001828103825260248152602001806115a86024913960400191505060405180910390fd5b6001600160a01b03811661127d57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806116616023913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061080f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061150d565b6001600a5460ff16600281111561132d57fe5b146113825760408051600160e51b62461bcd02815260206004820152600e60248201527f63616e6e6f7420656e642049434f000000000000000000000000000000000000604482015290519081900360640190fd5b600a805460ff19166002179055303115610bc757600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156113d1573d6000803e3d6000fd5b50565b60006001600160a01b03831661141e57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806115cc6028913960400191505060405180910390fd5b3360009081526001602052604090205482111561146f57604051600160e51b62461bcd02815260040180806020018281038252602381526020018061161d6023913960400191505060405180910390fd5b3360009081526001602052604090205461148f908363ffffffff6112d816565b33600090815260016020526040808220929092556001600160a01b038516815220546114c1908363ffffffff61081816565b6001600160a01b0384166000818152600160209081526040918290209390935580518581529051919233926000805160206116bb8339815191529281900390910190a350600192915050565b6000818484111561159f57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156457818101518382015260200161154c565b50505050905090810190601f1680156115915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe6f6e6c79206f776e65722063616e206d616b652074686973207472616e73616374696f6e7472616e7366657220746f207a65726f2061646472657373206973206e6f742020616c6c6f77656466726f6d206164647265737320646f6573206e6f74206861766520656e6f7567682062616c616e636573656e64657220646f6573206e6f74206861766520656e6f7567682062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776e6577206f776e65722063616e206e6f742062652061207a65726f2061646472657373726563697069656e747320616e642076616c7565732073686f756c6420686176652073616d65206e756d626572206f662076616c756573ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef73656e64657220646f6573206e6f74206861766520656e6f75676820616c6c6f77616e6365a165627a7a7230582030ed18d900efcd8227e70862f3cec79309768882d72952a28196a819d2a984ae0029
Deployed Bytecode Sourcemap
16956:921:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14870:12;14854;;;;:28;;;;;;;;;14832:103;;;;;-1:-1:-1;;;;;14832:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14980:1;14968:9;:13;14946:85;;;;;-1:-1:-1;;;;;14946:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15143:9;;15064;;15044:17;;15129:24;;15064:9;;15129:24;:13;:24;:::i;:::-;15180:11;;15112:41;;-1:-1:-1;15180:23:0;;15112:41;15180:23;:15;:23;:::i;:::-;15166:11;:37;15275:10;15266:20;;;;:8;:20;;;;;;:32;;15291:6;15266:32;:24;:32;:::i;:::-;15252:10;15243:20;;;;:8;:20;;;;;;;;:55;;;;15314:92;;;;;;;15252:10;;15243:20;;-1:-1:-1;;;;;;;;;;;15314:92:0;;;;;;;;;15432:12;;:24;;15449:6;15432:24;:16;:24;:::i;:::-;15417:12;:39;15497:5;;;15467:67;;-1:-1:-1;;;;;15497:5:0;;;;15467:67;;;;;15524:9;;15467:67;15497:5;15467:67;15524:9;15497:5;15467:67;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15467:67:0;14793:772;;16956:921;13981:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13981:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13981:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11334:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11334:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11334:206:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8056:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8056:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;9642:889;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9642:889:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9642:889:0;;;;;;;;;;;;;;;;;:::i;16385:67::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16385:67:0;;;:::i;:::-;;14090:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14090:49:0;;;:::i;14055:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14055:28:0;;;:::i;14442:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14442:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13327:471;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13327:471:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13327:471:0;;;;;;;;:::i;9103:107::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9103:107:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9103:107:0;-1:-1:-1;;;;;9103:107:0;;:::i;14146:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14146:30:0;;;:::i;15636:197::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15636:197:0;;;:::i;5781:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5781:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5781:20:0;;;;;;;;;;;;;;14020:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14020:28:0;;;:::i;10539:137::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10539:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10539:137:0;;;;;;;;:::i;17230:644::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17230:644:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17230:644:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;17230:644:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17230:644:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17230:644:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17230:644:0;;;;;;;;-1:-1:-1;17230:644:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;17230:644:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17230:644:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17230:644:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17230:644:0;;-1:-1:-1;17230:644:0;;-1:-1:-1;;;;;17230:644:0:i;16529:348::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16529:348:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16529:348:0;;:::i;13922:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13922:30:0;;;:::i;12543:322::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12543:322:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12543:322:0;;;;;;;;:::i;11882:204::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11882:204:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11882:204:0;;;;;;;;;;:::i;6496:268::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6496:268:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6496:268:0;-1:-1:-1;;;;;6496:268:0;;:::i;2264:471::-;2322:7;2567:6;2563:47;;-1:-1:-1;2597:1:0;2590:8;;2563:47;2634:5;;;2638:1;2634;:5;:1;2658:5;;;;;:10;2650:56;;;;-1:-1:-1;;;;;2650:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:1;-1:-1:-1;2264:471:0;;;;;:::o;858:181::-;916:7;948:5;;;972:6;;;;964:46;;;;;-1:-1:-1;;;;;964:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13981:32;;;;;;;;;;;;;;;-1:-1:-1;;13981:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11334:206::-;11426:10;11401:4;11418:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;11418:29:0;;;;;;;;;;;:38;;;11472;;;;;;;11401:4;;11418:29;;11426:10;;11472:38;;;;;;;;-1:-1:-1;11528:4:0;11334:206;;;;:::o;8056:91::-;8127:12;;8056:91;:::o;9642:889::-;9758:4;-1:-1:-1;;;;;9797:17:0;;9775:107;;;;-1:-1:-1;;;;;9775:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9925:15:0;;;;;;:8;:15;;;;;;9915:25;;;9893:116;;;;-1:-1:-1;;;;;9893:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10052:14:0;;;;;;:7;:14;;;;;;;;10067:10;10052:26;;;;;;;;10042:36;;;10020:123;;;;-1:-1:-1;;;;;10020:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10174:15:0;;;;;;:8;:15;;;;;;:37;;10204:6;10174:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;10156:15:0;;;;;;;:8;:15;;;;;;:55;;;;10240:13;;;;;;;:35;;10268:6;10240:35;:27;:35;:::i;:::-;-1:-1:-1;;;;;10224:13:0;;;;;;;:8;:13;;;;;;;;:51;;;;10317:34;;;;;:7;:34;;;;;10372:10;10317:76;;;;;;;:88;;10398:6;10317:88;:80;:88;:::i;:::-;-1:-1:-1;;;;;10288:14:0;;;;;;;:7;:14;;;;;;;;10303:10;10288:26;;;;;;;;:117;;;;10423:78;;;;;;;;;;;10288:14;;-1:-1:-1;;;;;;;;;;;10423:78:0;;;;;;;;;;-1:-1:-1;10519:4:0;9642:889;;;;;:::o;16385:67::-;6252:5;;-1:-1:-1;;;;;6252:5:0;6238:10;:19;6230:68;;;;-1:-1:-1;;;;;6230:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16436:8;:6;:8::i;:::-;16385:67::o;14090:49::-;;;;:::o;14055:28::-;;;;:::o;14442:26::-;;;;;;:::o;13327:471::-;13472:10;13423:4;13464:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13464:29:0;;;;;;;;;;13508:27;;;13504:188;;;13560:10;13584:1;13552:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13552:29:0;;;;;;;;;:33;13504:188;;;13650:30;:8;13663:16;13650:30;:12;:30;:::i;:::-;13626:10;13618:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13618:29:0;;;;;;;;;:62;13504:188;13716:10;13738:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13707:61:0;;13738:29;;;;;;;;;;;13707:61;;;;;;;;;13716:10;13707:61;;;;;;;;;;;-1:-1:-1;13786:4:0;;13327:471;-1:-1:-1;;;13327:471:0:o;9103:107::-;-1:-1:-1;;;;;9186:16:0;9159:7;9186:16;;;:8;:16;;;;;;;9103:107::o;14146:30::-;;;;:::o;15636:197::-;6252:5;;-1:-1:-1;;;;;6252:5:0;6238:10;:19;6230:68;;;;-1:-1:-1;;;;;6230:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15722:11;15706:12;;;;:27;;;;;;;;;15684:103;;;;;-1:-1:-1;;;;;15684:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15798:12;:27;;-1:-1:-1;;15798:27:0;15813:12;15798:27;;;15636:197::o;5781:20::-;;;-1:-1:-1;;;;;5781:20:0;;:::o;14020:28::-;;;;;;;;;;;;;;;-1:-1:-1;;14020:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10539:137;10624:4;10648:20;10658:2;10662:5;10648:9;:20::i;17230:644::-;6252:5;;-1:-1:-1;;;;;6252:5:0;6238:10;:19;6230:68;;;;-1:-1:-1;;;;;6230:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17399:6;:13;17378:10;:17;:34;17356:139;;;;-1:-1:-1;;;;;17356:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17511:9;17506:361;17530:10;:17;17526:1;:21;17506:361;;;17595:52;17637:6;17644:1;17637:9;;;;;;;;;;;;;;17595:8;:23;17604:10;17615:1;17604:13;;;;;;;;;;;;;;-1:-1:-1;;;;;17595:23:0;-1:-1:-1;;;;;17595:23:0;;;;;;;;;;;;;:41;;:52;;;;:::i;:::-;17569:8;:23;17578:10;17589:1;17578:13;;;;;;;;;;;;;;-1:-1:-1;;;;;17569:23:0;-1:-1:-1;;;;;17569:23:0;;;;;;;;;;;;:78;;;;17682:44;17716:6;17723:1;17716:9;;;;;;;;;;;;;;;;;;;17682:15;17691:5;;-1:-1:-1;;;;;17691:5:0;17682:15;;:8;:15;;;;;;;;;:44;:33;:44;:::i;:::-;17664:15;17673:5;;-1:-1:-1;;;;;17673:5:0;17664:15;;:8;:15;;;;;:62;17799:13;;:10;;17810:1;;17799:13;;;;;;;;;;;;-1:-1:-1;;;;;17748:107:0;17775:5;;;;;;;;;-1:-1:-1;;;;;17775:5:0;-1:-1:-1;;;;;17748:107:0;-1:-1:-1;;;;;;;;;;;17831:6:0;17838:1;17831:9;;;;;;;;;;;;;;17748:107;;;;;;;;;;;;;;;;;;17549:3;;17506:361;;;;17230:644;;:::o;16529:348::-;6252:5;;-1:-1:-1;;;;;6252:5:0;6238:10;:19;6230:68;;;;-1:-1:-1;;;;;6230:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16641:1;16626:12;:16;16604:91;;;;;-1:-1:-1;;;;;16604:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16729:9;;;16749:24;;;;16791:78;;;;;;;;16761:12;;16791:78;;;;;;;;;;6309:1;16529:348;:::o;13922:30::-;;;;:::o;12543:322::-;12696:10;12634:4;12688:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;12688:29:0;;;;;;;;;;:70;;12736:11;12688:70;:33;:70;:::i;:::-;12664:10;12656:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;12656:29:0;;;;;;;;;;;;:102;;;12774:61;;;;;;12656:29;;12774:61;;;;;;;;;;;-1:-1:-1;12853:4:0;12543:322;;;;:::o;11882:204::-;-1:-1:-1;;;;;12003:35:0;;;11971:7;12003:35;;;:7;:35;;;;;;;;:75;;;;;;;;;;;;;11882:204::o;6496:268::-;6252:5;;-1:-1:-1;;;;;6252:5:0;6238:10;:19;6230:68;;;;-1:-1:-1;;;;;6230:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6591:22:0;;6569:107;;;;-1:-1:-1;;;;;6569:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6713:5;;;6692:37;;-1:-1:-1;;;;;6692:37:0;;;;6713:5;;;6692:37;;;6740:5;:16;;-1:-1:-1;;;;;;6740:16:0;-1:-1:-1;;;;;6740:16:0;;;;;;;;;;6496:268::o;1314:136::-;1372:7;1399:43;1403:1;1406;1399:43;;;;;;;;;;;;;;;;;:3;:43::i;15900:386::-;15976:12;15960;;;;:28;;;;;;;;;15938:92;;;;;-1:-1:-1;;;;;15938:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16041:12;:25;;-1:-1:-1;;16041:25:0;16056:10;16041:25;;;16091:4;16083:21;:25;16079:200;;16159:5;;;16125:119;;-1:-1:-1;;;;;16159:5:0;;;;16216:4;16208:21;16125:119;;;;;16208:21;;16125:119;16159:5;16125:119;16208:21;16159:5;16125:119;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16125:119:0;15900:386::o;8325:552::-;8391:4;-1:-1:-1;;;;;8430:17:0;;8408:107;;;;-1:-1:-1;;;;;8408:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8567:10;8558:20;;;;:8;:20;;;;;;8548:30;;;8526:115;;;;-1:-1:-1;;;;;8526:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8686:10;8677:20;;;;:8;:20;;;;;;:32;;8702:6;8677:32;:24;:32;:::i;:::-;8663:10;8654:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;8736:13:0;;;;;;:25;;8754:6;8736:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;8720:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;8777:70;;;;;;;8720:13;;8800:10;;-1:-1:-1;;;;;;;;;;;8777:70:0;;;;;;;;;-1:-1:-1;8865:4:0;8325:552;;;;:::o;1787:226::-;1907:7;1943:12;1935:6;;;;1927:29;;;;-1:-1:-1;;;;;1927:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1927:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1979:5:0;;;1787:226::o
Swarm Source
bzzr://30ed18d900efcd8227e70862f3cec79309768882d72952a28196a819d2a984ae
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.