ETH Price: $3,391.54 (-2.57%)
Gas: 1 Gwei

Token

HitBTC Token (HIT)
 

Overview

Max Total Supply

1,366,447,440.059999999999999999 HIT

Holders

19 (0.00%)

Market

Price

$0.24 @ 0.000071 ETH (-2.18%)

Onchain Market Cap

$330,803,260.76

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
HitBTC 5
Balance
1,490,829.46920972 HIT

Value
$360,914.91 ( ~106.4162 Eth) [0.1091%]
0xbfcd86e36d947a9103a7d4a95d178a432723d6ad
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

HIT is the utility token of the largest spot trading exchange in the industry with over 800 trading pairs and 400+ spot instruments.

Market

Volume (24H):$223,575.00
Market Capitalization:$0.00
Circulating Supply:0.00 HIT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HIT

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-12
*/

pragma solidity ^0.5.17;

/**
 * @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.
 * https://eips.ethereum.org/EIPS/eip-20
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _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;
    }

    /**
     * @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) {
        _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 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;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be aplied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * > Note: 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 Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/v1/Blacklistable.sol

/**
 * Copyright (c) 2018-2020 CENTRE SECZ
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

/**
 * @title Blacklistable Token
 * @dev Allows accounts to be blacklisted by a "blacklister" role
 */
contract Blacklistable is Ownable {
    address public blacklister;
    mapping(address => bool) internal blacklisted;

    event Blacklisted(address indexed _account);
    event UnBlacklisted(address indexed _account);
    event BlacklisterChanged(address indexed newBlacklister);

    /**
     * @dev Throws if called by any account other than the blacklister
     */
    modifier onlyBlacklister() {
        require(
            msg.sender == blacklister,
            "Blacklistable: caller is not the blacklister"
        );
        _;
    }

    /**
     * @dev Throws if argument account is blacklisted
     * @param _account The address to check
     */
    modifier notBlacklisted(address _account) {
        require(
            !blacklisted[_account],
            "Blacklistable: account is blacklisted"
        );
        _;
    }

    /**
     * @dev Checks if account is blacklisted
     * @param _account The address to check
     */
    function isBlacklisted(address _account) external view returns (bool) {
        return blacklisted[_account];
    }

    /**
     * @dev Adds account to blacklist
     * @param _account The address to blacklist
     */
    function blacklist(address _account) external onlyBlacklister {
        blacklisted[_account] = true;
        emit Blacklisted(_account);
    }

    /**
     * @dev Removes account from blacklist
     * @param _account The address to remove from the blacklist
     */
    function unBlacklist(address _account) external onlyBlacklister {
        blacklisted[_account] = false;
        emit UnBlacklisted(_account);
    }

    function updateBlacklister(address _newBlacklister) external onlyOwner {
        require(
            _newBlacklister != address(0),
            "Blacklistable: new blacklister is the zero address"
        );
        blacklister = _newBlacklister;
        emit BlacklisterChanged(blacklister);
    }
}

contract Pausable is Ownable {
    event Pause();
    event Unpause();
    event PauserChanged(address indexed newAddress);

    address public pauser;
    bool public paused = false;

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!paused, "Pausable: paused");
        _;
    }

    /**
     * @dev throws if called by any account other than the pauser
     */
    modifier onlyPauser() {
        require(msg.sender == pauser, "Pausable: caller is not the pauser");
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() external onlyPauser {
        paused = true;
        emit Pause();
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() external onlyPauser {
        paused = false;
        emit Unpause();
    }

    /**
     * @dev update the pauser role
     */
    function updatePauser(address _newPauser) external onlyOwner {
        require(
            _newPauser != address(0),
            "Pausable: new pauser is the zero address"
        );
        pauser = _newPauser;
        emit PauserChanged(pauser);
    }
}

contract HITToken is ERC20, Ownable, Blacklistable, Pausable {
    /**
     * @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 whenNotPaused notBlacklisted(msg.sender)
        notBlacklisted(to)  returns (bool) {
        _transfer(msg.sender, to, 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 whenNotPaused notBlacklisted(msg.sender) notBlacklisted(from) notBlacklisted(to) returns (bool) {
        _transfer(from, to, value);
        _approve(from, msg.sender, allowance(from, msg.sender).sub(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:
     * 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 whenNotPaused notBlacklisted(msg.sender) notBlacklisted(spender) returns (bool) {
        _approve(msg.sender, spender, 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 whenNotPaused notBlacklisted(msg.sender) notBlacklisted(spender) returns (bool) {
        _approve(msg.sender, spender, allowance(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 whenNotPaused notBlacklisted(msg.sender) notBlacklisted(spender) returns (bool) {
        _approve(msg.sender, spender, allowance(msg.sender, spender).sub(subtractedValue));
        return true;
    }
    
        /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of token to be burned.
     */
    function burn(uint256 value) public whenNotPaused notBlacklisted(msg.sender) {
        _burn(msg.sender, value);
    }

    /**
     * @dev Burns a specific amount of tokens from the target address and decrements allowance
     * @param from address The account whose tokens will be burned.
     * @param value uint256 The amount of token to be burned.
     */
    function burnFrom(address from, uint256 value) public whenNotPaused notBlacklisted(msg.sender) notBlacklisted(from) {
        _burnFrom(from, value);
    }
}

contract HIT is HITToken, ERC20Detailed {
    constructor() ERC20Detailed('HitBTC Token', 'HIT', 18) public {
        _mint(msg.sender, 2_000_000_000 * 10 ** 18);
        pauser = msg.sender;
        blacklister = msg.sender;
    }
}

Contract Security Audit

Contract ABI

[{"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":"_account","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newBlacklister","type":"address"}],"name":"BlacklisterChanged","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":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"PauserChanged","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"}],"name":"UnBlacklisted","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"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":false,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"blacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blacklister","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","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":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":[{"internalType":"address","name":"_account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","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":false,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"unBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newBlacklister","type":"address"}],"name":"updateBlacklister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newPauser","type":"address"}],"name":"updatePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526006805460ff60a01b191690553480156200001e57600080fd5b50604080518082018252600c81526b2434ba212a21902a37b5b2b760a11b6020808301919091528251808401845260038082526212125560ea1b9282019290925281546001600160a01b03191633179182905592519192916012916001600160a01b0316906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38251620000c090600790602086019062000201565b508151620000d690600890602085019062000201565b506009805460ff191660ff9290921691909117905550620001069050336b06765c793fa10079d00000006200012e565b60068054336001600160a01b03199182168117909255600480549091169091179055620002a6565b6001600160a01b0382166200014257600080fd5b6200015e81600254620001e760201b620014c81790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000191918390620014c8620001e7821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620001fa57600080fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024457805160ff191683800117855562000274565b8280016001018555821562000274579182015b828111156200027457825182559160200191906001019062000257565b506200028292915062000286565b5090565b620002a391905b808211156200028257600081556001016200028d565b90565b6117b680620002b66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806379cc6790116100f9578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146104a4578063f2fde38b146104d2578063f9f92be4146104f8578063fe575a871461051e576101a9565b8063a9059cbb1461044a578063ad38bf2214610476578063bd1024301461049c576101a9565b80638f32d59b116100d35780638f32d59b1461040657806395d89b411461040e5780639fd0506d14610416578063a457c2d71461041e576101a9565b806379cc6790146103ae5780638456cb59146103da5780638da5cb5b146103e2576101a9565b80633950935111610166578063554bab3c11610140578063554bab3c146103525780635c975abb1461037857806370a0823114610380578063715018a6146103a6576101a9565b806339509351146103015780633f4ba83a1461032d57806342966c6814610335576101a9565b806306fdde03146101ae578063095ea7b31461022b57806318160ddd1461026b5780631a8952661461028557806323b872dd146102ad578063313ce567146102e3575b600080fd5b6101b6610544565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102576004803603604081101561024157600080fd5b506001600160a01b0381351690602001356105da565b604080519115158252519081900360200190f35b6102736106ee565b60408051918252519081900360200190f35b6102ab6004803603602081101561029b57600080fd5b50356001600160a01b03166106f4565b005b610257600480360360608110156102c357600080fd5b506001600160a01b03813581169160208101359091169060400135610786565b6102eb61091a565b6040805160ff9092168252519081900360200190f35b6102576004803603604081101561031757600080fd5b506001600160a01b038135169060200135610923565b6102ab610a40565b6102ab6004803603602081101561034b57600080fd5b5035610ac1565b6102ab6004803603602081101561036857600080fd5b50356001600160a01b0316610b70565b610257610c4c565b6102736004803603602081101561039657600080fd5b50356001600160a01b0316610c5c565b6102ab610c77565b6102ab600480360360408110156103c457600080fd5b506001600160a01b038135169060200135610d08565b6102ab610e13565b6103ea610e9a565b604080516001600160a01b039092168252519081900360200190f35b610257610ea9565b6101b6610eba565b6103ea610f1b565b6102576004803603604081101561043457600080fd5b506001600160a01b038135169060200135610f2a565b6102576004803603604081101561046057600080fd5b506001600160a01b03813516906020013561103b565b6102ab6004803603602081101561048c57600080fd5b50356001600160a01b0316611144565b6103ea611220565b610273600480360360408110156104ba57600080fd5b506001600160a01b038135811691602001351661122f565b6102ab600480360360208110156104e857600080fd5b50356001600160a01b031661125a565b6102ab6004803603602081101561050e57600080fd5b50356001600160a01b03166112ad565b6102576004803603602081101561053457600080fd5b50356001600160a01b0316611342565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b600654600090600160a01b900460ff161561062f576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff161561067e5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156106d85760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e3338686611360565b506001949350505050565b60025490565b6004546001600160a01b0316331461073d5760405162461bcd60e51b815260040180806020018281038252602c8152602001806116bd602c913960400191505060405180910390fd5b6001600160a01b038116600081815260056020526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b600654600090600160a01b900460ff16156107db576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff161561082a5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859060ff16156108845760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859060ff16156108de5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6108e98787876113e8565b61090d8733610908886108fc8c3361122f565b9063ffffffff6114b316565b611360565b5060019695505050505050565b60095460ff1690565b600654600090600160a01b900460ff1615610978576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff16156109c75760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff1615610a215760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e3338661090887610a34338b61122f565b9063ffffffff6114c816565b6006546001600160a01b03163314610a895760405162461bcd60e51b81526004018080602001828103825260228152602001806117096022913960400191505060405180910390fd5b6006805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600654600160a01b900460ff1615610b13576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610b625760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b610b6c33836114e1565b5050565b610b78610ea9565b610bb7576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6001600160a01b038116610bfc5760405162461bcd60e51b815260040180806020018281038252602881526020018061166f6028913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b600654600160a01b900460ff1681565b6001600160a01b031660009081526020819052604090205490565b610c7f610ea9565b610cbe576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600654600160a01b900460ff1615610d5a576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610da95760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902054839060ff1615610e035760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b610e0d8484611588565b50505050565b6006546001600160a01b03163314610e5c5760405162461bcd60e51b81526004018080602001828103825260228152602001806117096022913960400191505060405180910390fd5b6006805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b6006546001600160a01b031681565b600654600090600160a01b900460ff1615610f7f576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610fce5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156110285760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e33386610908876108fc338b61122f565b600654600090600160a01b900460ff1615611090576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff16156110df5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156111395760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e33386866113e8565b61114c610ea9565b61118b576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6001600160a01b0381166111d05760405162461bcd60e51b815260040180806020018281038252603281526020018061172b6032913960400191505060405180910390fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b6004546001600160a01b031681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611262610ea9565b6112a1576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6112aa816115cd565b50565b6004546001600160a01b031633146112f65760405162461bcd60e51b815260040180806020018281038252602c8152602001806116bd602c913960400191505060405180910390fd5b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b03821661137357600080fd5b6001600160a01b03831661138657600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166113fb57600080fd5b6001600160a01b038316600090815260208190526040902054611424908263ffffffff6114b316565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611459908263ffffffff6114c816565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156114c257600080fd5b50900390565b6000828201838110156114da57600080fd5b9392505050565b6001600160a01b0382166114f457600080fd5b600254611507908263ffffffff6114b316565b6002556001600160a01b038216600090815260208190526040902054611533908263ffffffff6114b316565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61159282826114e1565b6001600160a01b038216600090815260016020908152604080832033808552925290912054610b6c918491610908908563ffffffff6114b316565b6001600160a01b0381166116125760405162461bcd60e51b81526004018080602001828103825260268152602001806116976026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b039290921691909117905556fe5061757361626c653a206e65772070617573657220697320746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c69737465724f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725061757361626c653a2063616c6c6572206973206e6f742074686520706175736572426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c6973746564a265627a7a723158205f88341f75ad2ced478d95d1ad87e91e81eace2e9dae3e6dadb376c86f00458264736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806379cc6790116100f9578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146104a4578063f2fde38b146104d2578063f9f92be4146104f8578063fe575a871461051e576101a9565b8063a9059cbb1461044a578063ad38bf2214610476578063bd1024301461049c576101a9565b80638f32d59b116100d35780638f32d59b1461040657806395d89b411461040e5780639fd0506d14610416578063a457c2d71461041e576101a9565b806379cc6790146103ae5780638456cb59146103da5780638da5cb5b146103e2576101a9565b80633950935111610166578063554bab3c11610140578063554bab3c146103525780635c975abb1461037857806370a0823114610380578063715018a6146103a6576101a9565b806339509351146103015780633f4ba83a1461032d57806342966c6814610335576101a9565b806306fdde03146101ae578063095ea7b31461022b57806318160ddd1461026b5780631a8952661461028557806323b872dd146102ad578063313ce567146102e3575b600080fd5b6101b6610544565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102576004803603604081101561024157600080fd5b506001600160a01b0381351690602001356105da565b604080519115158252519081900360200190f35b6102736106ee565b60408051918252519081900360200190f35b6102ab6004803603602081101561029b57600080fd5b50356001600160a01b03166106f4565b005b610257600480360360608110156102c357600080fd5b506001600160a01b03813581169160208101359091169060400135610786565b6102eb61091a565b6040805160ff9092168252519081900360200190f35b6102576004803603604081101561031757600080fd5b506001600160a01b038135169060200135610923565b6102ab610a40565b6102ab6004803603602081101561034b57600080fd5b5035610ac1565b6102ab6004803603602081101561036857600080fd5b50356001600160a01b0316610b70565b610257610c4c565b6102736004803603602081101561039657600080fd5b50356001600160a01b0316610c5c565b6102ab610c77565b6102ab600480360360408110156103c457600080fd5b506001600160a01b038135169060200135610d08565b6102ab610e13565b6103ea610e9a565b604080516001600160a01b039092168252519081900360200190f35b610257610ea9565b6101b6610eba565b6103ea610f1b565b6102576004803603604081101561043457600080fd5b506001600160a01b038135169060200135610f2a565b6102576004803603604081101561046057600080fd5b506001600160a01b03813516906020013561103b565b6102ab6004803603602081101561048c57600080fd5b50356001600160a01b0316611144565b6103ea611220565b610273600480360360408110156104ba57600080fd5b506001600160a01b038135811691602001351661122f565b6102ab600480360360208110156104e857600080fd5b50356001600160a01b031661125a565b6102ab6004803603602081101561050e57600080fd5b50356001600160a01b03166112ad565b6102576004803603602081101561053457600080fd5b50356001600160a01b0316611342565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b600654600090600160a01b900460ff161561062f576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff161561067e5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156106d85760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e3338686611360565b506001949350505050565b60025490565b6004546001600160a01b0316331461073d5760405162461bcd60e51b815260040180806020018281038252602c8152602001806116bd602c913960400191505060405180910390fd5b6001600160a01b038116600081815260056020526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b600654600090600160a01b900460ff16156107db576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff161561082a5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859060ff16156108845760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859060ff16156108de5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6108e98787876113e8565b61090d8733610908886108fc8c3361122f565b9063ffffffff6114b316565b611360565b5060019695505050505050565b60095460ff1690565b600654600090600160a01b900460ff1615610978576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff16156109c75760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff1615610a215760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e3338661090887610a34338b61122f565b9063ffffffff6114c816565b6006546001600160a01b03163314610a895760405162461bcd60e51b81526004018080602001828103825260228152602001806117096022913960400191505060405180910390fd5b6006805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600654600160a01b900460ff1615610b13576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610b625760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b610b6c33836114e1565b5050565b610b78610ea9565b610bb7576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6001600160a01b038116610bfc5760405162461bcd60e51b815260040180806020018281038252602881526020018061166f6028913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b600654600160a01b900460ff1681565b6001600160a01b031660009081526020819052604090205490565b610c7f610ea9565b610cbe576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b600654600160a01b900460ff1615610d5a576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610da95760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902054839060ff1615610e035760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b610e0d8484611588565b50505050565b6006546001600160a01b03163314610e5c5760405162461bcd60e51b81526004018080602001828103825260228152602001806117096022913960400191505060405180910390fd5b6006805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b6006546001600160a01b031681565b600654600090600160a01b900460ff1615610f7f576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff1615610fce5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156110285760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e33386610908876108fc338b61122f565b600654600090600160a01b900460ff1615611090576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b3360008181526005602052604090205460ff16156110df5760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054849060ff16156111395760405162461bcd60e51b815260040180806020018281038252602581526020018061175d6025913960400191505060405180910390fd5b6106e33386866113e8565b61114c610ea9565b61118b576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6001600160a01b0381166111d05760405162461bcd60e51b815260040180806020018281038252603281526020018061172b6032913960400191505060405180910390fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b6004546001600160a01b031681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611262610ea9565b6112a1576040805162461bcd60e51b815260206004820181905260248201526000805160206116e9833981519152604482015290519081900360640190fd5b6112aa816115cd565b50565b6004546001600160a01b031633146112f65760405162461bcd60e51b815260040180806020018281038252602c8152602001806116bd602c913960400191505060405180910390fd5b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b03821661137357600080fd5b6001600160a01b03831661138657600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0382166113fb57600080fd5b6001600160a01b038316600090815260208190526040902054611424908263ffffffff6114b316565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611459908263ffffffff6114c816565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156114c257600080fd5b50900390565b6000828201838110156114da57600080fd5b9392505050565b6001600160a01b0382166114f457600080fd5b600254611507908263ffffffff6114b316565b6002556001600160a01b038216600090815260208190526040902054611533908263ffffffff6114b316565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61159282826114e1565b6001600160a01b038216600090815260016020908152604080832033808552925290912054610b6c918491610908908563ffffffff6114b316565b6001600160a01b0381166116125760405162461bcd60e51b81526004018080602001828103825260268152602001806116976026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b039290921691909117905556fe5061757361626c653a206e65772070617573657220697320746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c69737465724f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725061757361626c653a2063616c6c6572206973206e6f742074686520706175736572426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c6973746564a265627a7a723158205f88341f75ad2ced478d95d1ad87e91e81eace2e9dae3e6dadb376c86f00458264736f6c63430005110032

Deployed Bytecode Sourcemap

22493:239:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22493:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10830:83;;;:::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;10830:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20066:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20066:213:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3402:91;;;:::i;:::-;;;;;;;;;;;;;;;;16398:151;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16398:151:0;-1:-1:-1;;;;;16398:151:0;;:::i;:::-;;19105:310;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19105:310:0;;;;;;;;;;;;;;;;;:::i;11146:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20774:269;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20774:269:0;;;;;;;;:::i;17757:97::-;;;:::i;21955:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21955:120:0;;:::i;17916:261::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17916:261:0;-1:-1:-1;;;;;17916:261:0;;:::i;17032:26::-;;;:::i;3712:106::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3712:106:0;-1:-1:-1;;;;;3712:106:0;;:::i;12861:140::-;;;:::i;22329:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22329:157:0;;;;;;;;:::i;17570:92::-;;;:::i;12050:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;12050:79:0;;;;;;;;;;;;;;12416:92;;;:::i;10980:87::-;;;:::i;17004:21::-;;;:::i;21539:279::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21539:279:0;;;;;;;;:::i;18418:210::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18418:210:0;;;;;;;;:::i;16557:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16557:306:0;-1:-1:-1;;;;;16557:306:0;;:::i;14940:26::-;;;:::i;4157:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4157:131:0;;;;;;;;;;:::i;13156:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13156:109:0;-1:-1:-1;;;;;13156:109:0;;:::i;16117:146::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16117:146:0;-1:-1:-1;;;;;16117:146:0;;:::i;15886:117::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15886:117:0;-1:-1:-1;;;;;15886:117:0;;:::i;10830:83::-;10900:5;10893:12;;;;;;;;-1:-1:-1;;10893:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10867:13;;10893:12;;10900:5;;10893:12;;10900:5;10893:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10830:83;:::o;20066:213::-;17218:6;;20196:4;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;20151:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;20178:7;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20213:36;20222:10;20234:7;20243:5;20213:8;:36::i;:::-;-1:-1:-1;20267:4:0;;20066:213;-1:-1:-1;;;;20066:213:0:o;3402:91::-;3473:12;;3402:91;:::o;16398:151::-;15358:11;;-1:-1:-1;;;;;15358:11:0;15344:10;:25;15322:119;;;;-1:-1:-1;;;15322:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16473:21:0;;16497:5;16473:21;;;:11;:21;;;;;;:29;;-1:-1:-1;;16473:29:0;;;16518:23;;;16497:5;16518:23;16398:151;:::o;19105:310::-;17218:6;;19265:4;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;19204:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;19231:4;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;19252:2;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19282:26;19292:4;19298:2;19302:5;19282:9;:26::i;:::-;19319:66;19328:4;19334:10;19346:38;19378:5;19346:27;19356:4;19362:10;19346:9;:27::i;:::-;:31;:38;:31;:38;:::i;:::-;19319:8;:66::i;:::-;-1:-1:-1;19403:4:0;;19105:310;-1:-1:-1;;;;;;19105:310:0:o;11146:83::-;11212:9;;;;11146:83;:::o;20774:269::-;17218:6;;20919:4;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;20874:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;20901:7;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20936:77;20945:10;20957:7;20966:46;21001:10;20966:30;20976:10;20988:7;20966:9;:30::i;:::-;:34;:46;:34;:46;:::i;17757:97::-;17413:6;;-1:-1:-1;;;;;17413:6:0;17399:10;:20;17391:67;;;;-1:-1:-1;;;17391:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17807:6;:14;;-1:-1:-1;;;;17807:14:0;;;17837:9;;;;17816:5;;17837:9;17757:97::o;21955:120::-;17218:6;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;22020:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22043:24;22049:10;22061:5;22043;:24::i;:::-;17256:1;21955:120;:::o;17916:261::-;12262:9;:7;:9::i;:::-;12254:54;;;;;-1:-1:-1;;;12254:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12254:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;18010:24:0;;17988:114;;;;-1:-1:-1;;;17988:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18113:6;:19;;-1:-1:-1;;;;;;18113:19:0;-1:-1:-1;;;;;18113:19:0;;;;;;;;;;;18148:21;;18162:6;;;18148:21;;-1:-1:-1;;18148:21:0;17916:261;:::o;17032:26::-;;;-1:-1:-1;;;17032:26:0;;;;;:::o;3712:106::-;-1:-1:-1;;;;;3794:16:0;3767:7;3794:16;;;;;;;;;;;;3712:106::o;12861:140::-;12262:9;:7;:9::i;:::-;12254:54;;;;;-1:-1:-1;;;12254:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12254:54:0;;;;;;;;;;;;;;;12944:6;;12923:40;;12960:1;;-1:-1:-1;;;;;12944:6:0;;12923:40;;12960:1;;12923:40;12974:6;:19;;-1:-1:-1;;;;;;12974:19:0;;;12861:140::o;22329:157::-;17218:6;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;22412:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;22439:4;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22456:22;22466:4;22472:5;22456:9;:22::i;:::-;15760:1;17256;22329:157;;:::o;17570:92::-;17413:6;;-1:-1:-1;;;;;17413:6:0;17399:10;:20;17391:67;;;;-1:-1:-1;;;17391:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17618:6;:13;;-1:-1:-1;;;;17618:13:0;-1:-1:-1;;;17618:13:0;;;17647:7;;;;17618:13;;17647:7;17570:92::o;12050:79::-;12115:6;;-1:-1:-1;;;;;12115:6:0;12050:79;:::o;12416:92::-;12494:6;;-1:-1:-1;;;;;12494:6:0;12480:10;:20;;12416:92::o;10980:87::-;11052:7;11045:14;;;;;;;;-1:-1:-1;;11045:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11019:13;;11045:14;;11052:7;;11045:14;;11052:7;11045:14;;;;;;;;;;;;;;;;;;;;;;;;17004:21;;;-1:-1:-1;;;;;17004:21:0;;:::o;21539:279::-;17218:6;;21689:4;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;21644:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;21671:7;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21706:82;21715:10;21727:7;21736:51;21771:15;21736:30;21746:10;21758:7;21736:9;:30::i;18418:210::-;17218:6;;18549:4;;-1:-1:-1;;;17218:6:0;;;;17217:7;17209:36;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;-1:-1:-1;;;17209:36:0;;;;;;;;;;;;;;;18499:10;15663:21;;;;:11;:21;;;;;;;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15663:21:0;;;;;;:11;:21;;;;;;18535:2;;15663:21;;15662:22;15640:109;;;;-1:-1:-1;;;15640:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18566:32;18576:10;18588:2;18592:5;18566:9;:32::i;16557:306::-;12262:9;:7;:9::i;:::-;12254:54;;;;;-1:-1:-1;;;12254:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12254:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16661:29:0;;16639:129;;;;-1:-1:-1;;;16639:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16779:11;:29;;-1:-1:-1;;;;;;16779:29:0;-1:-1:-1;;;;;16779:29:0;;;;;;;;;;;16824:31;;16843:11;;;16824:31;;-1:-1:-1;;16824:31:0;16557:306;:::o;14940:26::-;;;-1:-1:-1;;;;;14940:26:0;;:::o;4157:131::-;-1:-1:-1;;;;;4256:15:0;;;4229:7;4256:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;4157:131::o;13156:109::-;12262:9;:7;:9::i;:::-;12254:54;;;;;-1:-1:-1;;;12254:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12254:54:0;;;;;;;;;;;;;;;13229:28;13248:8;13229:18;:28::i;:::-;13156:109;:::o;16117:146::-;15358:11;;-1:-1:-1;;;;;15358:11:0;15344:10;:25;15322:119;;;;-1:-1:-1;;;15322:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16190:21:0;;;;;;:11;:21;;;;;;:28;;-1:-1:-1;;16190:28:0;16214:4;16190:28;;;16234:21;;;16190;16234;16117:146;:::o;15886:117::-;-1:-1:-1;;;;;15974:21:0;15950:4;15974:21;;;:11;:21;;;;;;;;;15886:117::o;9387:254::-;-1:-1:-1;;;;;9480:21:0;;9472:30;;;;;;-1:-1:-1;;;;;9521:19:0;;9513:28;;;;;;-1:-1:-1;;;;;9554:15:0;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:32;;;9602:31;;;;;;;;;;;;;;;;;9387:254;;;:::o;7728:262::-;-1:-1:-1;;;;;7816:16:0;;7808:25;;;;;;-1:-1:-1;;;;;7864:15:0;;:9;:15;;;;;;;;;;;:26;;7884:5;7864:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;7846:15:0;;;:9;:15;;;;;;;;;;;:44;;;;7917:13;;;;;;;:24;;7935:5;7917:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;7901:13:0;;;:9;:13;;;;;;;;;;;;:40;;;;7957:25;;;;;;;7901:13;;7957:25;;;;;;;;;;;;;7728:262;;;:::o;2001:150::-;2059:7;2092:1;2087;:6;;2079:15;;;;;;-1:-1:-1;2117:5:0;;;2001:150::o;2237:::-;2295:7;2327:5;;;2351:6;;;;2343:15;;;;;;2378:1;2237:150;-1:-1:-1;;;2237:150:0:o;8845:269::-;-1:-1:-1;;;;;8920:21:0;;8912:30;;;;;;8970:12;;:23;;8987:5;8970:23;:16;:23;:::i;:::-;8955:12;:38;-1:-1:-1;;;;;9025:18:0;;:9;:18;;;;;;;;;;;:29;;9048:5;9025:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;9004:18:0;;:9;:18;;;;;;;;;;;:50;;;;9070:36;;;;;;;9004:9;;9070:36;;;;;;;;;;;8845:269;;:::o;10040:182::-;10111:21;10117:7;10126:5;10111;:21::i;:::-;-1:-1:-1;;;;;10173:17:0;;;;;;:8;:17;;;;;;;;10161:10;10173:29;;;;;;;;;10143:71;;10152:7;;10173:40;;10207:5;10173:40;:33;:40;:::i;13371:229::-;-1:-1:-1;;;;;13445:22:0;;13437:73;;;;-1:-1:-1;;;13437:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13547:6;;13526:38;;-1:-1:-1;;;;;13526:38:0;;;;13547:6;;13526:38;;13547:6;;13526:38;13575:6;:17;;-1:-1:-1;;;;;;13575:17:0;-1:-1:-1;;;;;13575:17:0;;;;;;;;;;13371:229::o

Swarm Source

bzzr://5f88341f75ad2ced478d95d1ad87e91e81eace2e9dae3e6dadb376c86f004582
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.