ETH Price: $2,642.43 (+1.67%)

Token

kompass (KOMP)
 

Overview

Max Total Supply

1,000,000,000 KOMP

Holders

778 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
323,347.857373111877101879 KOMP

Value
$0.00
0x3dea142ff8f35a6d0d128eee772c2208a3ccc954
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Kompass is a decentralized digital asset service network. Kompass platform currency (KOMP) will rely on Kompass wallet to establish a simple, accurate and safe investment platform.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KOMP

Compiler Version
v0.5.6+commit.b259423e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-09-18
*/

pragma solidity ^0.5.6;

library SafeMath {
	/**
	  * @dev Multiplies two unsigned integers, reverts on overflow.
	  */
	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
		// benefit is lost if 'b' is also tested.
		if (a == 0) {
			return 0;
		}

		uint256 c = a * b;
		require(c / a == b);
		return c;
  }

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

	/**
		* @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
		*/
	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		require(b <= a);
		uint256 c = a - b;
		return c;
	}

	/**
		* @dev Adds two unsigned integers, reverts on overflow.
		*/
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		require(c >= a);
		return c;
	}
}

contract Ownable {
  address public owner;

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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


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

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

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

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

/**
 * @title Standard ERC20 token
 */
contract StandardToken {
  using SafeMath for uint256;

  mapping(address => uint256) internal balances;

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

  uint256 internal totalSupply_;

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 vaule
  );

  event Burn(address indexed from, uint256 value);

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the 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 Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

  /**
  * @dev Transfer token 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 Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

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

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

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * 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;
  }

  /**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
  function burn(uint256 _value) public {
  	require(balances[msg.sender] >= _value);
  	balances[msg.sender] = balances[msg.sender].sub(_value);
  	totalSupply_ = totalSupply_.sub(_value);
  	emit Transfer(msg.sender, address(0x00), _value);
  	emit Burn(msg.sender, _value);
  }

  /**
   * @dev Burns a specific amount of tokens from the target address and decrements allowance
   * @param _from address The account whose tokens will be burned.
   * @param _value uint256 The amount of token to be burned.
   */
   function burnFrom(address _from, uint256 _value) public {
  	require(allowed[_from][msg.sender] >= _value);
  	require(balances[_from] >= _value);

  	allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
  	balances[_from] = balances[_from].sub(_value);
  	totalSupply_ = totalSupply_.sub(_value);
  	emit Transfer(_from, address(0x00), _value);
  	emit Burn(_from, _value);
  }

}

/**
 * Overriding ERC-20 specification that lets owner Pause all trading.
 */
contract PausableToken is StandardToken, Pausable {

  function transfer(
    address _to,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transfer(_to, _value);
  }

  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transferFrom(_from, _to, _value);
  }

  function approve(
    address _spender,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.approve(_spender, _value);
  }

  function increaseApproval(
    address _spender,
    uint _addedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.increaseApproval(_spender, _addedValue);
  }

  function decreaseApproval(
    address _spender,
    uint _subtractedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.decreaseApproval(_spender, _subtractedValue);
  }
}

contract FreezeToken is PausableToken {
  mapping(address=>bool) public frozenAccount;
  event FrozenAccount(address indexed target, bool frozen);

  function frozenCheck(address target) internal view {
    require(!frozenAccount[target]);
  }

  function freezeAccount(address target, bool frozen) public onlyOwner {
  	frozenAccount[target] = frozen;
  	emit FrozenAccount(target, frozen);
  }

  function transfer(
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
    frozenCheck(msg.sender);
    frozenCheck(_to);
    return super.transfer(_to, _value);
  }

  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    frozenCheck(_from);
    frozenCheck(_to);
    return super.transferFrom(_from, _to, _value);
  }
}

contract KOMP is FreezeToken {
  string public name = "kompass";
  string public symbol = "KOMP"; 
  uint8 public decimals = 18;
  uint256 public initialSupply = 1000000000;
  mapping (address => string) public keys;
  
  event Register (address user, string key);
  
  constructor() public {
    totalSupply_ =  initialSupply * 10 ** uint256(decimals);
    balances[msg.sender] = totalSupply_;
    emit Transfer(address(0x00),msg.sender,totalSupply_);
  }
  
  function register(string memory key) public {
    keys[msg.sender] = key;
    emit Register(msg.sender, key);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"keys","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","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":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","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":"target","type":"address"},{"name":"frozen","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"key","type":"string"}],"name":"register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"key","type":"string"}],"name":"Register","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenAccount","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"vaule","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040526000600360146101000a81548160ff0219169083151502179055506040518060400160405280600781526020017f6b6f6d7061737300000000000000000000000000000000000000000000000000815250600590805190602001906200006c92919062000201565b506040518060400160405280600481526020017f4b4f4d500000000000000000000000000000000000000000000000000000000081525060069080519060200190620000ba92919062000201565b506012600760006101000a81548160ff021916908360ff160217905550633b9aca00600855348015620000ec57600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900460ff1660ff16600a0a600854026002819055506002546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6002546040518082815260200191505060405180910390a3620002b0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024457805160ff191683800117855562000275565b8280016001018555821562000275579182015b828111156200027457825182559160200191906001019062000257565b5b50905062000284919062000288565b5090565b620002ad91905b80821115620002a95760008160009055506001016200028f565b5090565b90565b61244880620002c06000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b414d4b61161007c578063b414d4b614610681578063d73dd623146106dd578063dd62ed3e14610743578063e724529c146107bb578063f2c298be1461080b578063f2fde38b146108c65761014d565b806370a082311461049e57806379cc6790146104f65780638456cb59146105445780638da5cb5b1461054e57806395d89b4114610598578063a9059cbb1461061b5761014d565b8063378dc3dc11610115578063378dc3dc146103035780633f4ba83a1461032157806342966c681461032b5780635c975abb14610359578063661884631461037b578063670d14b2146103e15761014d565b806306fdde0314610152578063095ea7b3146101d557806318160ddd1461023b57806323b872dd14610259578063313ce567146102df575b600080fd5b61015a61090a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019a57808201518184015260208101905061017f565b50505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610221600480360360408110156101eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109a8565b604051808215151515815260200191505060405180910390f35b6102436109d6565b6040518082815260200191505060405180910390f35b6102c56004803603606081101561026f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e0565b604051808215151515815260200191505060405180910390f35b6102e7610a22565b604051808260ff1660ff16815260200191505060405180910390f35b61030b610a35565b6040518082815260200191505060405180910390f35b610329610a3b565b005b6103576004803603602081101561034157600080fd5b8101908080359060200190929190505050610af7565b005b610361610ca7565b604051808215151515815260200191505060405180910390f35b6103c76004803603604081101561039157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cba565b604051808215151515815260200191505060405180910390f35b610423600480360360208110156103f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610463578082015181840152602081019050610448565b50505050905090810190601f1680156104905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104e0600480360360208110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d98565b6040518082815260200191505060405180910390f35b6105426004803603604081101561050c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de0565b005b61054c611129565b005b6105566111e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a061120c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e05780820151818401526020810190506105c5565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106676004803603604081101561063157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112aa565b604051808215151515815260200191505060405180910390f35b6106c36004803603602081101561069757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b604051808215151515815260200191505060405180910390f35b610729600480360360408110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112f0565b604051808215151515815260200191505060405180910390f35b6107a56004803603604081101561075957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b6040518082815260200191505060405180910390f35b610809600480360360408110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113a5565b005b6108c46004803603602081101561082157600080fd5b810190808035906020019064010000000081111561083e57600080fd5b82018360208201111561085057600080fd5b8035906020019184600183028401116401000000008311171561087257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114ac565b005b610908600480360360208110156108dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115d3565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109a05780601f10610975576101008083540402835291602001916109a0565b820191906000526020600020905b81548152906001019060200180831161098357829003601f168201915b505050505081565b6000600360149054906101000a900460ff16156109c457600080fd5b6109ce8383611639565b905092915050565b6000600254905090565b6000600360149054906101000a900460ff16156109fc57600080fd5b610a058461172b565b610a0e8361172b565b610a19848484611785565b90509392505050565b600760009054906101000a900460ff1681565b60085481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a9557600080fd5b600360149054906101000a900460ff16610aae57600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b4257600080fd5b610b93816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bea816002546117b590919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff1615610cd657600080fd5b610ce083836117d5565b905092915050565b60096020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d905780601f10610d6557610100808354040283529160200191610d90565b820191906000526020600020905b815481529060010190602001808311610d7357829003601f168201915b505050505081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e6957600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610eb457600080fd5b610f4381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611014816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b816002546117b590919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461118357600080fd5b600360149054906101000a900460ff161561119d57600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a25780601f10611277576101008083540402835291602001916112a2565b820191906000526020600020905b81548152906001019060200180831161128557829003601f168201915b505050505081565b60006112b53361172b565b6112be8361172b565b6112c88383611a65565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600360149054906101000a900460ff161561130c57600080fd5b6113168383611a93565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113ff57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f67a17b8db8ff8fa7cff69c2328bf8a35f9be2c88abeea30be900fc28eece28ed82604051808215151515815260200191505060405180910390a25050565b80600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906114ff929190612377565b507f6ba0831d2f62ae5cbf7214bcc1d79c5da1d705f12811efda0beaa840006f874e3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561159557808201518184015260208101905061157a565b50505050905090810190601f1680156115c25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461162d57600080fd5b61163681611c8f565b50565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561178257600080fd5b50565b6000600360149054906101000a900460ff16156117a157600080fd5b6117ac848484611d89565b90509392505050565b6000828211156117c457600080fd5b600082840390508091505092915050565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106118e5576000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611979565b6118f883826117b590919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600360149054906101000a900460ff1615611a8157600080fd5b611a8b838361213d565b905092915050565b6000611b2482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cc957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611e0f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611e9857600080fd5b611ee9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061204d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561217857600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156121c357600080fd5b612214826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122a7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101561236d57600080fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106123b857805160ff19168380011785556123e6565b828001600101855582156123e6579182015b828111156123e55782518255916020019190600101906123ca565b5b5090506123f391906123f7565b5090565b61241991905b808211156124155760008160009055506001016123fd565b5090565b9056fea165627a7a72305820c44c67400d4bc20ac5991a3bddb013fbd1799d7f944fb6ac29016eff295f82180029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b414d4b61161007c578063b414d4b614610681578063d73dd623146106dd578063dd62ed3e14610743578063e724529c146107bb578063f2c298be1461080b578063f2fde38b146108c65761014d565b806370a082311461049e57806379cc6790146104f65780638456cb59146105445780638da5cb5b1461054e57806395d89b4114610598578063a9059cbb1461061b5761014d565b8063378dc3dc11610115578063378dc3dc146103035780633f4ba83a1461032157806342966c681461032b5780635c975abb14610359578063661884631461037b578063670d14b2146103e15761014d565b806306fdde0314610152578063095ea7b3146101d557806318160ddd1461023b57806323b872dd14610259578063313ce567146102df575b600080fd5b61015a61090a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019a57808201518184015260208101905061017f565b50505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610221600480360360408110156101eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109a8565b604051808215151515815260200191505060405180910390f35b6102436109d6565b6040518082815260200191505060405180910390f35b6102c56004803603606081101561026f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e0565b604051808215151515815260200191505060405180910390f35b6102e7610a22565b604051808260ff1660ff16815260200191505060405180910390f35b61030b610a35565b6040518082815260200191505060405180910390f35b610329610a3b565b005b6103576004803603602081101561034157600080fd5b8101908080359060200190929190505050610af7565b005b610361610ca7565b604051808215151515815260200191505060405180910390f35b6103c76004803603604081101561039157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cba565b604051808215151515815260200191505060405180910390f35b610423600480360360208110156103f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610463578082015181840152602081019050610448565b50505050905090810190601f1680156104905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104e0600480360360208110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d98565b6040518082815260200191505060405180910390f35b6105426004803603604081101561050c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de0565b005b61054c611129565b005b6105566111e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a061120c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e05780820151818401526020810190506105c5565b50505050905090810190601f16801561060d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106676004803603604081101561063157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112aa565b604051808215151515815260200191505060405180910390f35b6106c36004803603602081101561069757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b604051808215151515815260200191505060405180910390f35b610729600480360360408110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112f0565b604051808215151515815260200191505060405180910390f35b6107a56004803603604081101561075957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b6040518082815260200191505060405180910390f35b610809600480360360408110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113a5565b005b6108c46004803603602081101561082157600080fd5b810190808035906020019064010000000081111561083e57600080fd5b82018360208201111561085057600080fd5b8035906020019184600183028401116401000000008311171561087257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114ac565b005b610908600480360360208110156108dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115d3565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109a05780601f10610975576101008083540402835291602001916109a0565b820191906000526020600020905b81548152906001019060200180831161098357829003601f168201915b505050505081565b6000600360149054906101000a900460ff16156109c457600080fd5b6109ce8383611639565b905092915050565b6000600254905090565b6000600360149054906101000a900460ff16156109fc57600080fd5b610a058461172b565b610a0e8361172b565b610a19848484611785565b90509392505050565b600760009054906101000a900460ff1681565b60085481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a9557600080fd5b600360149054906101000a900460ff16610aae57600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b4257600080fd5b610b93816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bea816002546117b590919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff1615610cd657600080fd5b610ce083836117d5565b905092915050565b60096020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d905780601f10610d6557610100808354040283529160200191610d90565b820191906000526020600020905b815481529060010190602001808311610d7357829003601f168201915b505050505081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e6957600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610eb457600080fd5b610f4381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611014816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b816002546117b590919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461118357600080fd5b600360149054906101000a900460ff161561119d57600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a25780601f10611277576101008083540402835291602001916112a2565b820191906000526020600020905b81548152906001019060200180831161128557829003601f168201915b505050505081565b60006112b53361172b565b6112be8361172b565b6112c88383611a65565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600360149054906101000a900460ff161561130c57600080fd5b6113168383611a93565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113ff57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f67a17b8db8ff8fa7cff69c2328bf8a35f9be2c88abeea30be900fc28eece28ed82604051808215151515815260200191505060405180910390a25050565b80600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906114ff929190612377565b507f6ba0831d2f62ae5cbf7214bcc1d79c5da1d705f12811efda0beaa840006f874e3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561159557808201518184015260208101905061157a565b50505050905090810190601f1680156115c25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461162d57600080fd5b61163681611c8f565b50565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561178257600080fd5b50565b6000600360149054906101000a900460ff16156117a157600080fd5b6117ac848484611d89565b90509392505050565b6000828211156117c457600080fd5b600082840390508091505092915050565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106118e5576000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611979565b6118f883826117b590919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600360149054906101000a900460ff1615611a8157600080fd5b611a8b838361213d565b905092915050565b6000611b2482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cc957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611e0f57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611e9857600080fd5b611ee9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061204d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561217857600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156121c357600080fd5b612214826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122a7826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101561236d57600080fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106123b857805160ff19168380011785556123e6565b828001600101855582156123e6579182015b828111156123e55782518255916020019190600101906123ca565b5b5090506123f391906123f7565b5090565b61241991905b808211156124155760008160009055506001016123fd565b5090565b9056fea165627a7a72305820c44c67400d4bc20ac5991a3bddb013fbd1799d7f944fb6ac29016eff295f82180029

Deployed Bytecode Sourcemap

11421:596:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11421:596:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11455:30;;;:::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;11455:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9945:171;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9945:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3734:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11168:246;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11168:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11525:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11556:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3053:95;;;:::i;:::-;;8494:283;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8494:283:0;;;;;;;;;;;;;;;;;:::i;:::-;;2432:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10332:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10332:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11602:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11602:39: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;11602:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4028:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4028:101:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9022:403;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9022:403:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2873:93;;;:::i;:::-;;1301:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11490:29;;;:::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;11490:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10965:197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10965:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10596:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10596:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10122:204;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10122:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4456:162;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4456:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10808:151;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10808:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11898:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11898:116:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11898:116:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11898:116:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11898:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11898:116:0;;;;;;;;;;;;;;;:::i;:::-;;1930:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1930:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11455:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9945:171::-;10056:4;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;10079:31;10093:8;10103:6;10079:13;:31::i;:::-;10072:38;;9945:171;;;;:::o;3734:85::-;3778:7;3801:12;;3794:19;;3734:85;:::o;11168:246::-;11299:4;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;11315:18;11327:5;11315:11;:18::i;:::-;11340:16;11352:3;11340:11;:16::i;:::-;11370:38;11389:5;11396:3;11401:6;11370:18;:38::i;:::-;11363:45;;11168:246;;;;;:::o;11525:26::-;;;;;;;;;;;;;:::o;11556:41::-;;;;:::o;3053:95::-;1742:5;;;;;;;;;;;1728:19;;:10;:19;;;1720:28;;;;;;2768:6;;;;;;;;;;;2760:15;;;;;;3116:5;3107:6;;:14;;;;;;;;;;;;;;;;;;3133:9;;;;;;;;;;3053:95::o;8494:283::-;8569:6;8545:8;:20;8554:10;8545:20;;;;;;;;;;;;;;;;:30;;8537:39;;;;;;8605:32;8630:6;8605:8;:20;8614:10;8605:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8582:8;:20;8591:10;8582:20;;;;;;;;;;;;;;;:55;;;;8658:24;8675:6;8658:12;;:16;;:24;;;;:::i;:::-;8643:12;:39;;;;8722:4;8693:43;;8702:10;8693:43;;;8729:6;8693:43;;;;;;;;;;;;;;;;;;8752:10;8747:24;;;8764:6;8747:24;;;;;;;;;;;;;;;;;;8494:283;:::o;2432:26::-;;;;;;;;;;;;;:::o;10332:214::-;10459:12;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;10490:50;10513:8;10523:16;10490:22;:50::i;:::-;10483:57;;10332:214;;;;:::o;11602:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4028:101::-;4084:7;4107:8;:16;4116:6;4107:16;;;;;;;;;;;;;;;;4100:23;;4028:101;;;:::o;9022:403::-;9122:6;9092:7;:14;9100:5;9092:14;;;;;;;;;;;;;;;:26;9107:10;9092:26;;;;;;;;;;;;;;;;:36;;9084:45;;;;;;9162:6;9143:8;:15;9152:5;9143:15;;;;;;;;;;;;;;;;:25;;9135:34;;;;;;9206:38;9237:6;9206:7;:14;9214:5;9206:14;;;;;;;;;;;;;;;:26;9221:10;9206:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;9177:7;:14;9185:5;9177:14;;;;;;;;;;;;;;;:26;9192:10;9177:26;;;;;;;;;;;;;;;:67;;;;9268:27;9288:6;9268:8;:15;9277:5;9268:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9250:8;:15;9259:5;9250:15;;;;;;;;;;;;;;;:45;;;;9316:24;9333:6;9316:12;;:16;;:24;;;;:::i;:::-;9301:12;:39;;;;9375:4;9351:38;;9360:5;9351:38;;;9382:6;9351:38;;;;;;;;;;;;;;;;;;9405:5;9400:19;;;9412:6;9400:19;;;;;;;;;;;;;;;;;;9022:403;;:::o;2873:93::-;1742:5;;;;;;;;;;;1728:19;;:10;:19;;;1720:28;;;;;;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;2937:4;2928:6;;:13;;;;;;;;;;;;;;;;;;2953:7;;;;;;;;;;2873:93::o;1301:20::-;;;;;;;;;;;;;:::o;11490:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10965:197::-;11053:4;11069:23;11081:10;11069:11;:23::i;:::-;11099:16;11111:3;11099:11;:16::i;:::-;11129:27;11144:3;11149:6;11129:14;:27::i;:::-;11122:34;;10965:197;;;;:::o;10596:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;10122:204::-;10244:12;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;10275:45;10298:8;10308:11;10275:22;:45::i;:::-;10268:52;;10122:204;;;;:::o;4456:162::-;4561:7;4587;:15;4595:6;4587:15;;;;;;;;;;;;;;;:25;4603:8;4587:25;;;;;;;;;;;;;;;;4580:32;;4456:162;;;;:::o;10808:151::-;1742:5;;;;;;;;;;;1728:19;;:10;:19;;;1720:28;;;;;;10907:6;10883:13;:21;10897:6;10883:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;10938:6;10924:29;;;10946:6;10924:29;;;;;;;;;;;;;;;;;;;;;;10808:151;;:::o;11898:116::-;11968:3;11949:4;:16;11954:10;11949:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:::i;:::-;;11983:25;11992:10;12004:3;11983:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11983:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11898:116;:::o;1930:105::-;1742:5;;;;;;;;;;;1728:19;;:10;:19;;;1720:28;;;;;;2000:29;2019:9;2000:18;:29::i;:::-;1930:105;:::o;5737:192::-;5804:4;5849:6;5817:7;:19;5825:10;5817:19;;;;;;;;;;;;;;;:29;5837:8;5817:29;;;;;;;;;;;;;;;:38;;;;5888:8;5867:38;;5876:10;5867:38;;;5898:6;5867:38;;;;;;;;;;;;;;;;;;5919:4;5912:11;;5737:192;;;;:::o;10707:95::-;10774:13;:21;10788:6;10774:21;;;;;;;;;;;;;;;;;;;;;;;;;10773:22;10765:31;;;;;;10707:95;:::o;9741:198::-;9872:4;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;9895:38;9914:5;9921:3;9926:6;9895:18;:38::i;:::-;9888:45;;9741:198;;;;;:::o;942:127::-;1000:7;1027:1;1022;:6;;1014:15;;;;;;1034:9;1050:1;1046;:5;1034:17;;1063:1;1056:8;;;942:127;;;;:::o;7927:447::-;8038:4;8054:16;8073:7;:19;8081:10;8073:19;;;;;;;;;;;;;;;:29;8093:8;8073:29;;;;;;;;;;;;;;;;8054:48;;8133:8;8113:16;:28;8109:169;;8184:1;8152:7;:19;8160:10;8152:19;;;;;;;;;;;;;;;:29;8172:8;8152:29;;;;;;;;;;;;;;;:33;;;;8109:169;;;8240:30;8253:16;8240:8;:12;;:30;;;;:::i;:::-;8208:7;:19;8216:10;8208:19;;;;;;;;;;;;;;;:29;8228:8;8208:29;;;;;;;;;;;;;;;:62;;;;8109:169;8310:8;8289:61;;8298:10;8289:61;;;8320:7;:19;8328:10;8320:19;;;;;;;;;;;;;;;:29;8340:8;8320:29;;;;;;;;;;;;;;;;8289:61;;;;;;;;;;;;;;;;;;8364:4;8357:11;;;7927:447;;;;:::o;9572:163::-;9679:4;2608:6;;;;;;;;;;;2607:7;2599:16;;;;;;9702:27;9717:3;9722:6;9702:14;:27::i;:::-;9695:34;;9572:163;;;;:::o;7162:297::-;7268:4;7316:46;7350:11;7316:7;:19;7324:10;7316:19;;;;;;;;;;;;;;;:29;7336:8;7316:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;7284:7;:19;7292:10;7284:19;;;;;;;;;;;;;;;:29;7304:8;7284:29;;;;;;;;;;;;;;;:78;;;;7395:8;7374:61;;7383:10;7374:61;;;7405:7;:19;7413:10;7405:19;;;;;;;;;;;;;;;:29;7425:8;7405:29;;;;;;;;;;;;;;;;7374:61;;;;;;;;;;;;;;;;;;7449:4;7442:11;;7162:297;;;;:::o;2176:175::-;2268:1;2247:23;;:9;:23;;;;2239:32;;;;;;2311:9;2283:38;;2304:5;;;;;;;;;;;2283:38;;;;;;;;;;;;2336:9;2328:5;;:17;;;;;;;;;;;;;;;;;;2176:175;:::o;6212:487::-;6324:4;6363:1;6348:17;;:3;:17;;;;6340:26;;;;;;6391:8;:15;6400:5;6391:15;;;;;;;;;;;;;;;;6381:6;:25;;6373:34;;;;;;6432:7;:14;6440:5;6432:14;;;;;;;;;;;;;;;:26;6447:10;6432:26;;;;;;;;;;;;;;;;6422:6;:36;;6414:45;;;;;;6486:27;6506:6;6486:8;:15;6495:5;6486:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6468:8;:15;6477:5;6468:15;;;;;;;;;;;;;;;:45;;;;6536:25;6554:6;6536:8;:13;6545:3;6536:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6520:8;:13;6529:3;6520:13;;;;;;;;;;;;;;;:41;;;;6597:38;6628:6;6597:7;:14;6605:5;6597:14;;;;;;;;;;;;;;;:26;6612:10;6597:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6568:7;:14;6576:5;6568:14;;;;;;;;;;;;;;;:26;6583:10;6568:26;;;;;;;;;;;;;;;:67;;;;6663:3;6647:28;;6656:5;6647:28;;;6668:6;6647:28;;;;;;;;;;;;;;;;;;6689:4;6682:11;;6212:487;;;;;:::o;4779:329::-;4842:4;4878:1;4863:17;;:3;:17;;;;4855:26;;;;;;4906:8;:20;4915:10;4906:20;;;;;;;;;;;;;;;;4896:6;:30;;4888:39;;;;;;4959:32;4984:6;4959:8;:20;4968:10;4959:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4936:8;:20;4945:10;4936:20;;;;;;;;;;;;;;;:55;;;;5014:25;5032:6;5014:8;:13;5023:3;5014:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4998:8;:13;5007:3;4998:13;;;;;;;;;;;;;;;:41;;;;5072:3;5051:33;;5060:10;5051:33;;;5077:6;5051:33;;;;;;;;;;;;;;;;;;5098:4;5091:11;;4779:329;;;;:::o;1145:127::-;1203:7;1217:9;1233:1;1229;:5;1217:17;;1252:1;1247;:6;;1239:15;;;;;;1266:1;1259:8;;;1145:127;;;;:::o;11421:596::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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