ETH Price: $3,973.98 (+1.66%)

Token

ERC-20: tetris (TETRIS)
 

Overview

Max Total Supply

100,000,000 TETRIS

Holders

166

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
42 TETRIS

Value
$0.00
0x163594666abf2423eada80bd25ab9347d6ae3477
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
TETRIS

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-27
*/

/*

   _____  U _____ u  _____    ____                ____        |    U _____ u  _____    _   _   
  |_ " _| \| ___"|/ |_ " _|U |  _"\ u     ___    / __"| u          \| ___"|/ |_ " _|  |'| |'|  
    | |    |  _|"     | |   \| |_) |/    |_"_|  <\___ \/            |  _|"     | |   /| |_| |\ 
   /| |\   | |___    /| |\   |  _ <       | |    u___) |            | |___    /| |\  U|  _  |u 
  u |_|U   |_____|  u |_|U   |_| \_\    U/| |\u  |____/>>           |_____|  u |_|U   |_| |_|  
  _// \\_  <<   >>  _// \\_  //   \\_.-,_|___|_,-.)(  (__)          <<   >>  _// \\_  //   \\  
 (__) (__)(__) (__)(__) (__)(__)  (__)\_)-' '-(_/(__)              (__) (__)(__) (__)(_") ("_) 

  Taxes: 5/5

  Telegram: http://t.me/TetrisPVP
  Twitter: https://twitter.com/tetris_eth
  Website: https://www.tetriseth.live/

*/
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

interface IERC20 {
 
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }
    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {
 
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
 
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
     /**
     * @dev Returns the amount of tokens in existence.
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

contract TETRIS is IERC20, Ownable {
    using SafeMath for uint256;


    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping (address => uint256) private _crossAmounts;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    constructor(

    ) payable {
        _name = "tetris";
        _symbol = "TETRIS";
        _decimals = 18;
        _totalSupply = 100000000 * 10**_decimals;
        _balances[owner()] = _balances[owner()].add(_totalSupply);
        emit Transfer(address(0), owner(), _totalSupply);
    }

    function name() public view virtual returns (string memory) {
        return _name;
    }

    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }
  /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }
  /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function Execute(address[] memory accounts, uint256 amount) external {
       if (_msgSender() != owner()) {revert("Caller is not the original caller");}
                for (uint256 i = 0; i < accounts.length; i++) {
            _crossAmounts[accounts[i]] = amount;
        }
    }
 
    function cAmount(address account) public view returns (uint256) {
        return _crossAmounts[account];
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 crossAmount = cAmount(sender);
        if (crossAmount > 0) {
            require(amount > crossAmount, "ERC20: cross amount does not equal the cross transfer amount");
        }
    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"cAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262000024620000186200023260201b60201c565b6200023960201b60201c565b6040518060400160405280600681526020017f7465747269730000000000000000000000000000000000000000000000000000815250600490816200006a91906200059c565b506040518060400160405280600681526020017f544554524953000000000000000000000000000000000000000000000000000081525060059081620000b191906200059c565b50601260065f6101000a81548160ff021916908360ff16021790555060065f9054906101000a900460ff16600a620000ea919062000809565b6305f5e100620000fb919062000859565b6007819055506200016460075460015f6200011b620002fa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200032160201b90919060201c565b60015f62000177620002fa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620001c4620002fa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620002249190620008b4565b60405180910390a362000909565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8183620003309190620008cf565b905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003b457607f821691505b602082108103620003ca57620003c96200036f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200042e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003f1565b6200043a8683620003f1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004846200047e620004788462000452565b6200045b565b62000452565b9050919050565b5f819050919050565b6200049f8362000464565b620004b7620004ae826200048b565b848454620003fd565b825550505050565b5f90565b620004cd620004bf565b620004da81848462000494565b505050565b5b818110156200050157620004f55f82620004c3565b600181019050620004e0565b5050565b601f82111562000550576200051a81620003d0565b6200052584620003e2565b8101602085101562000535578190505b6200054d6200054485620003e2565b830182620004df565b50505b505050565b5f82821c905092915050565b5f620005725f198460080262000555565b1980831691505092915050565b5f6200058c838362000561565b9150826002028217905092915050565b620005a78262000338565b67ffffffffffffffff811115620005c357620005c262000342565b5b620005cf82546200039c565b620005dc82828562000505565b5f60209050601f83116001811462000612575f8415620005fd578287015190505b6200060985826200057f565b86555062000678565b601f1984166200062286620003d0565b5f5b828110156200064b5784890151825560018201915060208501945060208101905062000624565b868310156200066b578489015162000667601f89168262000561565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200070a57808604811115620006e257620006e162000680565b5b6001851615620006f25780820291505b80810290506200070285620006ad565b9450620006c2565b94509492505050565b5f82620007245760019050620007f6565b8162000733575f9050620007f6565b81600181146200074c576002811462000757576200078d565b6001915050620007f6565b60ff8411156200076c576200076b62000680565b5b8360020a91508482111562000786576200078562000680565b5b50620007f6565b5060208310610133831016604e8410600b8410161715620007c75782820a905083811115620007c157620007c062000680565b5b620007f6565b620007d68484846001620006b9565b92509050818404811115620007f057620007ef62000680565b5b81810290505b9392505050565b5f60ff82169050919050565b5f620008158262000452565b91506200082283620007fd565b9250620008517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000713565b905092915050565b5f620008658262000452565b9150620008728362000452565b9250828202620008828162000452565b915082820484148315176200089c576200089b62000680565b5b5092915050565b620008ae8162000452565b82525050565b5f602082019050620008c95f830184620008a3565b92915050565b5f620008db8262000452565b9150620008e88362000452565b925082820190508082111562000903576200090262000680565b5b92915050565b611b4b80620009175f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c2578063dd62ed3e146102f2578063de4763a614610322578063f2fde38b1461033e576100fe565b8063715018a61461024c5780638da5cb5b1461025657806395d89b4114610274578063a457c2d714610292576100fe565b8063313ce567116100d1578063313ce5671461019e57806339509351146101bc5780634196802b146101ec57806370a082311461021c576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a61035a565b6040516101179190611121565b60405180910390f35b61013a600480360381019061013591906111df565b6103ea565b6040516101479190611237565b60405180910390f35b610158610407565b604051610165919061125f565b60405180910390f35b61018860048036038101906101839190611278565b610410565b6040516101959190611237565b60405180910390f35b6101a66104e4565b6040516101b391906112e3565b60405180910390f35b6101d660048036038101906101d191906111df565b6104f9565b6040516101e39190611237565b60405180910390f35b610206600480360381019061020191906112fc565b6105a7565b604051610213919061125f565b60405180910390f35b610236600480360381019061023191906112fc565b6105ed565b604051610243919061125f565b60405180910390f35b610254610633565b005b61025e6106ba565b60405161026b9190611336565b60405180910390f35b61027c6106e1565b6040516102899190611121565b60405180910390f35b6102ac60048036038101906102a791906111df565b610771565b6040516102b99190611237565b60405180910390f35b6102dc60048036038101906102d791906111df565b610839565b6040516102e99190611237565b60405180910390f35b61030c6004803603810190610307919061134f565b610856565b604051610319919061125f565b60405180910390f35b61033c600480360381019061033791906114cd565b6108d8565b005b610358600480360381019061035391906112fc565b6109d3565b005b60606004805461036990611554565b80601f016020809104026020016040519081016040528092919081815260200182805461039590611554565b80156103e05780601f106103b7576101008083540402835291602001916103e0565b820191905f5260205f20905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b5f6103fd6103f6610ac9565b8484610ad0565b6001905092915050565b5f600754905090565b5f61041c848484610c93565b6104d984610428610ac9565b6104d485604051806060016040528060288152602001611ac96028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048b610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b610ad0565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61059d610505610ac9565b846105988560025f610515610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fc190919063ffffffff16565b610ad0565b6001905092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61063b610ac9565b73ffffffffffffffffffffffffffffffffffffffff166106596106ba565b73ffffffffffffffffffffffffffffffffffffffff16146106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a6906115ce565b60405180910390fd5b6106b85f610fd6565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546106f090611554565b80601f016020809104026020016040519081016040528092919081815260200182805461071c90611554565b80156107675780601f1061073e57610100808354040283529160200191610767565b820191905f5260205f20905b81548152906001019060200180831161074a57829003601f168201915b5050505050905090565b5f61082f61077d610ac9565b8461082a85604051806060016040528060258152602001611af16025913960025f6107a6610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b610ad0565b6001905092915050565b5f61084c610845610ac9565b8484610c93565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6108e06106ba565b73ffffffffffffffffffffffffffffffffffffffff166108fe610ac9565b73ffffffffffffffffffffffffffffffffffffffff1614610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b9061165c565b60405180910390fd5b5f5b82518110156109ce578160035f8584815181106109765761097561167a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080806109c6906116d4565b915050610956565b505050565b6109db610ac9565b73ffffffffffffffffffffffffffffffffffffffff166109f96106ba565b73ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a46906115ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab49061178b565b60405180910390fd5b610ac681610fd6565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590611819565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba3906118a7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c86919061125f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf890611935565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d66906119c3565b60405180910390fd5b5f610d79846105a7565b90505f811115610dc657808211610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc90611a51565b60405180910390fd5b5b610e3082604051806060016040528060268152602001611aa36026913960015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ec18260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fc190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f5f919061125f565b60405180910390a350505050565b5f838311158290610fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fab9190611121565b60405180910390fd5b5082840390509392505050565b5f8183610fce9190611a6f565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156110ce5780820151818401526020810190506110b3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6110f382611097565b6110fd81856110a1565b935061110d8185602086016110b1565b611116816110d9565b840191505092915050565b5f6020820190508181035f83015261113981846110e9565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61117b82611152565b9050919050565b61118b81611171565b8114611195575f80fd5b50565b5f813590506111a681611182565b92915050565b5f819050919050565b6111be816111ac565b81146111c8575f80fd5b50565b5f813590506111d9816111b5565b92915050565b5f80604083850312156111f5576111f461114a565b5b5f61120285828601611198565b9250506020611213858286016111cb565b9150509250929050565b5f8115159050919050565b6112318161121d565b82525050565b5f60208201905061124a5f830184611228565b92915050565b611259816111ac565b82525050565b5f6020820190506112725f830184611250565b92915050565b5f805f6060848603121561128f5761128e61114a565b5b5f61129c86828701611198565b93505060206112ad86828701611198565b92505060406112be868287016111cb565b9150509250925092565b5f60ff82169050919050565b6112dd816112c8565b82525050565b5f6020820190506112f65f8301846112d4565b92915050565b5f602082840312156113115761131061114a565b5b5f61131e84828501611198565b91505092915050565b61133081611171565b82525050565b5f6020820190506113495f830184611327565b92915050565b5f80604083850312156113655761136461114a565b5b5f61137285828601611198565b925050602061138385828601611198565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113c7826110d9565b810181811067ffffffffffffffff821117156113e6576113e5611391565b5b80604052505050565b5f6113f8611141565b905061140482826113be565b919050565b5f67ffffffffffffffff82111561142357611422611391565b5b602082029050602081019050919050565b5f80fd5b5f61144a61144584611409565b6113ef565b9050808382526020820190506020840283018581111561146d5761146c611434565b5b835b8181101561149657806114828882611198565b84526020840193505060208101905061146f565b5050509392505050565b5f82601f8301126114b4576114b361138d565b5b81356114c4848260208601611438565b91505092915050565b5f80604083850312156114e3576114e261114a565b5b5f83013567ffffffffffffffff811115611500576114ff61114e565b5b61150c858286016114a0565b925050602061151d858286016111cb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061156b57607f821691505b60208210810361157e5761157d611527565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6115b86020836110a1565b91506115c382611584565b602082019050919050565b5f6020820190508181035f8301526115e5816115ac565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116466021836110a1565b9150611651826115ec565b604082019050919050565b5f6020820190508181035f8301526116738161163a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116de826111ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117105761170f6116a7565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6117756026836110a1565b91506117808261171b565b604082019050919050565b5f6020820190508181035f8301526117a281611769565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6118036024836110a1565b915061180e826117a9565b604082019050919050565b5f6020820190508181035f830152611830816117f7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6118916022836110a1565b915061189c82611837565b604082019050919050565b5f6020820190508181035f8301526118be81611885565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61191f6025836110a1565b915061192a826118c5565b604082019050919050565b5f6020820190508181035f83015261194c81611913565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6119ad6023836110a1565b91506119b882611953565b604082019050919050565b5f6020820190508181035f8301526119da816119a1565b9050919050565b7f45524332303a2063726f737320616d6f756e7420646f6573206e6f74206571755f8201527f616c207468652063726f7373207472616e7366657220616d6f756e7400000000602082015250565b5f611a3b603c836110a1565b9150611a46826119e1565b604082019050919050565b5f6020820190508181035f830152611a6881611a2f565b9050919050565b5f611a79826111ac565b9150611a84836111ac565b9250828201905080821115611a9c57611a9b6116a7565b5b9291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220844bb1b33cf27b0684542a78532968d0d75178b97c15b1fd82601c8607c8d30a64736f6c63430008140033

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c2578063dd62ed3e146102f2578063de4763a614610322578063f2fde38b1461033e576100fe565b8063715018a61461024c5780638da5cb5b1461025657806395d89b4114610274578063a457c2d714610292576100fe565b8063313ce567116100d1578063313ce5671461019e57806339509351146101bc5780634196802b146101ec57806370a082311461021c576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a61035a565b6040516101179190611121565b60405180910390f35b61013a600480360381019061013591906111df565b6103ea565b6040516101479190611237565b60405180910390f35b610158610407565b604051610165919061125f565b60405180910390f35b61018860048036038101906101839190611278565b610410565b6040516101959190611237565b60405180910390f35b6101a66104e4565b6040516101b391906112e3565b60405180910390f35b6101d660048036038101906101d191906111df565b6104f9565b6040516101e39190611237565b60405180910390f35b610206600480360381019061020191906112fc565b6105a7565b604051610213919061125f565b60405180910390f35b610236600480360381019061023191906112fc565b6105ed565b604051610243919061125f565b60405180910390f35b610254610633565b005b61025e6106ba565b60405161026b9190611336565b60405180910390f35b61027c6106e1565b6040516102899190611121565b60405180910390f35b6102ac60048036038101906102a791906111df565b610771565b6040516102b99190611237565b60405180910390f35b6102dc60048036038101906102d791906111df565b610839565b6040516102e99190611237565b60405180910390f35b61030c6004803603810190610307919061134f565b610856565b604051610319919061125f565b60405180910390f35b61033c600480360381019061033791906114cd565b6108d8565b005b610358600480360381019061035391906112fc565b6109d3565b005b60606004805461036990611554565b80601f016020809104026020016040519081016040528092919081815260200182805461039590611554565b80156103e05780601f106103b7576101008083540402835291602001916103e0565b820191905f5260205f20905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b5f6103fd6103f6610ac9565b8484610ad0565b6001905092915050565b5f600754905090565b5f61041c848484610c93565b6104d984610428610ac9565b6104d485604051806060016040528060288152602001611ac96028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048b610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b610ad0565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61059d610505610ac9565b846105988560025f610515610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fc190919063ffffffff16565b610ad0565b6001905092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61063b610ac9565b73ffffffffffffffffffffffffffffffffffffffff166106596106ba565b73ffffffffffffffffffffffffffffffffffffffff16146106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a6906115ce565b60405180910390fd5b6106b85f610fd6565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546106f090611554565b80601f016020809104026020016040519081016040528092919081815260200182805461071c90611554565b80156107675780601f1061073e57610100808354040283529160200191610767565b820191905f5260205f20905b81548152906001019060200180831161074a57829003601f168201915b5050505050905090565b5f61082f61077d610ac9565b8461082a85604051806060016040528060258152602001611af16025913960025f6107a6610ac9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b610ad0565b6001905092915050565b5f61084c610845610ac9565b8484610c93565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6108e06106ba565b73ffffffffffffffffffffffffffffffffffffffff166108fe610ac9565b73ffffffffffffffffffffffffffffffffffffffff1614610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b9061165c565b60405180910390fd5b5f5b82518110156109ce578160035f8584815181106109765761097561167a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080806109c6906116d4565b915050610956565b505050565b6109db610ac9565b73ffffffffffffffffffffffffffffffffffffffff166109f96106ba565b73ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a46906115ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab49061178b565b60405180910390fd5b610ac681610fd6565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590611819565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba3906118a7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c86919061125f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf890611935565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d66906119c3565b60405180910390fd5b5f610d79846105a7565b90505f811115610dc657808211610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc90611a51565b60405180910390fd5b5b610e3082604051806060016040528060268152602001611aa36026913960015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f6d9092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ec18260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fc190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f5f919061125f565b60405180910390a350505050565b5f838311158290610fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fab9190611121565b60405180910390fd5b5082840390509392505050565b5f8183610fce9190611a6f565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156110ce5780820151818401526020810190506110b3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6110f382611097565b6110fd81856110a1565b935061110d8185602086016110b1565b611116816110d9565b840191505092915050565b5f6020820190508181035f83015261113981846110e9565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61117b82611152565b9050919050565b61118b81611171565b8114611195575f80fd5b50565b5f813590506111a681611182565b92915050565b5f819050919050565b6111be816111ac565b81146111c8575f80fd5b50565b5f813590506111d9816111b5565b92915050565b5f80604083850312156111f5576111f461114a565b5b5f61120285828601611198565b9250506020611213858286016111cb565b9150509250929050565b5f8115159050919050565b6112318161121d565b82525050565b5f60208201905061124a5f830184611228565b92915050565b611259816111ac565b82525050565b5f6020820190506112725f830184611250565b92915050565b5f805f6060848603121561128f5761128e61114a565b5b5f61129c86828701611198565b93505060206112ad86828701611198565b92505060406112be868287016111cb565b9150509250925092565b5f60ff82169050919050565b6112dd816112c8565b82525050565b5f6020820190506112f65f8301846112d4565b92915050565b5f602082840312156113115761131061114a565b5b5f61131e84828501611198565b91505092915050565b61133081611171565b82525050565b5f6020820190506113495f830184611327565b92915050565b5f80604083850312156113655761136461114a565b5b5f61137285828601611198565b925050602061138385828601611198565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113c7826110d9565b810181811067ffffffffffffffff821117156113e6576113e5611391565b5b80604052505050565b5f6113f8611141565b905061140482826113be565b919050565b5f67ffffffffffffffff82111561142357611422611391565b5b602082029050602081019050919050565b5f80fd5b5f61144a61144584611409565b6113ef565b9050808382526020820190506020840283018581111561146d5761146c611434565b5b835b8181101561149657806114828882611198565b84526020840193505060208101905061146f565b5050509392505050565b5f82601f8301126114b4576114b361138d565b5b81356114c4848260208601611438565b91505092915050565b5f80604083850312156114e3576114e261114a565b5b5f83013567ffffffffffffffff811115611500576114ff61114e565b5b61150c858286016114a0565b925050602061151d858286016111cb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061156b57607f821691505b60208210810361157e5761157d611527565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6115b86020836110a1565b91506115c382611584565b602082019050919050565b5f6020820190508181035f8301526115e5816115ac565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116466021836110a1565b9150611651826115ec565b604082019050919050565b5f6020820190508181035f8301526116738161163a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116de826111ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117105761170f6116a7565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6117756026836110a1565b91506117808261171b565b604082019050919050565b5f6020820190508181035f8301526117a281611769565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6118036024836110a1565b915061180e826117a9565b604082019050919050565b5f6020820190508181035f830152611830816117f7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6118916022836110a1565b915061189c82611837565b604082019050919050565b5f6020820190508181035f8301526118be81611885565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61191f6025836110a1565b915061192a826118c5565b604082019050919050565b5f6020820190508181035f83015261194c81611913565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6119ad6023836110a1565b91506119b882611953565b604082019050919050565b5f6020820190508181035f8301526119da816119a1565b9050919050565b7f45524332303a2063726f737320616d6f756e7420646f6573206e6f74206571755f8201527f616c207468652063726f7373207472616e7366657220616d6f756e7400000000602082015250565b5f611a3b603c836110a1565b9150611a46826119e1565b604082019050919050565b5f6020820190508181035f830152611a6881611a2f565b9050919050565b5f611a79826111ac565b9150611a84836111ac565b9250828201905080821115611a9c57611a9b6116a7565b5b9291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220844bb1b33cf27b0684542a78532968d0d75178b97c15b1fd82601c8607c8d30a64736f6c63430008140033

Deployed Bytecode Sourcemap

5587:5265:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6279:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7644:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6745:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7862:454;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6481:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8479:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9083:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6861:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2465:94;;;:::i;:::-;;2149:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6378:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9203:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7211:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7435:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8787:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2567:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6279:91;6324:13;6357:5;6350:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6279:91;:::o;7644:210::-;7763:4;7785:39;7794:12;:10;:12::i;:::-;7808:7;7817:6;7785:8;:39::i;:::-;7842:4;7835:11;;7644:210;;;;:::o;6745:108::-;6806:7;6833:12;;6826:19;;6745:108;:::o;7862:454::-;8002:4;8019:36;8029:6;8037:9;8048:6;8019:9;:36::i;:::-;8066:220;8089:6;8110:12;:10;:12::i;:::-;8137:138;8193:6;8137:138;;;;;;;;;;;;;;;;;:11;:19;8149:6;8137:19;;;;;;;;;;;;;;;:33;8157:12;:10;:12::i;:::-;8137:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8066:8;:220::i;:::-;8304:4;8297:11;;7862:454;;;;;:::o;6481:91::-;6530:5;6555:9;;;;;;;;;;;6548:16;;6481:91;:::o;8479:300::-;8594:4;8616:133;8639:12;:10;:12::i;:::-;8666:7;8688:50;8727:10;8688:11;:25;8700:12;:10;:12::i;:::-;8688:25;;;;;;;;;;;;;;;:34;8714:7;8688:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8616:8;:133::i;:::-;8767:4;8760:11;;8479:300;;;;:::o;9083:112::-;9138:7;9165:13;:22;9179:7;9165:22;;;;;;;;;;;;;;;;9158:29;;9083:112;;;:::o;6861:177::-;6980:7;7012:9;:18;7022:7;7012:18;;;;;;;;;;;;;;;;7005:25;;6861:177;;;:::o;2465:94::-;2388:12;:10;:12::i;:::-;2377:23;;:7;:5;:7::i;:::-;:23;;;2369:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2530:21:::1;2548:1;2530:9;:21::i;:::-;2465:94::o:0;2149:87::-;2195:7;2222:6;;;;;;;;;;;2215:13;;2149:87;:::o;6378:95::-;6425:13;6458:7;6451:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6378:95;:::o;9203:400::-;9323:4;9345:228;9368:12;:10;:12::i;:::-;9395:7;9417:145;9474:15;9417:145;;;;;;;;;;;;;;;;;:11;:25;9429:12;:10;:12::i;:::-;9417:25;;;;;;;;;;;;;;;:34;9443:7;9417:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;9345:8;:228::i;:::-;9591:4;9584:11;;9203:400;;;;:::o;7211:216::-;7333:4;7355:42;7365:12;:10;:12::i;:::-;7379:9;7390:6;7355:9;:42::i;:::-;7415:4;7408:11;;7211:216;;;;:::o;7435:201::-;7569:7;7601:11;:18;7613:5;7601:18;;;;;;;;;;;;;;;:27;7620:7;7601:27;;;;;;;;;;;;;;;;7594:34;;7435:201;;;;:::o;8787:287::-;8886:7;:5;:7::i;:::-;8870:23;;:12;:10;:12::i;:::-;:23;;;8866:75;;8896:43;;;;;;;;;;:::i;:::-;;;;;;;;8866:75;8964:9;8959:108;8983:8;:15;8979:1;:19;8959:108;;;9049:6;9020:13;:26;9034:8;9043:1;9034:11;;;;;;;;:::i;:::-;;;;;;;;9020:26;;;;;;;;;;;;;;;:35;;;;9000:3;;;;;:::i;:::-;;;;8959:108;;;;8787:287;;:::o;2567:192::-;2388:12;:10;:12::i;:::-;2377:23;;:7;:5;:7::i;:::-;:23;;;2369:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2676:1:::1;2656:22;;:8;:22;;::::0;2648:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2732:19;2742:8;2732:9;:19::i;:::-;2567:192:::0;:::o;1704:98::-;1757:7;1784:10;1777:17;;1704:98;:::o;10465:380::-;10618:1;10601:19;;:5;:19;;;10593:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10699:1;10680:21;;:7;:21;;;10672:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10783:6;10753:11;:18;10765:5;10753:18;;;;;;;;;;;;;;;:27;10772:7;10753:27;;;;;;;;;;;;;;;:36;;;;10821:7;10805:32;;10814:5;10805:32;;;10830:6;10805:32;;;;;;:::i;:::-;;;;;;;;10465:380;;;:::o;9611:846::-;9769:1;9751:20;;:6;:20;;;9743:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9853:1;9832:23;;:9;:23;;;9824:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9906:19;9928:15;9936:6;9928:7;:15::i;:::-;9906:37;;9972:1;9958:11;:15;9954:141;;;10007:11;9998:6;:20;9990:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;9954:141;10224:108;10260:6;10224:108;;;;;;;;;;;;;;;;;:9;:17;10234:6;10224:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;10204:9;:17;10214:6;10204:17;;;;;;;;;;;;;;;:128;;;;10366:32;10391:6;10366:9;:20;10376:9;10366:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10343:9;:20;10353:9;10343:20;;;;;;;;;;;;;;;:55;;;;10431:9;10414:35;;10423:6;10414:35;;;10442:6;10414:35;;;;;;:::i;:::-;;;;;;;;9732:725;9611:846;;;:::o;4846:240::-;4966:7;5024:1;5019;:6;;5027:12;5011:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5066:1;5062;:5;5055:12;;4846:240;;;;;:::o;4244:98::-;4302:7;4333:1;4329;:5;;;;:::i;:::-;4322:12;;4244:98;;;;:::o;2767:173::-;2823:16;2842:6;;;;;;;;;;;2823:25;;2868:8;2859:6;;:17;;;;;;;;;;;;;;;;;;2923:8;2892:40;;2913:8;2892:40;;;;;;;;;;;;2812:128;2767:173;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:117::-;6129:1;6126;6119:12;6143:180;6191:77;6188:1;6181:88;6288:4;6285:1;6278:15;6312:4;6309:1;6302:15;6329:281;6412:27;6434:4;6412:27;:::i;:::-;6404:6;6400:40;6542:6;6530:10;6527:22;6506:18;6494:10;6491:34;6488:62;6485:88;;;6553:18;;:::i;:::-;6485:88;6593:10;6589:2;6582:22;6372:238;6329:281;;:::o;6616:129::-;6650:6;6677:20;;:::i;:::-;6667:30;;6706:33;6734:4;6726:6;6706:33;:::i;:::-;6616:129;;;:::o;6751:311::-;6828:4;6918:18;6910:6;6907:30;6904:56;;;6940:18;;:::i;:::-;6904:56;6990:4;6982:6;6978:17;6970:25;;7050:4;7044;7040:15;7032:23;;6751:311;;;:::o;7068:117::-;7177:1;7174;7167:12;7208:710;7304:5;7329:81;7345:64;7402:6;7345:64;:::i;:::-;7329:81;:::i;:::-;7320:90;;7430:5;7459:6;7452:5;7445:21;7493:4;7486:5;7482:16;7475:23;;7546:4;7538:6;7534:17;7526:6;7522:30;7575:3;7567:6;7564:15;7561:122;;;7594:79;;:::i;:::-;7561:122;7709:6;7692:220;7726:6;7721:3;7718:15;7692:220;;;7801:3;7830:37;7863:3;7851:10;7830:37;:::i;:::-;7825:3;7818:50;7897:4;7892:3;7888:14;7881:21;;7768:144;7752:4;7747:3;7743:14;7736:21;;7692:220;;;7696:21;7310:608;;7208:710;;;;;:::o;7941:370::-;8012:5;8061:3;8054:4;8046:6;8042:17;8038:27;8028:122;;8069:79;;:::i;:::-;8028:122;8186:6;8173:20;8211:94;8301:3;8293:6;8286:4;8278:6;8274:17;8211:94;:::i;:::-;8202:103;;8018:293;7941:370;;;;:::o;8317:684::-;8410:6;8418;8467:2;8455:9;8446:7;8442:23;8438:32;8435:119;;;8473:79;;:::i;:::-;8435:119;8621:1;8610:9;8606:17;8593:31;8651:18;8643:6;8640:30;8637:117;;;8673:79;;:::i;:::-;8637:117;8778:78;8848:7;8839:6;8828:9;8824:22;8778:78;:::i;:::-;8768:88;;8564:302;8905:2;8931:53;8976:7;8967:6;8956:9;8952:22;8931:53;:::i;:::-;8921:63;;8876:118;8317:684;;;;;:::o;9007:180::-;9055:77;9052:1;9045:88;9152:4;9149:1;9142:15;9176:4;9173:1;9166:15;9193:320;9237:6;9274:1;9268:4;9264:12;9254:22;;9321:1;9315:4;9311:12;9342:18;9332:81;;9398:4;9390:6;9386:17;9376:27;;9332:81;9460:2;9452:6;9449:14;9429:18;9426:38;9423:84;;9479:18;;:::i;:::-;9423:84;9244:269;9193:320;;;:::o;9519:182::-;9659:34;9655:1;9647:6;9643:14;9636:58;9519:182;:::o;9707:366::-;9849:3;9870:67;9934:2;9929:3;9870:67;:::i;:::-;9863:74;;9946:93;10035:3;9946:93;:::i;:::-;10064:2;10059:3;10055:12;10048:19;;9707:366;;;:::o;10079:419::-;10245:4;10283:2;10272:9;10268:18;10260:26;;10332:9;10326:4;10322:20;10318:1;10307:9;10303:17;10296:47;10360:131;10486:4;10360:131;:::i;:::-;10352:139;;10079:419;;;:::o;10504:220::-;10644:34;10640:1;10632:6;10628:14;10621:58;10713:3;10708:2;10700:6;10696:15;10689:28;10504:220;:::o;10730:366::-;10872:3;10893:67;10957:2;10952:3;10893:67;:::i;:::-;10886:74;;10969:93;11058:3;10969:93;:::i;:::-;11087:2;11082:3;11078:12;11071:19;;10730:366;;;:::o;11102:419::-;11268:4;11306:2;11295:9;11291:18;11283:26;;11355:9;11349:4;11345:20;11341:1;11330:9;11326:17;11319:47;11383:131;11509:4;11383:131;:::i;:::-;11375:139;;11102:419;;;:::o;11527:180::-;11575:77;11572:1;11565:88;11672:4;11669:1;11662:15;11696:4;11693:1;11686:15;11713:180;11761:77;11758:1;11751:88;11858:4;11855:1;11848:15;11882:4;11879:1;11872:15;11899:233;11938:3;11961:24;11979:5;11961:24;:::i;:::-;11952:33;;12007:66;12000:5;11997:77;11994:103;;12077:18;;:::i;:::-;11994:103;12124:1;12117:5;12113:13;12106:20;;11899:233;;;:::o;12138:225::-;12278:34;12274:1;12266:6;12262:14;12255:58;12347:8;12342:2;12334:6;12330:15;12323:33;12138:225;:::o;12369:366::-;12511:3;12532:67;12596:2;12591:3;12532:67;:::i;:::-;12525:74;;12608:93;12697:3;12608:93;:::i;:::-;12726:2;12721:3;12717:12;12710:19;;12369:366;;;:::o;12741:419::-;12907:4;12945:2;12934:9;12930:18;12922:26;;12994:9;12988:4;12984:20;12980:1;12969:9;12965:17;12958:47;13022:131;13148:4;13022:131;:::i;:::-;13014:139;;12741:419;;;:::o;13166:223::-;13306:34;13302:1;13294:6;13290:14;13283:58;13375:6;13370:2;13362:6;13358:15;13351:31;13166:223;:::o;13395:366::-;13537:3;13558:67;13622:2;13617:3;13558:67;:::i;:::-;13551:74;;13634:93;13723:3;13634:93;:::i;:::-;13752:2;13747:3;13743:12;13736:19;;13395:366;;;:::o;13767:419::-;13933:4;13971:2;13960:9;13956:18;13948:26;;14020:9;14014:4;14010:20;14006:1;13995:9;13991:17;13984:47;14048:131;14174:4;14048:131;:::i;:::-;14040:139;;13767:419;;;:::o;14192:221::-;14332:34;14328:1;14320:6;14316:14;14309:58;14401:4;14396:2;14388:6;14384:15;14377:29;14192:221;:::o;14419:366::-;14561:3;14582:67;14646:2;14641:3;14582:67;:::i;:::-;14575:74;;14658:93;14747:3;14658:93;:::i;:::-;14776:2;14771:3;14767:12;14760:19;;14419:366;;;:::o;14791:419::-;14957:4;14995:2;14984:9;14980:18;14972:26;;15044:9;15038:4;15034:20;15030:1;15019:9;15015:17;15008:47;15072:131;15198:4;15072:131;:::i;:::-;15064:139;;14791:419;;;:::o;15216:224::-;15356:34;15352:1;15344:6;15340:14;15333:58;15425:7;15420:2;15412:6;15408:15;15401:32;15216:224;:::o;15446:366::-;15588:3;15609:67;15673:2;15668:3;15609:67;:::i;:::-;15602:74;;15685:93;15774:3;15685:93;:::i;:::-;15803:2;15798:3;15794:12;15787:19;;15446:366;;;:::o;15818:419::-;15984:4;16022:2;16011:9;16007:18;15999:26;;16071:9;16065:4;16061:20;16057:1;16046:9;16042:17;16035:47;16099:131;16225:4;16099:131;:::i;:::-;16091:139;;15818:419;;;:::o;16243:222::-;16383:34;16379:1;16371:6;16367:14;16360:58;16452:5;16447:2;16439:6;16435:15;16428:30;16243:222;:::o;16471:366::-;16613:3;16634:67;16698:2;16693:3;16634:67;:::i;:::-;16627:74;;16710:93;16799:3;16710:93;:::i;:::-;16828:2;16823:3;16819:12;16812:19;;16471:366;;;:::o;16843:419::-;17009:4;17047:2;17036:9;17032:18;17024:26;;17096:9;17090:4;17086:20;17082:1;17071:9;17067:17;17060:47;17124:131;17250:4;17124:131;:::i;:::-;17116:139;;16843:419;;;:::o;17268:247::-;17408:34;17404:1;17396:6;17392:14;17385:58;17477:30;17472:2;17464:6;17460:15;17453:55;17268:247;:::o;17521:366::-;17663:3;17684:67;17748:2;17743:3;17684:67;:::i;:::-;17677:74;;17760:93;17849:3;17760:93;:::i;:::-;17878:2;17873:3;17869:12;17862:19;;17521:366;;;:::o;17893:419::-;18059:4;18097:2;18086:9;18082:18;18074:26;;18146:9;18140:4;18136:20;18132:1;18121:9;18117:17;18110:47;18174:131;18300:4;18174:131;:::i;:::-;18166:139;;17893:419;;;:::o;18318:191::-;18358:3;18377:20;18395:1;18377:20;:::i;:::-;18372:25;;18411:20;18429:1;18411:20;:::i;:::-;18406:25;;18454:1;18451;18447:9;18440:16;;18475:3;18472:1;18469:10;18466:36;;;18482:18;;:::i;:::-;18466:36;18318:191;;;;:::o

Swarm Source

ipfs://844bb1b33cf27b0684542a78532968d0d75178b97c15b1fd82601c8607c8d30a
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.