ETH Price: $3,391.45 (+1.56%)

Token

EasyGame (EG)
 

Overview

Max Total Supply

10,000,000,000 EG

Holders

113

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,448,610,127.64 EG

Value
$0.00
0xc08772c557cf2845334451919bee4a26508e06bc
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:
EasyGame

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2019-01-31
*/

pragma solidity ^0.4.24;

contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender)
        public view returns (uint256);

    function transferFrom(address from, address to, uint256 value)
        public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);
    
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeERC20 {
    function safeTransfer(
        ERC20Basic _token,
        address _to,
        uint256 _value
    ) internal
    {
        require(_token.transfer(_to, _value));
    }

    function safeTransferFrom(
        ERC20 _token,
        address _from,
        address _to,
        uint256 _value
    ) internal
    {
        require(_token.transferFrom(_from, _to, _value));
    }

    function safeApprove(
        ERC20 _token,
        address _spender,
        uint256 _value
    ) internal
    {
        require(_token.approve(_spender, _value));
    }
}

library SafeMath {
	/**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
		// Gas optimization: this is cheaper than asserting '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;
		}
        c = a * b;
        assert(c / a == b);
        return c;
    }

	/**
	* @dev Integer division of two numbers, truncating the quotient.
	*/
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
		// assert(b > 0); // Solidity automatically throws when dividing by 0
		// uint256 c = a / b;
		// assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return a / b;
    }

	/**
	* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
	*/
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }
	/**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}



/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;
    
    mapping(address => uint256) balances;
    
    uint256 totalSupply_;

    /**
    * @dev Total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }
    /**
    * @dev Transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        
        return true;
    }

	/**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/issues/20
 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;


    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom (
        address _from,
        address _to,
        uint256 _value
    ) public returns (bool)
    {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        
        emit Transfer(_from, _to, _value);
        
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        
        emit Approval(msg.sender, _spender, _value);
        
        return true;
    }

    function allowance (
        address _owner,
        address _spender
	)
		public
		view
		returns (uint256)
	{
        return allowed[_owner][_spender];
    }

    function increaseApproval(
        address _spender,
        uint256 _addedValue
	)
		public
		returns (bool)
	{
        allowed[msg.sender][_spender] = (
        allowed[msg.sender][_spender].add(_addedValue));
        
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        
        return true;
    }

	/**
    * @dev Decrease the amount of tokens that an owner allowed to a spender.
    * approve should be called when allowed[_spender] == 0. To decrement
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param _spender The address which will spend the funds.
    * @param _subtractedValue The amount of tokens to decrease the allowance by.
    */
    function decreaseApproval(
        address _spender,
        uint256 _subtractedValue
	) public returns (bool)
	{
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
		} else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
		}
        
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        
        return true;
    }
}

contract Ownable {
    uint8 constant MAX_BURN = 3;

    address[MAX_BURN] public chkBurnerList;
    
    mapping(address => bool) public burners;
    //mapping (address => bool) public owners;
    address owner;
    
    event AddedBurner(address indexed newBurner);
    event ChangeOwner(address indexed newOwner);
    event DeletedBurner(address indexed toDeleteBurner);

    constructor() public {
        owner = msg.sender;
    }
    modifier onlyOwner() {
        require(owner == msg.sender);
        _;
    }
    modifier onlyBurner(){
        require(burners[msg.sender]);
        _;
    }
    
    function changeOwnerShip(address newOwner) public onlyOwner returns(bool) {
        require(newOwner != address(0));
        owner = newOwner;
        
        emit ChangeOwner(newOwner);
        
        return true;
    }
    
    function addBurner(address burner, uint8 num) public onlyOwner returns (bool) {
        require(num < MAX_BURN);
        require(burner != address(0));
        require(chkBurnerList[num] == address(0));
        require(burners[burner] == false);

        burners[burner] = true;
        chkBurnerList[num] = burner;
        
        emit AddedBurner(burner);
        
        return true;
    }

    function deleteBurner(address burner, uint8 num) public onlyOwner returns (bool){
        require(num < MAX_BURN);
        require(burner != address(0));
        require(chkBurnerList[num] == burner);
        
        burners[burner] = false;

        chkBurnerList[num] = address(0);
        
        emit DeletedBurner(burner);
        
        return true;
    }
}

contract Blacklist is Ownable {

    mapping(address => bool) blacklisted;

    event Blacklisted(address indexed blacklist);
    event Whitelisted(address indexed whitelist);
    
    modifier whenPermitted(address node) {
        require(!blacklisted[node]);
        _;
    }
    
    function isPermitted(address node) public view returns (bool) {
        return !blacklisted[node];
    }

    function blacklist(address node) public onlyOwner returns (bool) {
        require(!blacklisted[node]);
        blacklisted[node] = true;
        emit Blacklisted(node);

        return blacklisted[node];
    }
   
    function unblacklist(address node) public onlyOwner returns (bool) {
        require(blacklisted[node]);
        blacklisted[node] = false;
        emit Whitelisted(node);

        return blacklisted[node];
    }
}

contract Burnlist is Blacklist {
    mapping(address => bool) public isburnlist;

    event Burnlisted(address indexed burnlist, bool signal);

    modifier isBurnlisted(address who) {
        require(isburnlist[who]);
        _;
    }

    function addBurnlist(address node) public onlyOwner returns (bool) {
        require(!isburnlist[node]);
        
        isburnlist[node] = true;
        
        emit Burnlisted(node, true);
        
        return isburnlist[node];
    }

    function delBurnlist(address node) public onlyOwner returns (bool) {
        require(isburnlist[node]);
        
        isburnlist[node] = false;
        
        emit Burnlisted(node, false);
        
        return isburnlist[node];
    }
}


contract PausableToken is StandardToken, Burnlist {
    
    bool public paused = false;
    
    event Paused(address addr);
    event Unpaused(address addr);

    constructor() public {
    }
    
    modifier whenNotPaused() {
        require(!paused || owner == msg.sender);
        _;
    }
   
    function pause() public onlyOwner returns (bool) {
        require(!paused);

        paused = true;
        
        emit Paused(msg.sender);

        return paused;
    }

    function unpause() public onlyOwner returns (bool) {
        require(paused);

        paused = false;
        
        emit Unpaused(msg.sender);

        return paused;
    }

    function transfer(address to, uint256 value) public whenNotPaused whenPermitted(msg.sender) returns (bool) {
       
        return super.transfer(to, value);
    }

    function transferFrom(address from, address to, uint256 value) public 
    whenNotPaused whenPermitted(from) whenPermitted(msg.sender) returns (bool) {
      
        return super.transferFrom(from, to, value);
    }

}
/**
 * @title EasyGame
 *
 */
contract EasyGame is PausableToken {
    
    event Burn(address indexed burner, uint256 value);
    event Mint(address indexed minter, uint256 value);

    string public constant name = "EasyGame";
    uint8 public constant decimals = 18;
    string public constant symbol = "EG";
    uint256 public constant INITIAL_SUPPLY = 1e10 * (10 ** uint256(decimals)); 

    constructor() public {
        totalSupply_ = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;
        
        emit Transfer(address(0), msg.sender, INITIAL_SUPPLY);
    }

    function destory() public onlyOwner returns (bool) {
        
        selfdestruct(owner);

        return true;
    }
 
    function mint(uint256 _amount) public onlyOwner returns (bool) {
        
        require(INITIAL_SUPPLY >= totalSupply_.add(_amount));
        
        totalSupply_ = totalSupply_.add(_amount);
        
        balances[owner] = balances[owner].add(_amount);

        emit Mint(owner, _amount);
        
        emit Transfer(address(0), owner, _amount);
        
        return true;
    }

 
    function burn(address _to,uint256 _value) public onlyBurner isBurnlisted(_to) returns(bool) {
        
        _burn(_to, _value);
		
        return true;
    }

    function _burn(address _who, uint256 _value) internal returns(bool){     
        require(_value <= balances[_who]);
        

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
    
        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
		
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwnerShip","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"burners","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"chkBurnerList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isburnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"delBurnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"node","type":"address"}],"name":"isPermitted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"addBurnlist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destory","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"unblacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"num","type":"uint8"}],"name":"addBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"node","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"num","type":"uint8"}],"name":"deleteBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burnlist","type":"address"},{"indexed":false,"name":"signal","type":"bool"}],"name":"Burnlisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blacklist","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"whitelist","type":"address"}],"name":"Whitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newBurner","type":"address"}],"name":"AddedBurner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newOwner","type":"address"}],"name":"ChangeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"toDeleteBurner","type":"address"}],"name":"DeletedBurner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600a60006101000a81548160ff02191690831515021790555034801561002b57600080fd5b5033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260ff16600a0a6402540be40002600181905550601260ff16600a0a6402540be400026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601260ff16600a0a6402540be400026040518082815260200191505060405180910390a3612fbc806101566000396000f300608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302be8e4e1461017a57806303d41e0e146101d557806306fdde0314610230578063095ea7b3146102c057806318160ddd146103255780631b9cddcc1461035057806323b872dd146103bd5780632e01161a146104425780632ff2e9dc1461049d578063313ce567146104c85780633b8157ef146104f95780633f4ba83a146105545780633fd8cc4e146105835780635c975abb146105de578063661884631461060d57806369255678146106725780636bdebcc9146106cd57806370a08231146106fc57806375e3661e146107535780638456cb59146107ae57806395d89b41146107dd5780639dc29fac1461086d578063a0712d68146108d2578063a9059cbb14610917578063d73dd6231461097c578063dd62ed3e146109e1578063ec27035014610a58578063f9f92be414610ac0578063fe069fb114610b1b575b600080fd5b34801561018657600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b83565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b50610216600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610caa565b604051808215151515815260200191505060405180910390f35b34801561023c57600080fd5b50610245610cca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028557808201518184015260208101905061026a565b50505050905090810190601f1680156102b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d03565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b5061033a610df5565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b5061037b60048036038101908080359060200190929190505050610dff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c957600080fd5b50610428600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e34565b604051808215151515815260200191505060405180910390f35b34801561044e57600080fd5b50610483600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f74565b604051808215151515815260200191505060405180910390f35b3480156104a957600080fd5b506104b2610f94565b6040518082815260200191505060405180910390f35b3480156104d457600080fd5b506104dd610fa6565b604051808260ff1660ff16815260200191505060405180910390f35b34801561050557600080fd5b5061053a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fab565b604051808215151515815260200191505060405180910390f35b34801561056057600080fd5b50610569611160565b604051808215151515815260200191505060405180910390f35b34801561058f57600080fd5b506105c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b604051808215151515815260200191505060405180910390f35b3480156105ea57600080fd5b506105f36112c3565b604051808215151515815260200191505060405180910390f35b34801561061957600080fd5b50610658600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d6565b604051808215151515815260200191505060405180910390f35b34801561067e57600080fd5b506106b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b3480156106d957600080fd5b506106e261171d565b604051808215151515815260200191505060405180910390f35b34801561070857600080fd5b5061073d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b6565b6040518082815260200191505060405180910390f35b34801561075f57600080fd5b50610794600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117fe565b604051808215151515815260200191505060405180910390f35b3480156107ba57600080fd5b506107c36119a3565b604051808215151515815260200191505060405180910390f35b3480156107e957600080fd5b506107f2611ab0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610832578082015181840152602081019050610817565b50505050905090810190601f16801561085f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087957600080fd5b506108b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ae9565b604051808215151515815260200191505060405180910390f35b3480156108de57600080fd5b506108fd60048036038101908080359060200190929190505050611bb2565b604051808215151515815260200191505060405180910390f35b34801561092357600080fd5b50610962600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e34565b604051808215151515815260200191505060405180910390f35b34801561098857600080fd5b506109c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f17565b604051808215151515815260200191505060405180910390f35b3480156109ed57600080fd5b50610a42600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612113565b6040518082815260200191505060405180910390f35b348015610a6457600080fd5b50610aa6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061219a565b604051808215151515815260200191505060405180910390f35b348015610acc57600080fd5b50610b01600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061240d565b604051808215151515815260200191505060405180910390f35b348015610b2757600080fd5b50610b69600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506125b3565b604051808215151515815260200191505060405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610be157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610c1d57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167ff285329298fd841af46eb83bbe90d1ebe2951c975a65b19a02f965f842ee69c560405160405180910390a260019050919050565b60066020528060005260406000206000915054906101000a900460ff1681565b6040805190810160405280600881526020017f4561737947616d6500000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b600381600381101515610e0e57fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60009054906101000a900460ff161580610e9f57503373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515610eaa57600080fd5b83600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f0457600080fd5b33600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f5e57600080fd5b610f698686866127c7565b925050509392505050565b60096020528060005260406000206000915054906101000a900460ff1681565b601260ff16600a0a6402540be4000281565b601281565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561100957600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561106157600080fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6000604051808215151515815260200191505060405180910390a2600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111be57600080fd5b600a60009054906101000a900460ff1615156111d957600080fd5b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600a60009054906101000a900460ff16905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600a60009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113e7576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061147b565b6113fa8382612b8190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156115c557600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561161e57600080fd5b6001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6001604051808215151515815260200191505060405180910390a2600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561177b57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561185c57600080fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156118b457600080fd5b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a2600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a0157600080fd5b600a60009054906101000a900460ff16151515611a1d57600080fd5b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600a60009054906101000a900460ff16905090565b6040805190810160405280600281526020017f454700000000000000000000000000000000000000000000000000000000000081525081565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b4357600080fd5b82600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b9c57600080fd5b611ba68484612b9a565b50600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c1057600080fd5b611c2582600154612d5590919063ffffffff16565b601260ff16600a0a6402540be4000210151515611c4157600080fd5b611c5682600154612d5590919063ffffffff16565b600181905550611ccf82600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a2600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600a60009054906101000a900460ff161580611e9f57503373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515611eaa57600080fd5b33600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f0457600080fd5b611f0e8484612d71565b91505092915050565b6000611fa882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156121f857600080fd5b600360ff168260ff1610151561220d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561224957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660038360ff1660038110151561227357fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156122b757600080fd5b60001515600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561231657600080fd5b6001600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260038360ff1660038110151561238157fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167fb2bea1aacb52292e22554458b37393c5c9afbdc4bb5edddf26805d0ad791005a60405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561246b57600080fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156124c457600080fd5b6001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a2600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561261157600080fd5b600360ff168260ff1610151561262657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561266257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660038360ff1660038110151561268b57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126cf57600080fd5b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060038360ff1660038110151561273b57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f560f25f18d7de8bf147a02a300cdcfd8c47e2ca258b2ead7d9e331f29ee488d960405160405180910390a26001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561280457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561285157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156128dc57600080fd5b61292d826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129c0826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000828211151515612b8f57fe5b818303905092915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612be957600080fd5b612c3a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9182600154612b8190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008183019050828110151515612d6857fe5b80905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612dae57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612dfb57600080fd5b612e4c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612edf826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820aae86f3a977660115599fb9001f80c4681cbf7680dda77bf53ba1406aa377d0f0029

Deployed Bytecode

0x608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302be8e4e1461017a57806303d41e0e146101d557806306fdde0314610230578063095ea7b3146102c057806318160ddd146103255780631b9cddcc1461035057806323b872dd146103bd5780632e01161a146104425780632ff2e9dc1461049d578063313ce567146104c85780633b8157ef146104f95780633f4ba83a146105545780633fd8cc4e146105835780635c975abb146105de578063661884631461060d57806369255678146106725780636bdebcc9146106cd57806370a08231146106fc57806375e3661e146107535780638456cb59146107ae57806395d89b41146107dd5780639dc29fac1461086d578063a0712d68146108d2578063a9059cbb14610917578063d73dd6231461097c578063dd62ed3e146109e1578063ec27035014610a58578063f9f92be414610ac0578063fe069fb114610b1b575b600080fd5b34801561018657600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b83565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b50610216600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610caa565b604051808215151515815260200191505060405180910390f35b34801561023c57600080fd5b50610245610cca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028557808201518184015260208101905061026a565b50505050905090810190601f1680156102b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d03565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b5061033a610df5565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b5061037b60048036038101908080359060200190929190505050610dff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c957600080fd5b50610428600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e34565b604051808215151515815260200191505060405180910390f35b34801561044e57600080fd5b50610483600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f74565b604051808215151515815260200191505060405180910390f35b3480156104a957600080fd5b506104b2610f94565b6040518082815260200191505060405180910390f35b3480156104d457600080fd5b506104dd610fa6565b604051808260ff1660ff16815260200191505060405180910390f35b34801561050557600080fd5b5061053a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fab565b604051808215151515815260200191505060405180910390f35b34801561056057600080fd5b50610569611160565b604051808215151515815260200191505060405180910390f35b34801561058f57600080fd5b506105c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b604051808215151515815260200191505060405180910390f35b3480156105ea57600080fd5b506105f36112c3565b604051808215151515815260200191505060405180910390f35b34801561061957600080fd5b50610658600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d6565b604051808215151515815260200191505060405180910390f35b34801561067e57600080fd5b506106b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b3480156106d957600080fd5b506106e261171d565b604051808215151515815260200191505060405180910390f35b34801561070857600080fd5b5061073d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b6565b6040518082815260200191505060405180910390f35b34801561075f57600080fd5b50610794600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117fe565b604051808215151515815260200191505060405180910390f35b3480156107ba57600080fd5b506107c36119a3565b604051808215151515815260200191505060405180910390f35b3480156107e957600080fd5b506107f2611ab0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610832578082015181840152602081019050610817565b50505050905090810190601f16801561085f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087957600080fd5b506108b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ae9565b604051808215151515815260200191505060405180910390f35b3480156108de57600080fd5b506108fd60048036038101908080359060200190929190505050611bb2565b604051808215151515815260200191505060405180910390f35b34801561092357600080fd5b50610962600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e34565b604051808215151515815260200191505060405180910390f35b34801561098857600080fd5b506109c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f17565b604051808215151515815260200191505060405180910390f35b3480156109ed57600080fd5b50610a42600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612113565b6040518082815260200191505060405180910390f35b348015610a6457600080fd5b50610aa6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061219a565b604051808215151515815260200191505060405180910390f35b348015610acc57600080fd5b50610b01600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061240d565b604051808215151515815260200191505060405180910390f35b348015610b2757600080fd5b50610b69600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506125b3565b604051808215151515815260200191505060405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610be157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610c1d57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167ff285329298fd841af46eb83bbe90d1ebe2951c975a65b19a02f965f842ee69c560405160405180910390a260019050919050565b60066020528060005260406000206000915054906101000a900460ff1681565b6040805190810160405280600881526020017f4561737947616d6500000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b600381600381101515610e0e57fe5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60009054906101000a900460ff161580610e9f57503373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515610eaa57600080fd5b83600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f0457600080fd5b33600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f5e57600080fd5b610f698686866127c7565b925050509392505050565b60096020528060005260406000206000915054906101000a900460ff1681565b601260ff16600a0a6402540be4000281565b601281565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561100957600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561106157600080fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6000604051808215151515815260200191505060405180910390a2600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111be57600080fd5b600a60009054906101000a900460ff1615156111d957600080fd5b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600a60009054906101000a900460ff16905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600a60009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156113e7576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061147b565b6113fa8382612b8190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156115c557600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561161e57600080fd5b6001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb24e6647db2742a3439d0a374e892f89a5a8f4619d2f5c5ed911d39a2516a47c6001604051808215151515815260200191505060405180910390a2600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561177b57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561185c57600080fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156118b457600080fd5b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a2600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a0157600080fd5b600a60009054906101000a900460ff16151515611a1d57600080fd5b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600a60009054906101000a900460ff16905090565b6040805190810160405280600281526020017f454700000000000000000000000000000000000000000000000000000000000081525081565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b4357600080fd5b82600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b9c57600080fd5b611ba68484612b9a565b50600191505092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c1057600080fd5b611c2582600154612d5590919063ffffffff16565b601260ff16600a0a6402540be4000210151515611c4157600080fd5b611c5682600154612d5590919063ffffffff16565b600181905550611ccf82600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a2600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600a60009054906101000a900460ff161580611e9f57503373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515611eaa57600080fd5b33600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f0457600080fd5b611f0e8484612d71565b91505092915050565b6000611fa882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156121f857600080fd5b600360ff168260ff1610151561220d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561224957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660038360ff1660038110151561227357fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156122b757600080fd5b60001515600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561231657600080fd5b6001600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260038360ff1660038110151561238157fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167fb2bea1aacb52292e22554458b37393c5c9afbdc4bb5edddf26805d0ad791005a60405160405180910390a26001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561246b57600080fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156124c457600080fd5b6001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a2600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561261157600080fd5b600360ff168260ff1610151561262657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561266257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1660038360ff1660038110151561268b57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126cf57600080fd5b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060038360ff1660038110151561273b57fe5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff167f560f25f18d7de8bf147a02a300cdcfd8c47e2ca258b2ead7d9e331f29ee488d960405160405180910390a26001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561280457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561285157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156128dc57600080fd5b61292d826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129c0826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000828211151515612b8f57fe5b818303905092915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612be957600080fd5b612c3a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9182600154612b8190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008183019050828110151515612d6857fe5b80905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612dae57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612dfb57600080fd5b612e4c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612edf826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820aae86f3a977660115599fb9001f80c4681cbf7680dda77bf53ba1406aa377d0f0029

Deployed Bytecode Sourcemap

11540:1655:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7735:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7735:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7212:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7212:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11702:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11702:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11702:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5374:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5374:226:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3173:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3173:91:0;;;;;;;;;;;;;;;;;;;;;;;7161:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7161:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11279:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11279:220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9678:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9678:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11834:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11834:73:0;;;;;;;;;;;;;;;;;;;;;;;11749:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11749:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10147:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10147:249:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10912:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10912:184:0;;;;;;;;;;;;;;;;;;;;;;;;;;;9074:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9074:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10468:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10468:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6606:488;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6606:488:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9891:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12116:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12116:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4026:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4026:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9415:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10724:180;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10724:180:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11791:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11791:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11791:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12663:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12663:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12248:404;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12248:404:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11104:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5784:345;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5784:345:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5608:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5608:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7977:406;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7977:406:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9188:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9188:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8391:377;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8391:377:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7735:230;7803:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;7848:1;7828:22;;:8;:22;;;;7820:31;;;;;;;;7870:8;7862:5;;:16;;;;;;;;;;;;;;;;;;7916:8;7904:21;;;;;;;;;;;;7953:4;7946:11;;7735:230;;;:::o;7212:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;11702:40::-;;;;;;;;;;;;;;;;;;;;:::o;5374:226::-;5441:4;5490:6;5458:7;:19;5466:10;5458:19;;;;;;;;;;;;;;;:29;5478:8;5458:29;;;;;;;;;;;;;;;:38;;;;5543:8;5522:38;;5531:10;5522:38;;;5553:6;5522:38;;;;;;;;;;;;;;;;;;5588:4;5581:11;;5374:226;;;;:::o;3173:91::-;3217:7;3244:12;;3237:19;;3173:91;:::o;7161:38::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11279:220::-;11424:4;10663:6;;;;;;;;;;;10662:7;:30;;;;10682:10;10673:19;;:5;;;;;;;;;;;:19;;;10662:30;10654:39;;;;;;;;11383:4;9024:11;:17;9036:4;9024:17;;;;;;;;;;;;;;;;;;;;;;;;;9023:18;9015:27;;;;;;;;11403:10;9024:11;:17;9036:4;9024:17;;;;;;;;;;;;;;;;;;;;;;;;;9023:18;9015:27;;;;;;;;11456:35;11475:4;11481:2;11485:5;11456:18;:35::i;:::-;11449:42;;9053:1;10704;11279:220;;;;;:::o;9678:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;11834:73::-;11782:2;11889:17;;11883:2;:23;11875:4;:32;11834:73;:::o;11749:35::-;11782:2;11749:35;:::o;10147:249::-;10208:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;10233:10;:16;10244:4;10233:16;;;;;;;;;;;;;;;;;;;;;;;;;10225:25;;;;;;;;10290:5;10271:10;:16;10282:4;10271:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;10332:4;10321:23;;;10338:5;10321:23;;;;;;;;;;;;;;;;;;;;;;10372:10;:16;10383:4;10372:16;;;;;;;;;;;;;;;;;;;;;;;;;10365:23;;10147:249;;;:::o;10912:184::-;10957:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;10982:6;;;;;;;;;;;10974:15;;;;;;;;11011:5;11002:6;;:14;;;;;;;;;;;;;;;;;;11042:20;11051:10;11042:20;;;;;;;;;;;;;;;;;;;;;;11082:6;;;;;;;;;;;11075:13;;10912:184;:::o;9074:106::-;9130:4;9155:11;:17;9167:4;9155:17;;;;;;;;;;;;;;;;;;;;;;;;;9154:18;9147:25;;9074:106;;;:::o;10468:26::-;;;;;;;;;;;;;:::o;6606:488::-;6714:4;6733:16;6752:7;:19;6760:10;6752:19;;;;;;;;;;;;;;;:29;6772:8;6752:29;;;;;;;;;;;;;;;;6733:48;;6815:8;6796:16;:27;6792:176;;;6872:1;6840:7;:19;6848:10;6840:19;;;;;;;;;;;;;;;:29;6860:8;6840:29;;;;;;;;;;;;;;;:33;;;;6792:176;;;6932:30;6945:16;6932:8;:12;;:30;;;;:::i;:::-;6900:7;:19;6908:10;6900:19;;;;;;;;;;;;;;;:29;6920:8;6900:29;;;;;;;;;;;;;;;:62;;;;6792:176;7014:8;6993:61;;7002:10;6993:61;;;7024:7;:19;7032:10;7024:19;;;;;;;;;;;;;;;:29;7044:8;7024:29;;;;;;;;;;;;;;;;6993:61;;;;;;;;;;;;;;;;;;7082:4;7075:11;;6606:488;;;;;:::o;9891:248::-;9952:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;9978:10;:16;9989:4;9978:16;;;;;;;;;;;;;;;;;;;;;;;;;9977:17;9969:26;;;;;;;;10035:4;10016:10;:16;10027:4;10016:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10076:4;10065:22;;;10082:4;10065:22;;;;;;;;;;;;;;;;;;;;;;10115:10;:16;10126:4;10115:16;;;;;;;;;;;;;;;;;;;;;;;;;10108:23;;9891:248;;;:::o;12116:123::-;12161:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;12201:5;;;;;;;;;;;12188:19;;;4026:107;4082:7;4109:8;:16;4118:6;4109:16;;;;;;;;;;;;;;;;4102:23;;4026:107;;;:::o;9415:218::-;9476:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;9501:11;:17;9513:4;9501:17;;;;;;;;;;;;;;;;;;;;;;;;;9493:26;;;;;;;;9550:5;9530:11;:17;9542:4;9530:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;9583:4;9571:17;;;;;;;;;;;;9608:11;:17;9620:4;9608:17;;;;;;;;;;;;;;;;;;;;;;;;;9601:24;;9415:218;;;:::o;10724:180::-;10767:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;10793:6;;;;;;;;;;;10792:7;10784:16;;;;;;;;10822:4;10813:6;;:13;;;;;;;;;;;;;;;;;;10852:18;10859:10;10852:18;;;;;;;;;;;;;;;;;;;;;;10890:6;;;;;;;;;;;10883:13;;10724:180;:::o;11791:36::-;;;;;;;;;;;;;;;;;;;;:::o;12663:165::-;12749:4;7683:7;:19;7691:10;7683:19;;;;;;;;;;;;;;;;;;;;;;;;;7675:28;;;;;;;;12736:3;9847:10;:15;9858:3;9847:15;;;;;;;;;;;;;;;;;;;;;;;;;9839:24;;;;;;;;12776:18;12782:3;12787:6;12776:5;:18::i;:::-;;12816:4;12809:11;;7714:1;12663:165;;;;:::o;12248:404::-;12305:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;12358:25;12375:7;12358:12;;:16;;:25;;;;:::i;:::-;11782:2;11889:17;;11883:2;:23;11875:4;:32;12340:43;;12332:52;;;;;;;;12420:25;12437:7;12420:12;;:16;;:25;;;;:::i;:::-;12405:12;:40;;;;12484:28;12504:7;12484:8;:15;12493:5;;;;;;;;;;;12484:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12466:8;:15;12475:5;;;;;;;;;;;12466:15;;;;;;;;;;;;;;;:46;;;;12535:5;;;;;;;;;;;12530:20;;;12542:7;12530:20;;;;;;;;;;;;;;;;;;12597:5;;;;;;;;;;;12576:36;;12593:1;12576:36;;;12604:7;12576:36;;;;;;;;;;;;;;;;;;12640:4;12633:11;;12248:404;;;:::o;11104:167::-;11205:4;10663:6;;;;;;;;;;;10662:7;:30;;;;10682:10;10673:19;;:5;;;;;;;;;;;:19;;;10662:30;10654:39;;;;;;;;11184:10;9024:11;:17;9036:4;9024:17;;;;;;;;;;;;;;;;;;;;;;;;;9023:18;9015:27;;;;;;;;11238:25;11253:2;11257:5;11238:14;:25::i;:::-;11231:32;;10704:1;11104:167;;;;:::o;5784:345::-;5893:4;5955:46;5989:11;5955:7;:19;5963:10;5955:19;;;;;;;;;;;;;;;:29;5975:8;5955:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;5912:7;:19;5920:10;5912:19;;;;;;;;;;;;;;;:29;5932:8;5912:29;;;;;;;;;;;;;;;:90;;;;6049:8;6028:61;;6037:10;6028:61;;;6059:7;:19;6067:10;6059:19;;;;;;;;;;;;;;;:29;6079:8;6059:29;;;;;;;;;;;;;;;;6028:61;;;;;;;;;;;;;;;;;;6117:4;6110:11;;5784:345;;;;:::o;5608:168::-;5714:7;5743;:15;5751:6;5743:15;;;;;;;;;;;;;;;:25;5759:8;5743:25;;;;;;;;;;;;;;;;5736:32;;5608:168;;;;:::o;7977:406::-;8049:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;7151:1;8074:14;;:3;:14;;;8066:23;;;;;;;;8126:1;8108:20;;:6;:20;;;;8100:29;;;;;;;;8178:1;8148:32;;:13;8162:3;8148:18;;;;;;;;;;;;;;;;;;;;;;:32;;;8140:41;;;;;;;;8219:5;8200:24;;:7;:15;8208:6;8200:15;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;8192:33;;;;;;;;8256:4;8238:7;:15;8246:6;8238:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;8292:6;8271:13;8285:3;8271:18;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8336:6;8324:19;;;;;;;;;;;;8371:4;8364:11;;7977:406;;;;:::o;9188:216::-;9247:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;9273:11;:17;9285:4;9273:17;;;;;;;;;;;;;;;;;;;;;;;;;9272:18;9264:27;;;;;;;;9322:4;9302:11;:17;9314:4;9302:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9354:4;9342:17;;;;;;;;;;;;9379:11;:17;9391:4;9379:17;;;;;;;;;;;;;;;;;;;;;;;;;9372:24;;9188:216;;;:::o;8391:377::-;8466:4;7606:10;7597:19;;:5;;;;;;;;;;;:19;;;7589:28;;;;;;;;7151:1;8490:14;;:3;:14;;;8482:23;;;;;;;;8542:1;8524:20;;:6;:20;;;;8516:29;;;;;;;;8586:6;8564:28;;:13;8578:3;8564:18;;;;;;;;;;;;;;;;;;;;;;:28;;;8556:37;;;;;;;;8632:5;8614:7;:15;8622:6;8614:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;8679:1;8650:13;8664:3;8650:18;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;8721:6;8707:21;;;;;;;;;;;;8756:4;8749:11;;8391:377;;;;:::o;4820:546::-;4937:4;4982:1;4967:17;;:3;:17;;;;4959:26;;;;;;;;5014:8;:15;5023:5;5014:15;;;;;;;;;;;;;;;;5004:6;:25;;4996:34;;;;;;;;5059:7;:14;5067:5;5059:14;;;;;;;;;;;;;;;:26;5074:10;5059:26;;;;;;;;;;;;;;;;5049:6;:36;;5041:45;;;;;;;;5115:27;5135:6;5115:8;:15;5124:5;5115:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5097:8;:15;5106:5;5097:15;;;;;;;;;;;;;;;:45;;;;5169:25;5187:6;5169:8;:13;5178:3;5169:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5153:8;:13;5162:3;5153:13;;;;;;;;;;;;;;;:41;;;;5234:38;5265:6;5234:7;:14;5242:5;5234:14;;;;;;;;;;;;;;;:26;5249:10;5234:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5205:7;:14;5213:5;5205:14;;;;;;;;;;;;;;;:26;5220:10;5205:26;;;;;;;;;;;;;;;:67;;;;5314:3;5298:28;;5307:5;5298:28;;;5319:6;5298:28;;;;;;;;;;;;;;;;;;5354:4;5347:11;;4820:546;;;;;:::o;2511:123::-;2569:7;2601:1;2596;:6;;2589:14;;;;;;2625:1;2621;:5;2614:12;;2511:123;;;;:::o;12836:356::-;12898:4;12937:8;:14;12946:4;12937:14;;;;;;;;;;;;;;;;12927:6;:24;;12919:33;;;;;;;;12992:26;13011:6;12992:8;:14;13001:4;12992:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;12975:8;:14;12984:4;12975:14;;;;;;;;;;;;;;;:43;;;;13044:24;13061:6;13044:12;;:16;;:24;;;;:::i;:::-;13029:12;:39;;;;13095:4;13090:18;;;13101:6;13090:18;;;;;;;;;;;;;;;;;;13147:1;13124:34;;13133:4;13124:34;;;13151:6;13124:34;;;;;;;;;;;;;;;;;;13180:4;13173:11;;12836:356;;;;:::o;2704:141::-;2762:9;2792:1;2788;:5;2784:9;;2816:1;2811;:6;;2804:14;;;;;;2836:1;2829:8;;2704:141;;;;:::o;3435:373::-;3498:4;3538:1;3523:17;;:3;:17;;;;3515:26;;;;;;;;3570:8;:20;3579:10;3570:20;;;;;;;;;;;;;;;;3560:6;:30;;3552:39;;;;;;;;3625:32;3650:6;3625:8;:20;3634:10;3625:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3602:8;:20;3611:10;3602:20;;;;;;;;;;;;;;;:55;;;;3684:25;3702:6;3684:8;:13;3693:3;3684:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3668:8;:13;3677:3;3668:13;;;;;;;;;;;;;;;:41;;;;3756:3;3735:33;;3744:10;3735:33;;;3761:6;3735:33;;;;;;;;;;;;;;;;;;3796:4;3789:11;;3435:373;;;;:::o

Swarm Source

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