ETH Price: $3,061.88 (+2.73%)
Gas: 1 Gwei

Token

PROS (PROS)
 

Overview

Max Total Supply

987,090.283698255689574511 PROS

Holders

2,043

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
211.890600106164761976 PROS

Value
$0.00
0x74472D9AA647Cc2D7E58e121B3B0A28a3F3c846B
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PROSToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.5.0;

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



pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


pragma solidity ^0.5.0;



/**
 * @dev Optional functions from the ERC20 standard.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}



pragma solidity ^0.5.5;

contract Governance {

    address public governance;

    constructor() public {
        governance = tx.origin;
    }

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

    modifier onlyGovernance {
        require(msg.sender == governance, "not governance");
        _;
    }

    function setGovernance(address _governance)  public  onlyGovernance
    {
        require(_governance != address(0), "new governance the zero address");
        emit GovernanceTransferred(governance, _governance);
        governance = _governance;
    }



}

pragma solidity ^0.5.5;



/// @title DegoToken Contract

contract PROSToken is Governance, ERC20Detailed{

    using SafeMath for uint256;

    //events
    event eveSetRate(uint256 burn_rate, uint256 reward_rate);
    event eveRewardPool(address rewardPool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Mint(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    // for minters
    mapping (address => bool) public _minters;
    mapping (address => uint256) public _minters_number;
    //token base data
    uint256 internal _totalSupply;
    mapping(address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) public _allowances;

    /// Constant token specific fields
    uint8 internal constant _decimals = 18;
    uint256 public  _maxSupply = 0;

    ///
    bool public _openTransfer = false;

    // hardcode limit rate
    uint256 public constant _maxGovernValueRate = 2000;//2000/10000
    uint256 public constant _minGovernValueRate = 10;  //10/10000
    uint256 public constant _rateBase = 10000; 

    // additional variables for use if transaction fees ever became necessary
    uint256 public  _burnRate = 0;       
    uint256 public  _rewardRate = 0;   

    uint256 public _totalBurnToken = 0;
    uint256 public _totalRewardToken = 0;

    //todo reward pool!
    address public _rewardPool = 0x6666666666666666666666666666666666666666;
    //todo burn pool!
    address public _burnPool = 0x6666666666666666666666666666666666666666;

    /**
    * @dev set the token transfer switch
    */
    function enableOpenTransfer() public onlyGovernance  
    {
        _openTransfer = true;
    }


    /**
     * CONSTRUCTOR
     *
     * @dev Initialize the Token
     */

    constructor () public ERC20Detailed("PROS", "PROS", _decimals) {
        uint256 _exp = _decimals;
         _maxSupply = 1000000 * (10**_exp);
    }


    
    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param spender The address which will spend the funds.
    * @param amount The amount of tokens to be spent.
    */
    function approve(address spender, uint256 amount) public 
    returns (bool) 
    {
        require(msg.sender != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);

        return true;
    }

    /**
    * @dev Function to check the amount of tokens than 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 _allowances[owner][spender];
    }

    /**
    * @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];
    }

    /**
    * @dev return the token total supply
    */
    function totalSupply() public view 
    returns (uint256) 
    {
        return _totalSupply;
    }

    /**
    * @dev for mint function
    */
    function mint(address account, uint256 amount) public 
    {
        require(account != address(0), "ERC20: mint to the zero address");
        require(_minters[msg.sender], "!minter");
        require(_minters_number[msg.sender]>=amount);
        uint256 curMintSupply = _totalSupply.add(_totalBurnToken);
        uint256 newMintSupply = curMintSupply.add(amount);
        require( newMintSupply <= _maxSupply,"supply is max!");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        _minters_number[msg.sender] = _minters_number[msg.sender].sub(amount);
        emit Mint(address(0), account, amount);
        emit Transfer(address(0), account, amount);
    }

    function addMinter(address _minter,uint256 number) public onlyGovernance 
    {
        _minters[_minter] = true;
        _minters_number[_minter] = number;
    }


    function setMinter_number(address _minter,uint256 number) public onlyGovernance 
    {
        require(_minters[_minter]);
        _minters_number[_minter] = number;
    }
    
    function removeMinter(address _minter) public onlyGovernance 
    {
        _minters[_minter] = false;
        _minters_number[_minter] = 0;
    }
    

    function() external payable {
        revert();
    }

    /**
    * @dev for govern value
    */
    function setRate(uint256 burn_rate, uint256 reward_rate) public 
        onlyGovernance 
    {
        
        require(_maxGovernValueRate >= burn_rate && burn_rate >= _minGovernValueRate,"invalid burn rate");
        require(_maxGovernValueRate >= reward_rate && reward_rate >= _minGovernValueRate,"invalid reward rate");

        _burnRate = burn_rate;
        _rewardRate = reward_rate;

        emit eveSetRate(burn_rate, reward_rate);
    }


    /**
    * @dev for set reward
    */
    function setRewardPool(address rewardPool) public 
        onlyGovernance 
    {
        require(rewardPool != address(0x0));

        _rewardPool = rewardPool;

        emit eveRewardPool(_rewardPool);
    }
    /**
    * @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) public 
   returns (bool)  
   {
        return _transfer(msg.sender,to,value);
    }

    /**
    * @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) 
    {
        uint256 allow = _allowances[from][msg.sender];
        _allowances[from][msg.sender] = allow.sub(value);
        
        return _transfer(from,to,value);
    }

 

    /**
    * @dev Transfer tokens with fee
    * @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 uint256s the amount of tokens to be transferred
    */
    function _transfer(address from, address to, uint256 value) internal 
    returns (bool) 
    {
        // :)
        require(_openTransfer || from == governance, "transfer closed");

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 sendAmount = value;
        uint256 burnFee = (value.mul(_burnRate)).div(_rateBase);
        if (burnFee > 0) {
            //to burn
            _balances[_burnPool] = _balances[_burnPool].add(burnFee);
            _totalSupply = _totalSupply.sub(burnFee);
            sendAmount = sendAmount.sub(burnFee);

            _totalBurnToken = _totalBurnToken.add(burnFee);

            emit Transfer(from, _burnPool, burnFee);
        }

        uint256 rewardFee = (value.mul(_rewardRate)).div(_rateBase);
        if (rewardFee > 0) {
           //to reward
            _balances[_rewardPool] = _balances[_rewardPool].add(rewardFee);
            sendAmount = sendAmount.sub(rewardFee);

            _totalRewardToken = _totalRewardToken.add(rewardFee);

            emit Transfer(from, _rewardPool, rewardFee);
        }

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(sendAmount);

        emit Transfer(from, to, sendAmount);

        return true;
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"GovernanceTransferred","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":"Mint","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":false,"internalType":"address","name":"rewardPool","type":"address"}],"name":"eveRewardPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burn_rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"eveSetRate","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnPool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_burnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxGovernValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_minGovernValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_minters_number","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_openTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rateBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rewardPool","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalBurnToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalRewardToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"uint256","name":"number","type":"uint256"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableOpenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"uint256","name":"number","type":"uint256"}],"name":"setMinter_number","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"burn_rate","type":"uint256"},{"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rewardPool","type":"address"}],"name":"setRewardPool","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"}]

608060405260006009556000600a60006101000a81548160ff0219169083151502179055506000600b556000600c556000600d556000600e55736666666666666666666666666666666666666666600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736666666666666666666666666666666666666666601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000ef57600080fd5b506040518060400160405280600481526020017f50524f53000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f50524f53000000000000000000000000000000000000000000000000000000008152506012326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260019080519060200190620001b69291906200020d565b508160029080519060200190620001cf9291906200020d565b5080600360006101000a81548160ff021916908360ff1602179055505050506000601260ff16905080600a0a620f42400260098190555050620002bc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025057805160ff191683800117855562000281565b8280016001018555821562000281579182015b828111156200028057825182559160200191906001019062000263565b5b50905062000290919062000294565b5090565b620002b991905b80821115620002b55760008160009055506001016200029b565b5090565b90565b612dc480620002cc6000396000f3fe6080604052600436106101ee5760003560e01c806368fd25cd1161010d57806395d89b41116100a0578063c110e3b21161006f578063c110e3b214610aaf578063d28303a014610b14578063dc7ced3d14610b6f578063dd62ed3e14610bc6578063e312848f14610c4b576101ee565b806395d89b411461092c578063a9059cbb146109bc578063ab033ea914610a2f578063bde8e9fa14610a80576101ee565b8063775e1377116100dc578063775e13771461085a57806378238c371461088557806379138df1146108d65780638afefd8814610901576101ee565b806368fd25cd1461070a5780636ebcf6071461073557806370a082311461079a578063761248b4146107ff576101ee565b80632d201af01161018557806340c10f191161015457806340c10f19146105e857806346df2ccb1461064357806353c76e13146106885780635aa6e675146106b3576101ee565b80632d201af0146104d25780633092afd5146104fd578063313ce5671461054e5780633575597d1461057f576101ee565b80631ae6ddec116101c15780631ae6ddec146103a657806322f4596f146103bd57806323b872dd146103e857806328d2bc911461047b576101ee565b8063024c2ddd146101f357806306fdde0314610278578063095ea7b31461030857806318160ddd1461037b575b600080fd5b3480156101ff57600080fd5b506102626004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c76565b6040518082815260200191505060405180910390f35b34801561028457600080fd5b5061028d610c9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d3d565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390610f3a565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103bb610f44565b005b3480156103c957600080fd5b506103d2611023565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506104616004803603606081101561040b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611029565b604051808215151515815260200191505060405180910390f35b34801561048757600080fd5b50610490611153565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104de57600080fd5b506104e7611179565b6040518082815260200191505060405180910390f35b34801561050957600080fd5b5061054c6004803603602081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117f565b005b34801561055a57600080fd5b506105636112e1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058b57600080fd5b506105ce600480360360208110156105a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112f8565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106416004803603604081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611318565b005b34801561064f57600080fd5b506106866004803603604081101561066657600080fd5b810190808035906020019092919080359060200190929190505050611787565b005b34801561069457600080fd5b5061069d6119a4565b6040518082815260200191505060405180910390f35b3480156106bf57600080fd5b506106c86119aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071657600080fd5b5061071f6119cf565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b506107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d5565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107e9600480360360208110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ed565b6040518082815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a36565b005b34801561086657600080fd5b5061086f611b98565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b506108d4600480360360208110156108a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9e565b005b3480156108e257600080fd5b506108eb611d63565b6040518082815260200191505060405180910390f35b34801561090d57600080fd5b50610916611d69565b6040518082815260200191505060405180910390f35b34801561093857600080fd5b50610941611d6e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610981578082015181840152602081019050610966565b50505050905090810190601f1680156109ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109c857600080fd5b50610a15600480360360408110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e10565b604051808215151515815260200191505060405180910390f35b348015610a3b57600080fd5b50610a7e60048036036020811015610a5257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e25565b005b348015610a8c57600080fd5b50610a95612048565b604051808215151515815260200191505060405180910390f35b348015610abb57600080fd5b50610afe60048036036020811015610ad257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205b565b6040518082815260200191505060405180910390f35b348015610b2057600080fd5b50610b6d60048036036040811015610b3757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612073565b005b348015610b7b57600080fd5b50610b846121d3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bd257600080fd5b50610c3560048036036040811015610be957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121f9565b6040518082815260200191505060405180910390f35b348015610c5757600080fd5b50610c60612280565b6040518082815260200191505060405180910390f35b6008602052816000526040600020602052806000526040600020600091509150505481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d335780601f10610d0857610100808354040283529160200191610d33565b820191906000526020600020905b815481529060010190602001808311610d1657829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612d6c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612d046022913960400191505060405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611006576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60095481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110be838261228690919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111498585856122d0565b9150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661147a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156114c657600080fd5b60006114df600d54600654612a0290919063ffffffff16565b905060006114f68383612a0290919063ffffffff16565b9050600954811115611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f737570706c79206973206d61782100000000000000000000000000000000000081525060200191505060405180910390fd5b61158583600654612a0290919063ffffffff16565b6006819055506115dd83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167283600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228690919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b816107d01015801561185c5750600a8210155b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964206275726e207261746500000000000000000000000000000081525060200191505060405180910390fd5b806107d0101580156118e15750600a8110155b611953576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c69642072657761726420726174650000000000000000000000000081525060200191505060405180910390fd5b81600b8190555080600c819055507f99bd43c9924d56731589e9fa71c7f8c709cf5e851306f09f8ceca0ba3eac1be78282604051808381526020018281526020019250505060405180910390a15050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60076020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61271081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c9a57600080fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f977df9b5dcd6535fed64eaab16d59511d1c7eaf4a8d4a3682b8cb62c207156da600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600b5481565b600a81565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e065780601f10611ddb57610100808354040283529160200191611e06565b820191906000526020600020905b815481529060010190602001808311611de957829003601f168201915b5050505050905090565b6000611e1d3384846122d0565b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6e657720676f7665726e616e636520746865207a65726f20616464726573730081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661218b57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107d081565b60006122c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a8a565b905092915050565b6000600a60009054906101000a900460ff168061233957506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6123ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e7366657220636c6f736564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612d476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612ce16023913960400191505060405180910390fd5b600082905060006124e76127106124d9600b5487612b4a90919063ffffffff16565b612bd090919063ffffffff16565b9050600081111561269e576125668160076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b60076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125e08160065461228690919063ffffffff16565b6006819055506125f9818361228690919063ffffffff16565b915061261081600d54612a0290919063ffffffff16565b600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b60006126c96127106126bb600c5488612b4a90919063ffffffff16565b612bd090919063ffffffff16565b90506000811115612865576127488160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b60076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c0818461228690919063ffffffff16565b92506127d781600e54612a0290919063ffffffff16565b600e81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6128b785600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228690919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294c83600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600193505050509392505050565b600080828401905083811015612a80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612afc578082015181840152602081019050612ae1565b50505050905090810190601f168015612b295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612b5d5760009050612bca565b6000828402905082848281612b6e57fe5b0414612bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d266021913960400191505060405180910390fd5b809150505b92915050565b6000612c1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c1a565b905092915050565b60008083118290612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c8b578082015181840152602081019050612c70565b50505050905090810190601f168015612cb85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612cd257fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820e24ebd99bf09276cbfa266e77ab09ac1a4db1dc54e564384c19793e74adae76664736f6c63430005110032

Deployed Bytecode

0x6080604052600436106101ee5760003560e01c806368fd25cd1161010d57806395d89b41116100a0578063c110e3b21161006f578063c110e3b214610aaf578063d28303a014610b14578063dc7ced3d14610b6f578063dd62ed3e14610bc6578063e312848f14610c4b576101ee565b806395d89b411461092c578063a9059cbb146109bc578063ab033ea914610a2f578063bde8e9fa14610a80576101ee565b8063775e1377116100dc578063775e13771461085a57806378238c371461088557806379138df1146108d65780638afefd8814610901576101ee565b806368fd25cd1461070a5780636ebcf6071461073557806370a082311461079a578063761248b4146107ff576101ee565b80632d201af01161018557806340c10f191161015457806340c10f19146105e857806346df2ccb1461064357806353c76e13146106885780635aa6e675146106b3576101ee565b80632d201af0146104d25780633092afd5146104fd578063313ce5671461054e5780633575597d1461057f576101ee565b80631ae6ddec116101c15780631ae6ddec146103a657806322f4596f146103bd57806323b872dd146103e857806328d2bc911461047b576101ee565b8063024c2ddd146101f357806306fdde0314610278578063095ea7b31461030857806318160ddd1461037b575b600080fd5b3480156101ff57600080fd5b506102626004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c76565b6040518082815260200191505060405180910390f35b34801561028457600080fd5b5061028d610c9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d3d565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390610f3a565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103bb610f44565b005b3480156103c957600080fd5b506103d2611023565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b506104616004803603606081101561040b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611029565b604051808215151515815260200191505060405180910390f35b34801561048757600080fd5b50610490611153565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104de57600080fd5b506104e7611179565b6040518082815260200191505060405180910390f35b34801561050957600080fd5b5061054c6004803603602081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117f565b005b34801561055a57600080fd5b506105636112e1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058b57600080fd5b506105ce600480360360208110156105a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112f8565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106416004803603604081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611318565b005b34801561064f57600080fd5b506106866004803603604081101561066657600080fd5b810190808035906020019092919080359060200190929190505050611787565b005b34801561069457600080fd5b5061069d6119a4565b6040518082815260200191505060405180910390f35b3480156106bf57600080fd5b506106c86119aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071657600080fd5b5061071f6119cf565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b506107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d5565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107e9600480360360208110156107bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ed565b6040518082815260200191505060405180910390f35b34801561080b57600080fd5b506108586004803603604081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a36565b005b34801561086657600080fd5b5061086f611b98565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b506108d4600480360360208110156108a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9e565b005b3480156108e257600080fd5b506108eb611d63565b6040518082815260200191505060405180910390f35b34801561090d57600080fd5b50610916611d69565b6040518082815260200191505060405180910390f35b34801561093857600080fd5b50610941611d6e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610981578082015181840152602081019050610966565b50505050905090810190601f1680156109ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109c857600080fd5b50610a15600480360360408110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e10565b604051808215151515815260200191505060405180910390f35b348015610a3b57600080fd5b50610a7e60048036036020811015610a5257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e25565b005b348015610a8c57600080fd5b50610a95612048565b604051808215151515815260200191505060405180910390f35b348015610abb57600080fd5b50610afe60048036036020811015610ad257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205b565b6040518082815260200191505060405180910390f35b348015610b2057600080fd5b50610b6d60048036036040811015610b3757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612073565b005b348015610b7b57600080fd5b50610b846121d3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bd257600080fd5b50610c3560048036036040811015610be957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121f9565b6040518082815260200191505060405180910390f35b348015610c5757600080fd5b50610c60612280565b6040518082815260200191505060405180910390f35b6008602052816000526040600020602052806000526040600020600091509150505481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d335780601f10610d0857610100808354040283529160200191610d33565b820191906000526020600020905b815481529060010190602001808311610d1657829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612d6c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612d046022913960400191505060405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611006576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60095481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110be838261228690919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111498585856122d0565b9150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661147a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156114c657600080fd5b60006114df600d54600654612a0290919063ffffffff16565b905060006114f68383612a0290919063ffffffff16565b9050600954811115611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f737570706c79206973206d61782100000000000000000000000000000000000081525060200191505060405180910390fd5b61158583600654612a0290919063ffffffff16565b6006819055506115dd83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167283600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228690919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b816107d01015801561185c5750600a8210155b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964206275726e207261746500000000000000000000000000000081525060200191505060405180910390fd5b806107d0101580156118e15750600a8110155b611953576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c69642072657761726420726174650000000000000000000000000081525060200191505060405180910390fd5b81600b8190555080600c819055507f99bd43c9924d56731589e9fa71c7f8c709cf5e851306f09f8ceca0ba3eac1be78282604051808381526020018281526020019250505060405180910390a15050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60076020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61271081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c9a57600080fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f977df9b5dcd6535fed64eaab16d59511d1c7eaf4a8d4a3682b8cb62c207156da600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600b5481565b600a81565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e065780601f10611ddb57610100808354040283529160200191611e06565b820191906000526020600020905b815481529060010190602001808311611de957829003601f168201915b5050505050905090565b6000611e1d3384846122d0565b905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6e657720676f7665726e616e636520746865207a65726f20616464726573730081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661218b57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107d081565b60006122c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a8a565b905092915050565b6000600a60009054906101000a900460ff168061233957506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6123ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e7366657220636c6f736564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612d476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612ce16023913960400191505060405180910390fd5b600082905060006124e76127106124d9600b5487612b4a90919063ffffffff16565b612bd090919063ffffffff16565b9050600081111561269e576125668160076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b60076000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125e08160065461228690919063ffffffff16565b6006819055506125f9818361228690919063ffffffff16565b915061261081600d54612a0290919063ffffffff16565b600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b60006126c96127106126bb600c5488612b4a90919063ffffffff16565b612bd090919063ffffffff16565b90506000811115612865576127488160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b60076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c0818461228690919063ffffffff16565b92506127d781600e54612a0290919063ffffffff16565b600e81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6128b785600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228690919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061294c83600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0290919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600193505050509392505050565b600080828401905083811015612a80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612afc578082015181840152602081019050612ae1565b50505050905090810190601f168015612b295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612b5d5760009050612bca565b6000828402905082848281612b6e57fe5b0414612bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d266021913960400191505060405180910390fd5b809150505b92915050565b6000612c1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c1a565b905092915050565b60008083118290612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c8b578082015181840152602081019050612c70565b50505050905090810190601f168015612cb85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612cd257fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820e24ebd99bf09276cbfa266e77ab09ac1a4db1dc54e564384c19793e74adae76664736f6c63430005110032

Deployed Bytecode Sourcemap

10583:8340:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15591:8;;;11271:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11271:68:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11271:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8935:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8935:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8935:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12847:386;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12847:386:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12847:386:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14120:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14120:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12252:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12252:98:0;;;:::i;:::-;;11433:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11433:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16979:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16979:272:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16979:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12115:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12115:69:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11903:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11903:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15388:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15388:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15388:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9787:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9787:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11055:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11055:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11055:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14278:739;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14278:739:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14278:739:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15661:457;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15661:457:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15661:457:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11944:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11944:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9937:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9937:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11860:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11860:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11220:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11220:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11220:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13934:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13934:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13934:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15025:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15025:166:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15025:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11687:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11687:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16172:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16172:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16172:216:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11817:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11817:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11620:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11620:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9137:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9137:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9137:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16556:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16556:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16556:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10248:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10248:258:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10248:258:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11481:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11481:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11103:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11103:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11103:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15201:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15201:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15201:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12014:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12014:71:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13568:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13568:146:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13568:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11551:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11551:50:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11271:68;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8935:83::-;8972:13;9005:5;8998:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8935:83;:::o;12847:386::-;12919:4;12972:1;12950:24;;:10;:24;;;;12942:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13053:1;13034:21;;:7;:21;;;;13026:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13142:6;13107:11;:23;13119:10;13107:23;;;;;;;;;;;;;;;:32;13131:7;13107:32;;;;;;;;;;;;;;;:41;;;;13185:7;13164:37;;13173:10;13164:37;;;13194:6;13164:37;;;;;;;;;;;;;;;;;;13221:4;13214:11;;12847:386;;;;:::o;14120:103::-;14170:7;14203:12;;14196:19;;14120:103;:::o;12252:98::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12338:4;12322:13;;:20;;;;;;;;;;;;;;;;;;12252:98::o;11433:30::-;;;;:::o;16979:272::-;17064:4;17087:13;17103:11;:17;17115:4;17103:17;;;;;;;;;;;;;;;:29;17121:10;17103:29;;;;;;;;;;;;;;;;17087:45;;17175:16;17185:5;17175;:9;;:16;;;;:::i;:::-;17143:11;:17;17155:4;17143:17;;;;;;;;;;;;;;;:29;17161:10;17143:29;;;;;;;;;;;;;;;:48;;;;17219:24;17229:4;17234:2;17237:5;17219:9;:24::i;:::-;17212:31;;;16979:272;;;;;:::o;12115:69::-;;;;;;;;;;;;;:::o;11903:34::-;;;;:::o;15388:150::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15486:5;15466:8;:17;15475:7;15466:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;15529:1;15502:15;:24;15518:7;15502:24;;;;;;;;;;;;;;;:28;;;;15388:150;:::o;9787:83::-;9828:5;9853:9;;;;;;;;;;;9846:16;;9787:83;:::o;11055:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;14278:739::-;14376:1;14357:21;;:7;:21;;;;14349:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14433:8;:20;14442:10;14433:20;;;;;;;;;;;;;;;;;;;;;;;;;14425:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14513:6;14484:15;:27;14500:10;14484:27;;;;;;;;;;;;;;;;:35;;14476:44;;;;;;14531:21;14555:33;14572:15;;14555:12;;:16;;:33;;;;:::i;:::-;14531:57;;14599:21;14623:25;14641:6;14623:13;:17;;:25;;;;:::i;:::-;14599:49;;14685:10;;14668:13;:27;;14659:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14741:24;14758:6;14741:12;;:16;;:24;;;;:::i;:::-;14726:12;:39;;;;14797:30;14820:6;14797:9;:18;14807:7;14797:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;14776:9;:18;14786:7;14776:18;;;;;;;;;;;;;;;:51;;;;14868:39;14900:6;14868:15;:27;14884:10;14868:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;14838:15;:27;14854:10;14838:27;;;;;;;;;;;;;;;:69;;;;14940:7;14923:33;;14936:1;14923:33;;;14949:6;14923:33;;;;;;;;;;;;;;;;;;14993:7;14972:37;;14989:1;14972:37;;;15002:6;14972:37;;;;;;;;;;;;;;;;;;14278:739;;;;:::o;15661:457::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15808:9;11597:4;15785:32;;:68;;;;;11666:2;15821:9;:32;;15785:68;15777:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15916:11;11597:4;15893:34;;:72;;;;;11666:2;15931:11;:34;;15893:72;15885:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16013:9;16001;:21;;;;16047:11;16033;:25;;;;16076:34;16087:9;16098:11;16076:34;;;;;;;;;;;;;;;;;;;;;;;;15661:457;;:::o;11944:36::-;;;;:::o;9937:25::-;;;;;;;;;;;;;:::o;11860:31::-;;;;:::o;11220:44::-;;;;;;;;;;;;;;;;;:::o;13934:119::-;13996:7;14029:9;:16;14039:5;14029:16;;;;;;;;;;;;;;;;14022:23;;13934:119;;;:::o;15025:166::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15135:4;15115:8;:17;15124:7;15115:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;15177:6;15150:15;:24;15166:7;15150:24;;;;;;;;;;;;;;;:33;;;;15025:166;;:::o;11687:41::-;11723:5;11687:41;:::o;16172:216::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16294:3;16272:26;;:10;:26;;;;16264:35;;;;;;16326:10;16312:11;;:24;;;;;;;;;;;;;;;;;;16354:26;16368:11;;;;;;;;;;;16354:26;;;;;;;;;;;;;;;;;;;;;;16172:216;:::o;11817:29::-;;;;:::o;11620:48::-;11666:2;11620:48;:::o;9137:87::-;9176:13;9209:7;9202:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9137:87;:::o;16556:134::-;16622:4;16652:30;16662:10;16673:2;16676:5;16652:9;:30::i;:::-;16645:37;;16556:134;;;;:::o;10248:258::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10363:1;10340:25;;:11;:25;;;;10332:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10451:11;10417:46;;10439:10;;;;;;;;;;;10417:46;;;;;;;;;;;;10487:11;10474:10;;:24;;;;;;;;;;;;;;;;;;10248:258;:::o;11481:33::-;;;;;;;;;;;;;:::o;11103:51::-;;;;;;;;;;;;;;;;;:::o;15201:175::-;10191:10;;;;;;;;;;;10177:24;;:10;:24;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15306:8;:17;15315:7;15306:17;;;;;;;;;;;;;;;;;;;;;;;;;15298:26;;;;;;15362:6;15335:15;:24;15351:7;15335:24;;;;;;;;;;;;;;;:33;;;;15201:175;;:::o;12014:71::-;;;;;;;;;;;;;:::o;13568:146::-;13646:7;13679:11;:18;13691:5;13679:18;;;;;;;;;;;;;;;:27;13698:7;13679:27;;;;;;;;;;;;;;;;13672:34;;13568:146;;;;:::o;11551:50::-;11597:4;11551:50;:::o;1315:136::-;1373:7;1400:43;1404:1;1407;1400:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1393:50;;1315:136;;;;:::o;17527:1393::-;17611:4;17657:13;;;;;;;;;;;:35;;;;17682:10;;;;;;;;;;;17674:18;;:4;:18;;;17657:35;17649:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17749:1;17733:18;;:4;:18;;;;17725:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17826:1;17812:16;;:2;:16;;;;17804:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17881:18;17902:5;17881:26;;17918:15;17936:37;11723:5;17937:20;17947:9;;17937:5;:9;;:20;;;;:::i;:::-;17936:26;;:37;;;;:::i;:::-;17918:55;;17998:1;17988:7;:11;17984:348;;;18062:33;18087:7;18062:9;:20;18072:9;;;;;;;;;;;18062:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;18039:9;:20;18049:9;;;;;;;;;;;18039:20;;;;;;;;;;;;;;;:56;;;;18125:25;18142:7;18125:12;;:16;;:25;;;;:::i;:::-;18110:12;:40;;;;18178:23;18193:7;18178:10;:14;;:23;;;;:::i;:::-;18165:36;;18236:28;18256:7;18236:15;;:19;;:28;;;;:::i;:::-;18218:15;:46;;;;18301:9;;;;;;;;;;;18286:34;;18295:4;18286:34;;;18312:7;18286:34;;;;;;;;;;;;;;;;;;17984:348;18344:17;18364:39;11723:5;18365:22;18375:11;;18365:5;:9;;:22;;;;:::i;:::-;18364:28;;:39;;;;:::i;:::-;18344:59;;18430:1;18418:9;:13;18414:314;;;18497:37;18524:9;18497;:22;18507:11;;;;;;;;;;;18497:22;;;;;;;;;;;;;;;;:26;;:37;;;;:::i;:::-;18472:9;:22;18482:11;;;;;;;;;;;18472:22;;;;;;;;;;;;;;;:62;;;;18562:25;18577:9;18562:10;:14;;:25;;;;:::i;:::-;18549:38;;18624:32;18646:9;18624:17;;:21;;:32;;;;:::i;:::-;18604:17;:52;;;;18693:11;;;;;;;;;;;18678:38;;18687:4;18678:38;;;18706:9;18678:38;;;;;;;;;;;;;;;;;;18414:314;18758:26;18778:5;18758:9;:15;18768:4;18758:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;18740:9;:15;18750:4;18740:15;;;;;;;;;;;;;;;:44;;;;18811:29;18829:10;18811:9;:13;18821:2;18811:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;18795:9;:13;18805:2;18795:13;;;;;;;;;;;;;;;:45;;;;18873:2;18858:30;;18867:4;18858:30;;;18877:10;18858:30;;;;;;;;;;;;;;;;;;18908:4;18901:11;;;;;17527:1393;;;;;:::o;859:181::-;917:7;937:9;953:1;949;:5;937:17;;978:1;973;:6;;965:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:1;1024:8;;;859:181;;;;:::o;1788:192::-;1874:7;1907:1;1902;:6;;1910:12;1894:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1894:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1934:9;1950:1;1946;:5;1934:17;;1971:1;1964:8;;;1788:192;;;;;:::o;2231:471::-;2289:7;2539:1;2534;:6;2530:47;;;2564:1;2557:8;;;;2530:47;2589:9;2605:1;2601;:5;2589:17;;2634:1;2629;2625;:5;;;;;;:10;2617:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2693:1;2686:8;;;2231:471;;;;;:::o;3170:132::-;3228:7;3255:39;3259:1;3262;3255:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3248:46;;3170:132;;;;:::o;3832:345::-;3918:7;4017:1;4013;:5;4020:12;4005:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4005:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:9;4060:1;4056;:5;;;;;;4044:17;;4168:1;4161:8;;;3832:345;;;;;:::o

Swarm Source

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