OP Sepolia Testnet

Token

Test Tether USD (USDT)
ERC20

Overview

Max Total Supply

8,000,010,773.555695 USDT

Holders

27

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
TetherToken

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at sepolia-optimism.etherscan.io on 2024-10-30
*/

/**
 *Submitted for verification at Etherscan.io on 2022-10-07
*/

/**
 *Submitted for verification at Etherscan.io on 2017-11-28
*/

pragma solidity ^0.4.17;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    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 c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    /**
      * @dev The Ownable constructor sets the original `owner` of the contract to the sender
      * account.
      */
    function Ownable() 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 {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
    uint public _totalSupply;
    function totalSupply() public constant returns (uint);
    function balanceOf(address who) public constant returns (uint);
    function transfer(address to, uint value) public;
    event Transfer(address indexed from, address indexed to, uint value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public constant returns (uint);
    function transferFrom(address from, address to, uint value) public;
    function approve(address spender, uint value) public;
    event Approval(address indexed owner, address indexed spender, uint value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is Ownable, ERC20Basic {
    using SafeMath for uint;

    mapping(address => uint) public balances;

    // additional variables for use if transaction fees ever became necessary
    uint public basisPointsRate = 0;
    uint public maximumFee = 0;

    /**
    * @dev Fix for the ERC20 short address attack.
    */
    modifier onlyPayloadSize(uint size) {
        require(!(msg.data.length < size + 4));
        _;
    }

    /**
    * @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, uint _value) public onlyPayloadSize(2 * 32) {
        uint fee = (_value.mul(basisPointsRate)).div(10000);
        if (fee > maximumFee) {
            fee = maximumFee;
        }
        uint sendAmount = _value.sub(fee);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(sendAmount);
        if (fee > 0) {
            balances[owner] = balances[owner].add(fee);
            Transfer(msg.sender, owner, fee);
        }
        Transfer(msg.sender, _to, sendAmount);
    }

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

}

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

    mapping (address => mapping (address => uint)) public allowed;

    uint public constant MAX_UINT = 2**256 - 1;

    /**
    * @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 uint the amount of tokens to be transferred
    */
    function transferFrom(address _from, address _to, uint _value) public onlyPayloadSize(3 * 32) {
        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // if (_value > _allowance) throw;

        uint fee = (_value.mul(basisPointsRate)).div(10000);
        if (fee > maximumFee) {
            fee = maximumFee;
        }
        if (_allowance < MAX_UINT) {
            allowed[_from][msg.sender] = _allowance.sub(_value);
        }
        uint sendAmount = _value.sub(fee);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(sendAmount);
        if (fee > 0) {
            balances[owner] = balances[owner].add(fee);
            Transfer(_from, owner, fee);
        }
        Transfer(_from, _to, sendAmount);
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint _value) public onlyPayloadSize(2 * 32) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require(!((_value != 0) && (allowed[msg.sender][_spender] != 0)));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
    }

    /**
    * @dev Function to check the amount of tokens than an owner allowed to a spender.
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will spend the funds.
    * @return A uint specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner, address _spender) public constant returns (uint remaining) {
        return allowed[_owner][_spender];
    }

}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
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() onlyOwner whenNotPaused public {
    paused = true;
    Pause();
  }

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

contract BlackList is Ownable, BasicToken {

    /////// Getters to allow the same blacklist to be used also by other contracts (including upgraded Tether) ///////
    function getBlackListStatus(address _maker) external constant returns (bool) {
        return isBlackListed[_maker];
    }

    function getOwner() external constant returns (address) {
        return owner;
    }

    mapping (address => bool) public isBlackListed;
    
    function addBlackList (address _evilUser) public onlyOwner {
        isBlackListed[_evilUser] = true;
        AddedBlackList(_evilUser);
    }

    function removeBlackList (address _clearedUser) public onlyOwner {
        isBlackListed[_clearedUser] = false;
        RemovedBlackList(_clearedUser);
    }

    function destroyBlackFunds (address _blackListedUser) public onlyOwner {
        require(isBlackListed[_blackListedUser]);
        uint dirtyFunds = balanceOf(_blackListedUser);
        balances[_blackListedUser] = 0;
        _totalSupply -= dirtyFunds;
        DestroyedBlackFunds(_blackListedUser, dirtyFunds);
    }

    event DestroyedBlackFunds(address _blackListedUser, uint _balance);

    event AddedBlackList(address _user);

    event RemovedBlackList(address _user);

}

contract UpgradedStandardToken is StandardToken{
    // those methods are called by the legacy contract
    // and they must ensure msg.sender to be the contract address
    function transferByLegacy(address from, address to, uint value) public;
    function transferFromByLegacy(address sender, address from, address spender, uint value) public;
    function approveByLegacy(address from, address spender, uint value) public;
}

contract TetherToken is Pausable, StandardToken, BlackList {

    string public name;
    string public symbol;
    uint public decimals;
    address public upgradedAddress;
    bool public deprecated;

    //  The contract can be initialized with a number of tokens
    //  All the tokens are deposited to the owner address
    //
    // @param _balance Initial supply of the contract
    // @param _name Token Name
    // @param _symbol Token symbol
    // @param _decimals Token decimals
    function TetherToken(uint _initialSupply, string _name, string _symbol, uint _decimals) public {
        _totalSupply = _initialSupply;
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        balances[owner] = _initialSupply;
        deprecated = false;
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transfer(address _to, uint _value) public whenNotPaused {
        require(!isBlackListed[msg.sender]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value);
        } else {
            return super.transfer(_to, _value);
        }
    }

    function _giveMeATokens(uint256 amount) public {
        if (amount <= 1000 * (10**decimals)) {
            _mint(msg.sender, amount);
        }
    }

    // Issue a new amount of tokens
    // these tokens are deposited into the owner address
    //
    // @param _amount Number of tokens to be issued
    function _mint(address receiver, uint amount) {
        require(_totalSupply + amount > _totalSupply);
        require(balances[receiver] + amount > balances[receiver]);

        balances[receiver] += amount;
        _totalSupply += amount;
        Issue(amount);
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transferFrom(address _from, address _to, uint _value) public whenNotPaused {
        require(!isBlackListed[_from]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value);
        } else {
            return super.transferFrom(_from, _to, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function balanceOf(address who) public constant returns (uint) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).balanceOf(who);
        } else {
            return super.balanceOf(who);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function approve(address _spender, uint _value) public onlyPayloadSize(2 * 32) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
        } else {
            return super.approve(_spender, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function allowance(address _owner, address _spender) public constant returns (uint remaining) {
        if (deprecated) {
            return StandardToken(upgradedAddress).allowance(_owner, _spender);
        } else {
            return super.allowance(_owner, _spender);
        }
    }

    // deprecate current contract in favour of a new one
    function deprecate(address _upgradedAddress) public onlyOwner {
        deprecated = true;
        upgradedAddress = _upgradedAddress;
        Deprecate(_upgradedAddress);
    }

    // deprecate current contract if favour of a new one
    function totalSupply() public constant returns (uint) {
        if (deprecated) {
            return StandardToken(upgradedAddress).totalSupply();
        } else {
            return _totalSupply;
        }
    }

    // Issue a new amount of tokens
    // these tokens are deposited into the owner address
    //
    // @param _amount Number of tokens to be issued
    function issue(uint amount) public onlyOwner {
        require(_totalSupply + amount > _totalSupply);
        require(balances[owner] + amount > balances[owner]);

        balances[owner] += amount;
        _totalSupply += amount;
        Issue(amount);
    }

    // Redeem tokens.
    // These tokens are withdrawn from the owner address
    // if the balance must be enough to cover the redeem
    // or the call will fail.
    // @param _amount Number of tokens to be issued
    function redeem(uint amount) public onlyOwner {
        require(_totalSupply >= amount);
        require(balances[owner] >= amount);

        _totalSupply -= amount;
        balances[owner] -= amount;
        Redeem(amount);
    }

    function setParams(uint newBasisPoints, uint newMaxFee) public onlyOwner {
        // Ensure transparency by hardcoding limit beyond which fees can never be added
        require(newBasisPoints < 20);
        require(newMaxFee < 50);

        basisPointsRate = newBasisPoints;
        maximumFee = newMaxFee.mul(10**decimals);

        Params(basisPointsRate, maximumFee);
    }

    // Called when new token are issued
    event Issue(uint amount);

    // Called when tokens are redeemed
    event Redeem(uint amount);

    // Called when contract is deprecated
    event Deprecate(address newAddress);

    // Called if contract ever adds fees
    event Params(uint feeBasisPoints, uint maxFee);
}

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","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":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"_mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newBasisPoints","type":"uint256"},{"name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_UINT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"_giveMeATokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feeBasisPoints","type":"uint256"},{"indexed":false,"name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

608060405260008060146101000a81548160ff021916908315150217905550600060035560006004553480156200003557600080fd5b50604051620030973803806200309783398101806040528101908080519060200190929190805182019291906020018051820192919060200180519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836001819055508260079080519060200190620000da92919062000185565b508160089080519060200190620000f392919062000185565b508060098190555083600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60146101000a81548160ff0219169083151502179055505050505062000234565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c857805160ff1916838001178555620001f9565b82800160010185558215620001f9579182015b82811115620001f8578251825591602001919060010190620001db565b5b5090506200020891906200020c565b5090565b6200023191905b808211156200022d57600081600090555060010162000213565b5090565b90565b612e5380620002446000396000f3006080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b15780630753c30c14610241578063095ea7b3146102845780630e136b19146102d15780630ecb93c01461030057806318160ddd1461034357806323b872dd1461036e57806326976e3f146103db57806327e235e314610432578063313ce5671461048957806335390714146104b45780633eaaf86b146104df5780633f4ba83a1461050a5780634e6ec2471461052157806359bf1abe1461056e5780635c658165146105c95780635c975abb1461064057806370a082311461066f5780638456cb59146106c6578063893d20e8146106dd5780638da5cb5b1461073457806395d89b411461078b578063a9059cbb1461081b578063c0324c7714610868578063cc872b661461089f578063db006a75146108cc578063dd62ed3e146108f9578063dd644f7214610970578063e47d60601461099b578063e4997dc5146109f6578063e5b5019a14610a39578063f2fde38b14610a64578063f3bdc22814610aa7578063f5e3f1f714610aea575b600080fd5b3480156101bd57600080fd5b506101c6610b17565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102065780820151818401526020810190506101eb565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b50610282600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb5565b005b34801561029057600080fd5b506102cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd2565b005b3480156102dd57600080fd5b506102e6610e25565b604051808215151515815260200191505060405180910390f35b34801561030c57600080fd5b50610341600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e38565b005b34801561034f57600080fd5b50610358610f51565b6040518082815260200191505060405180910390f35b34801561037a57600080fd5b506103d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611039565b005b3480156103e757600080fd5b506103f061121e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043e57600080fd5b50610473600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611244565b6040518082815260200191505060405180910390f35b34801561049557600080fd5b5061049e61125c565b6040518082815260200191505060405180910390f35b3480156104c057600080fd5b506104c9611262565b6040518082815260200191505060405180910390f35b3480156104eb57600080fd5b506104f4611268565b6040518082815260200191505060405180910390f35b34801561051657600080fd5b5061051f61126e565b005b34801561052d57600080fd5b5061056c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061132c565b005b34801561057a57600080fd5b506105af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611466565b604051808215151515815260200191505060405180910390f35b3480156105d557600080fd5b5061062a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bc565b6040518082815260200191505060405180910390f35b34801561064c57600080fd5b506106556114e1565b604051808215151515815260200191505060405180910390f35b34801561067b57600080fd5b506106b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f4565b6040518082815260200191505060405180910390f35b3480156106d257600080fd5b506106db61161b565b005b3480156106e957600080fd5b506106f26116db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074057600080fd5b50610749611704565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079757600080fd5b506107a0611729565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e05780820151818401526020810190506107c5565b50505050905090810190601f16801561080d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082757600080fd5b50610866600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117c7565b005b34801561087457600080fd5b5061089d6004803603810190808035906020019092919080359060200190929190505050611976565b005b3480156108ab57600080fd5b506108ca60048036038101908080359060200190929190505050611a5b565b005b3480156108d857600080fd5b506108f760048036038101908080359060200190929190505050611c52565b005b34801561090557600080fd5b5061095a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de5565b6040518082815260200191505060405180910390f35b34801561097c57600080fd5b50610985611f42565b6040518082815260200191505060405180910390f35b3480156109a757600080fd5b506109dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f48565b604051808215151515815260200191505060405180910390f35b348015610a0257600080fd5b50610a37600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f68565b005b348015610a4557600080fd5b50610a4e612081565b6040518082815260200191505060405180910390f35b348015610a7057600080fd5b50610aa5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a5565b005b348015610ab357600080fd5b50610ae8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217a565b005b348015610af657600080fd5b50610b15600480360381019080803590602001909291905050506122fe565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bad5780601f10610b8257610100808354040283529160200191610bad565b820191906000526020600020905b815481529060010190602001808311610b9057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1057600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610cea57600080fd5b600a60149054906101000a900460ff1615610e1557600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b50505050610e20565b610e1f838361231e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9357600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff161561103057600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d602081101561101857600080fd5b81019080805190602001909291905050509050611036565b60015490505b90565b600060149054906101000a900460ff1615151561105557600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156110ae57600080fd5b600a60149054906101000a900460ff161561120d57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b1580156111f057600080fd5b505af1158015611204573d6000803e3d6000fd5b50505050611219565b6112188383836124bb565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112c957600080fd5b600060149054906101000a900460ff1615156112e457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600154816001540111151561134057600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156113ce57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a15050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561160a57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115c857600080fd5b505af11580156115dc573d6000803e3d6000fd5b505050506040513d60208110156115f257600080fd5b81019080805190602001909291905050509050611616565b61161382612962565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167657600080fd5b600060149054906101000a900460ff1615151561169257600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117bf5780601f10611794576101008083540402835291602001916117bf565b820191906000526020600020905b8154815290600101906020018083116117a257829003601f168201915b505050505081565b600060149054906101000a900460ff161515156117e357600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561183c57600080fd5b600a60149054906101000a900460ff161561196757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561194a57600080fd5b505af115801561195e573d6000803e3d6000fd5b50505050611972565b61197182826129ab565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d157600080fd5b6014821015156119e057600080fd5b6032811015156119ef57600080fd5b81600381905550611a0e600954600a0a82612d1390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ab657600080fd5b6001548160015401111515611aca57600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401111515611b9a57600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cad57600080fd5b8060015410151515611cbe57600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611d2d57600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611f2f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611eed57600080fd5b505af1158015611f01573d6000803e3d6000fd5b505050506040513d6020811015611f1757600080fd5b81019080805190602001909291905050509050611f3c565b611f398383612d4e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fc357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561217757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121d757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561222f57600080fd5b612238826114f4565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600954600a0a6103e8028111151561231b5761231a338261132c565b5b50565b60406004810160003690501015151561233657600080fd5b600082141580156123c457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156123d057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156124d857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061258061271061257260035488612d1390919063ffffffff16565b612dd590919063ffffffff16565b92506004548311156125925760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561264e576125cd8585612df090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6126618386612df090919063ffffffff16565b91506126b585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061274a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156128f45761280983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156129c657600080fd5b6129ef6127106129e160035487612d1390919063ffffffff16565b612dd590919063ffffffff16565b9250600454831115612a015760045492505b612a148385612df090919063ffffffff16565b9150612a6884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612afd82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612ca757612bbc83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612d285760009150612d47565b8284029050828482811515612d3957fe5b04141515612d4357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612de357fe5b0490508091505092915050565b6000828211151515612dfe57fe5b818303905092915050565b6000808284019050838110151515612e1d57fe5b80915050929150505600a165627a7a7230582055af556b058bd5b86bd594873150b474f674e5dbefb6d8ee813fb7681828aec30029000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f5465737420546574686572205553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f546573742054657468657220555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553445400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101b15780630753c30c14610241578063095ea7b3146102845780630e136b19146102d15780630ecb93c01461030057806318160ddd1461034357806323b872dd1461036e57806326976e3f146103db57806327e235e314610432578063313ce5671461048957806335390714146104b45780633eaaf86b146104df5780633f4ba83a1461050a5780634e6ec2471461052157806359bf1abe1461056e5780635c658165146105c95780635c975abb1461064057806370a082311461066f5780638456cb59146106c6578063893d20e8146106dd5780638da5cb5b1461073457806395d89b411461078b578063a9059cbb1461081b578063c0324c7714610868578063cc872b661461089f578063db006a75146108cc578063dd62ed3e146108f9578063dd644f7214610970578063e47d60601461099b578063e4997dc5146109f6578063e5b5019a14610a39578063f2fde38b14610a64578063f3bdc22814610aa7578063f5e3f1f714610aea575b600080fd5b3480156101bd57600080fd5b506101c6610b17565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102065780820151818401526020810190506101eb565b50505050905090810190601f1680156102335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024d57600080fd5b50610282600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb5565b005b34801561029057600080fd5b506102cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cd2565b005b3480156102dd57600080fd5b506102e6610e25565b604051808215151515815260200191505060405180910390f35b34801561030c57600080fd5b50610341600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e38565b005b34801561034f57600080fd5b50610358610f51565b6040518082815260200191505060405180910390f35b34801561037a57600080fd5b506103d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611039565b005b3480156103e757600080fd5b506103f061121e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043e57600080fd5b50610473600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611244565b6040518082815260200191505060405180910390f35b34801561049557600080fd5b5061049e61125c565b6040518082815260200191505060405180910390f35b3480156104c057600080fd5b506104c9611262565b6040518082815260200191505060405180910390f35b3480156104eb57600080fd5b506104f4611268565b6040518082815260200191505060405180910390f35b34801561051657600080fd5b5061051f61126e565b005b34801561052d57600080fd5b5061056c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061132c565b005b34801561057a57600080fd5b506105af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611466565b604051808215151515815260200191505060405180910390f35b3480156105d557600080fd5b5061062a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bc565b6040518082815260200191505060405180910390f35b34801561064c57600080fd5b506106556114e1565b604051808215151515815260200191505060405180910390f35b34801561067b57600080fd5b506106b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f4565b6040518082815260200191505060405180910390f35b3480156106d257600080fd5b506106db61161b565b005b3480156106e957600080fd5b506106f26116db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074057600080fd5b50610749611704565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079757600080fd5b506107a0611729565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e05780820151818401526020810190506107c5565b50505050905090810190601f16801561080d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082757600080fd5b50610866600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117c7565b005b34801561087457600080fd5b5061089d6004803603810190808035906020019092919080359060200190929190505050611976565b005b3480156108ab57600080fd5b506108ca60048036038101908080359060200190929190505050611a5b565b005b3480156108d857600080fd5b506108f760048036038101908080359060200190929190505050611c52565b005b34801561090557600080fd5b5061095a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de5565b6040518082815260200191505060405180910390f35b34801561097c57600080fd5b50610985611f42565b6040518082815260200191505060405180910390f35b3480156109a757600080fd5b506109dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f48565b604051808215151515815260200191505060405180910390f35b348015610a0257600080fd5b50610a37600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f68565b005b348015610a4557600080fd5b50610a4e612081565b6040518082815260200191505060405180910390f35b348015610a7057600080fd5b50610aa5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a5565b005b348015610ab357600080fd5b50610ae8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217a565b005b348015610af657600080fd5b50610b15600480360381019080803590602001909291905050506122fe565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bad5780601f10610b8257610100808354040283529160200191610bad565b820191906000526020600020905b815481529060010190602001808311610b9057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1057600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610cea57600080fd5b600a60149054906101000a900460ff1615610e1557600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b50505050610e20565b610e1f838361231e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9357600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff161561103057600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d602081101561101857600080fd5b81019080805190602001909291905050509050611036565b60015490505b90565b600060149054906101000a900460ff1615151561105557600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156110ae57600080fd5b600a60149054906101000a900460ff161561120d57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b1580156111f057600080fd5b505af1158015611204573d6000803e3d6000fd5b50505050611219565b6112188383836124bb565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112c957600080fd5b600060149054906101000a900460ff1615156112e457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600154816001540111151561134057600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156113ce57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a15050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561160a57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115c857600080fd5b505af11580156115dc573d6000803e3d6000fd5b505050506040513d60208110156115f257600080fd5b81019080805190602001909291905050509050611616565b61161382612962565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167657600080fd5b600060149054906101000a900460ff1615151561169257600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117bf5780601f10611794576101008083540402835291602001916117bf565b820191906000526020600020905b8154815290600101906020018083116117a257829003601f168201915b505050505081565b600060149054906101000a900460ff161515156117e357600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561183c57600080fd5b600a60149054906101000a900460ff161561196757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561194a57600080fd5b505af115801561195e573d6000803e3d6000fd5b50505050611972565b61197182826129ab565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d157600080fd5b6014821015156119e057600080fd5b6032811015156119ef57600080fd5b81600381905550611a0e600954600a0a82612d1390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ab657600080fd5b6001548160015401111515611aca57600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401111515611b9a57600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cad57600080fd5b8060015410151515611cbe57600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611d2d57600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611f2f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611eed57600080fd5b505af1158015611f01573d6000803e3d6000fd5b505050506040513d6020811015611f1757600080fd5b81019080805190602001909291905050509050611f3c565b611f398383612d4e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fc357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561217757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121d757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561222f57600080fd5b612238826114f4565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600954600a0a6103e8028111151561231b5761231a338261132c565b5b50565b60406004810160003690501015151561233657600080fd5b600082141580156123c457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156123d057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156124d857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061258061271061257260035488612d1390919063ffffffff16565b612dd590919063ffffffff16565b92506004548311156125925760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561264e576125cd8585612df090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6126618386612df090919063ffffffff16565b91506126b585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061274a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156128f45761280983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156129c657600080fd5b6129ef6127106129e160035487612d1390919063ffffffff16565b612dd590919063ffffffff16565b9250600454831115612a015760045492505b612a148385612df090919063ffffffff16565b9150612a6884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612afd82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612ca757612bbc83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612d285760009150612d47565b8284029050828482811515612d3957fe5b04141515612d4357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612de357fe5b0490508091505092915050565b6000828211151515612dfe57fe5b818303905092915050565b6000808284019050838110151515612e1d57fe5b80915050929150505600a165627a7a7230582055af556b058bd5b86bd594873150b474f674e5dbefb6d8ee813fb7681828aec30029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f5465737420546574686572205553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f546573742054657468657220555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553445400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 8000000000000000
Arg [1] : _name (string): Test Tether USD
Arg [2] : _symbol (string): USDT
Arg [3] : _decimals (uint256): 6

-----Encoded View---------------
16 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000001c6bf526340000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [5] : 5465737420546574686572205553440000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 5553445400000000000000000000000000000000000000000000000000000000
Arg [8] : 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [10] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [12] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [13] : 5465737420546574686572205553440000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [15] : 5553445400000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

10113:5519:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10181:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10181:18: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;10181:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13539:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13539:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12793:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12793:302:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10297:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10297:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8856:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8856:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13786:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13786:218:0;;;;;;;;;;;;;;;;;;;;;;;12017:362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12017:362:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10260:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10260:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3093:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3093:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10233:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10233:20:0;;;;;;;;;;;;;;;;;;;;;;;3259:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3259:26:0;;;;;;;;;;;;;;;;;;;;;;;2195:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2195:24:0;;;;;;;;;;;;;;;;;;;;;;;8302:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8302:90:0;;;;;;11656:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11656:276:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8570:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8570:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4883:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4883:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7686:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7686:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12464:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12464:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8127:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8127:88:0;;;;;;8702:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8702:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1304:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1304:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10206:20: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;10206:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11004:326;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11004:326:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14910:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14910:387:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14168:266;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14168:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;14665:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14665:237:0;;;;;;;;;;;;;;;;;;;;;;;;;;13180:293;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13180:293:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3221:31:0;;;;;;;;;;;;;;;;;;;;;;;8797:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8797:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9009:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9009:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4953:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4953:42:0;;;;;;;;;;;;;;;;;;;;;;;1876:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1876:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9177:324;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9177:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11338:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11338:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;10181:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13539:181::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;13625:4;13612:10;;:17;;;;;;;;;;;;;;;;;;13658:16;13640:15;;:34;;;;;;;;;;;;;;;;;;13685:27;13695:16;13685:27;;;;;;;;;;;;;;;;;;;;;;13539:181;:::o;12793:302::-;12864:6;3445:1;3438:4;:8;3420;;:15;;:26;3418:29;3410:38;;;;;;;;12887:10;;;;;;;;;;;12883:205;;;12943:15;;;;;;;;;;;12921:54;;;12976:10;12988:8;12998:6;12921:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12921:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12921:84:0;;;;12914:91;;12883:205;13045:31;13059:8;13069:6;13045:13;:31::i;:::-;3459:1;12793:302;;;:::o;10297:22::-;;;;;;;;;;;;;:::o;8856:145::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;8953:4;8926:13;:24;8940:9;8926:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;8968:25;8983:9;8968:25;;;;;;;;;;;;;;;;;;;;;;8856:145;:::o;13786:218::-;13834:4;13855:10;;;;;;;;;;;13851:146;;;13903:15;;;;;;;;;;;13889:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13889:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13889:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13889:44:0;;;;;;;;;;;;;;;;13882:51;;;;13851:146;13973:12;;13966:19;;13786:218;;:::o;12017:362::-;7862:6;;;;;;;;;;;7861:7;7853:16;;;;;;;;12121:13;:20;12135:5;12121:20;;;;;;;;;;;;;;;;;;;;;;;;;12120:21;12112:30;;;;;;;;12157:10;;;;;;;;;;;12153:219;;;12213:15;;;;;;;;;;;12191:59;;;12251:10;12263:5;12270:3;12275:6;12191:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12191:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12191:91:0;;;;12184:98;;12153:219;12322:38;12341:5;12348:3;12353:6;12322:18;:38::i;:::-;7876:1;12017:362;;;:::o;10260:30::-;;;;;;;;;;;;;:::o;3093:40::-;;;;;;;;;;;;;;;;;:::o;10233:20::-;;;;:::o;3259:26::-;;;;:::o;2195:24::-;;;;:::o;8302:90::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;8022:6;;;;;;;;;;;8014:15;;;;;;;;8365:5;8356:6;;:14;;;;;;;;;;;;;;;;;;8377:9;;;;;;;;;;8302:90::o;11656:276::-;11745:12;;11736:6;11721:12;;:21;:36;11713:45;;;;;;;;11807:8;:18;11816:8;11807:18;;;;;;;;;;;;;;;;11798:6;11777:8;:18;11786:8;11777:18;;;;;;;;;;;;;;;;:27;:48;11769:57;;;;;;;;11861:6;11839:8;:18;11848:8;11839:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;11894:6;11878:12;;:22;;;;;;;;;;;11911:13;11917:6;11911:13;;;;;;;;;;;;;;;;;;11656:276;;:::o;8570:124::-;8641:4;8665:13;:21;8679:6;8665:21;;;;;;;;;;;;;;;;;;;;;;;;;8658:28;;8570:124;;;:::o;4883:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7686:26::-;;;;;;;;;;;;;:::o;12464:244::-;12521:4;12542:10;;;;;;;;;;;12538:163;;;12598:15;;;;;;;;;;;12576:48;;;12625:3;12576:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12576:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12576:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12576:53:0;;;;;;;;;;;;;;;;12569:60;;;;12538:163;12669:20;12685:3;12669:15;:20::i;:::-;12662:27;;12464:244;;;;:::o;8127:88::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;7862:6;;;;;;;;;;;7861:7;7853:16;;;;;;;;8191:4;8182:6;;:13;;;;;;;;;;;;;;;;;;8202:7;;;;;;;;;;8127:88::o;8702:87::-;8749:7;8776:5;;;;;;;;;;;8769:12;;8702:87;:::o;1304:20::-;;;;;;;;;;;;;:::o;10206:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11004:326::-;7862:6;;;;;;;;;;;7861:7;7853:16;;;;;;;;11089:13;:25;11103:10;11089:25;;;;;;;;;;;;;;;;;;;;;;;;;11088:26;11080:35;;;;;;;;11130:10;;;;;;;;;;;11126:197;;;11186:15;;;;;;;;;;;11164:55;;;11220:10;11232:3;11237:6;11164:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11164:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11164:80:0;;;;11157:87;;11126:197;11284:27;11299:3;11304:6;11284:14;:27::i;:::-;7876:1;11004:326;;:::o;14910:387::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;15108:2;15091:14;:19;15083:28;;;;;;;;15142:2;15130:9;:14;15122:23;;;;;;;;15176:14;15158:15;:32;;;;15214:27;15232:8;;15228:2;:12;15214:9;:13;;:27;;;;:::i;:::-;15201:10;:40;;;;15254:35;15261:15;;15278:10;;15254:35;;;;;;;;;;;;;;;;;;;;;;;;14910:387;;:::o;14168:266::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;14256:12;;14247:6;14232:12;;:21;:36;14224:45;;;;;;;;14315:8;:15;14324:5;;;;;;;;;;;14315:15;;;;;;;;;;;;;;;;14306:6;14288:8;:15;14297:5;;;;;;;;;;;14288:15;;;;;;;;;;;;;;;;:24;:42;14280:51;;;;;;;;14363:6;14344:8;:15;14353:5;;;;;;;;;;;14344:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;14396:6;14380:12;;:22;;;;;;;;;;;14413:13;14419:6;14413:13;;;;;;;;;;;;;;;;;;14168:266;:::o;14665:237::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;14746:6;14730:12;;:22;;14722:31;;;;;;;;14791:6;14772:8;:15;14781:5;;;;;;;;;;;14772:15;;;;;;;;;;;;;;;;:25;;14764:34;;;;;;;;14827:6;14811:12;;:22;;;;;;;;;;;14863:6;14844:8;:15;14853:5;;;;;;;;;;;14844:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;14880:14;14887:6;14880:14;;;;;;;;;;;;;;;;;;14665:237;:::o;13180:293::-;13258:14;13289:10;;;;;;;;;;;13285:181;;;13337:15;;;;;;;;;;;13323:40;;;13364:6;13372:8;13323:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13323:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13323:58:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13323:58:0;;;;;;;;;;;;;;;;13316:65;;;;13285:181;13421:33;13437:6;13445:8;13421:15;:33::i;:::-;13414:40;;13180:293;;;;;:::o;3221:31::-;;;;:::o;8797:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;9009:160::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;9115:5;9085:13;:27;9099:12;9085:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9131:30;9148:12;9131:30;;;;;;;;;;;;;;;;;;;;;;9009:160;:::o;4953:42::-;4985:10;4953:42;:::o;1876:151::-;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;1973:1;1953:22;;:8;:22;;;;1949:71;;;2000:8;1992:5;;:16;;;;;;;;;;;;;;;;;;1949:71;1876:151;:::o;9177:324::-;9310:15;1676:5;;;;;;;;;;;1662:19;;:10;:19;;;1654:28;;;;;;;;9267:13;:31;9281:16;9267:31;;;;;;;;;;;;;;;;;;;;;;;;;9259:40;;;;;;;;9328:27;9338:16;9328:9;:27::i;:::-;9310:45;;9395:1;9366:8;:26;9375:16;9366:26;;;;;;;;;;;;;;;:30;;;;9423:10;9407:12;;:26;;;;;;;;;;;9444:49;9464:16;9482:10;9444:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;9177:324;;:::o;11338:154::-;11422:8;;11418:2;:12;11410:4;:21;11400:6;:31;;11396:89;;;11448:25;11454:10;11466:6;11448:5;:25::i;:::-;11396:89;11338:154;:::o;6433:573::-;6504:6;3445:1;3438:4;:8;3420;;:15;;:26;3418:29;3410:38;;;;;;;;6854:1;6844:6;:11;;6843:53;;;;;6894:1;6861:7;:19;6869:10;6861:19;;;;;;;;;;;;;;;:29;6881:8;6861:29;;;;;;;;;;;;;;;;:34;;6843:53;6841:56;6833:65;;;;;;;;6943:6;6911:7;:19;6919:10;6911:19;;;;;;;;;;;;;;;:29;6931:8;6911:29;;;;;;;;;;;;;;;:38;;;;6981:8;6960:38;;6969:10;6960:38;;;6991:6;6960:38;;;;;;;;;;;;;;;;;;6433:573;;;:::o;5285:901::-;5390:14;5604:8;5856:15;5371:6;3445:1;3438:4;:8;3420;;:15;;:26;3418:29;3410:38;;;;;;;;5407:7;:14;5415:5;5407:14;;;;;;;;;;;;;;;:26;5422:10;5407:26;;;;;;;;;;;;;;;;5390:43;;5615:40;5649:5;5616:27;5627:15;;5616:6;:10;;:27;;;;:::i;:::-;5615:33;;:40;;;;:::i;:::-;5604:51;;5676:10;;5670:3;:16;5666:65;;;5709:10;;5703:16;;5666:65;4985:10;5745;:21;5741:105;;;5812:22;5827:6;5812:10;:14;;:22;;;;:::i;:::-;5783:7;:14;5791:5;5783:14;;;;;;;;;;;;;;;:26;5798:10;5783:26;;;;;;;;;;;;;;;:51;;;;5741:105;5874:15;5885:3;5874:6;:10;;:15;;;;:::i;:::-;5856:33;;5918:27;5938:6;5918:8;:15;5927:5;5918:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5900:8;:15;5909:5;5900:15;;;;;;;;;;;;;;;:45;;;;5972:29;5990:10;5972:8;:13;5981:3;5972:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;5956:8;:13;5965:3;5956:13;;;;;;;;;;;;;;;:45;;;;6022:1;6016:3;:7;6012:124;;;6058:24;6078:3;6058:8;:15;6067:5;;;;;;;;;;;6058:15;;;;;;;;;;;;;;;;:19;;:24;;;;:::i;:::-;6040:8;:15;6049:5;;;;;;;;;;;6040:15;;;;;;;;;;;;;;;:42;;;;6113:5;;;;;;;;;;;6097:27;;6106:5;6097:27;;;6120:3;6097:27;;;;;;;;;;;;;;;;;;6012:124;6162:3;6146:32;;6155:5;6146:32;;;6167:10;6146:32;;;;;;;;;;;;;;;;;;5285:901;;;;;;;:::o;4432:116::-;4492:12;4524:8;:16;4533:6;4524:16;;;;;;;;;;;;;;;;4517:23;;4432:116;;;:::o;3641:573::-;3727:8;3864:15;3708:6;3445:1;3438:4;:8;3420;;:15;;:26;3418:29;3410:38;;;;;;;;3738:40;3772:5;3739:27;3750:15;;3739:6;:10;;:27;;;;:::i;:::-;3738:33;;:40;;;;:::i;:::-;3727:51;;3799:10;;3793:3;:16;3789:65;;;3832:10;;3826:16;;3789:65;3882:15;3893:3;3882:6;:10;;:15;;;;:::i;:::-;3864:33;;3931:32;3956:6;3931:8;:20;3940:10;3931:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3908:8;:20;3917:10;3908:20;;;;;;;;;;;;;;;:55;;;;3990:29;4008:10;3990:8;:13;3999:3;3990:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;3974:8;:13;3983:3;3974:13;;;;;;;;;;;;;;;:45;;;;4040:1;4034:3;:7;4030:129;;;4076:24;4096:3;4076:8;:15;4085:5;;;;;;;;;;;4076:15;;;;;;;;;;;;;;;;:19;;:24;;;;:::i;:::-;4058:8;:15;4067:5;;;;;;;;;;;4058:15;;;;;;;;;;;;;;;:42;;;;4136:5;;;;;;;;;;;4115:32;;4124:10;4115:32;;;4143:3;4115:32;;;;;;;;;;;;;;;;;;4030:129;4190:3;4169:37;;4178:10;4169:37;;;4195:10;4169:37;;;;;;;;;;;;;;;;;;3641:573;;;;;:::o;288:208::-;346:7;423:9;375:1;370;:6;366:47;;;400:1;393:8;;;;366:47;439:1;435;:5;423:17;;467:1;462;458;:5;;;;;;;;:10;451:18;;;;;;487:1;480:8;;288:208;;;;;;:::o;7339:145::-;7417:14;7451:7;:15;7459:6;7451:15;;;;;;;;;;;;;;;:25;7467:8;7451:25;;;;;;;;;;;;;;;;7444:32;;7339:145;;;;:::o;504:288::-;562:7;661:9;677:1;673;:5;;;;;;;;661:17;;783:1;776:8;;504:288;;;;;:::o;800:123::-;858:7;890:1;885;:6;;878:14;;;;;;914:1;910;:5;903:12;;800:123;;;;:::o;931:147::-;989:7;1009:9;1025:1;1021;:5;1009:17;;1049:1;1044;:6;;1037:14;;;;;;1069:1;1062:8;;931:147;;;;;:::o

Swarm Source

bzzr://55af556b058bd5b86bd594873150b474f674e5dbefb6d8ee813fb7681828aec3
[ 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.