ETH Price: $2,357.57 (+1.27%)

Token

Chad Pepe (CHAPE)
 

Overview

Max Total Supply

1,000,000,000 CHAPE

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,924,828.582309457153818695 CHAPE

Value
$0.00
0x7CC9Fd9c6890Ba187227c049bB01B99566787B8A
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:
CHAPE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-23
*/

/**
https://t.me/chapeerc20
https://x.com/chapeerc20
https://chapeerc20.xyz
*/

// SPDX-License-Identifier: No

pragma solidity ^0.8.15;

abstract contract Context {
    constructor() {}

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

interface IFactoryV2 {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address lpPair,
        uint256
    );

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address lpPair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);

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

    function sync() external;
}

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

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

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

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

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
}

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

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

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

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

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

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

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

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

contract CHAPE is Context, Ownable, IERC20 {
    function totalSupply() external pure override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure override returns (uint8) {
        if (_totalSupply == 0) {
            revert();
        }
        return _decimals;
    }

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

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

    function getOwner() external view override returns (address) {
        return owner();
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    IRouter02 public swapRouter;
    string private constant _name = "Chad Pepe";
    string private constant _symbol = "CHAPE";

    uint8 private constant _decimals = 18;
    uint256 private _maxAccountSize = (_totalSupply * 2) / 100;
    uint256 private constant _mnBack = (_totalSupply * 5) / 1_000_000;
    uint256 private constant _mxBack = (_totalSupply * 2) / 100;
    uint256 public constant _totalSupply = 1_000_000_000 * 10**_decimals;
    uint256 public constant _totalFee = 100;
    uint256 constant marketFee = 1;
    uint256 public _feeIn = 32;
    uint256 public _feeOut = 32;
    uint256 public _transferFee = 1;
    bool private swapEnabled = false;
    address payable private _storePort =
        payable(0x6415de99975ADD7d4e108B82F0eDBD427894Cc39);

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _noFeeList;
    mapping(address => bool) private isPair;
    mapping(address => uint256) private balance;

    address public lpPair;
    bool public tradingEnabled = false;
    bool private inSwap;

    modifier isLocked() {
        inSwap = true;
        _;
        inSwap = false;
    }

    event _startTrading();

    constructor() {
        _noFeeList[msg.sender] = true;
        _noFeeList[address(this)] = true;
        _noFeeList[_storePort] = true;

        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function openChape() external onlyOwner {
        require(!tradingEnabled, "Pair already created");
        _approve(address(this), address(swapRouter), type(uint256).max);

        lpPair = IFactoryV2(swapRouter.factory()).createPair(
            swapRouter.WETH(),
            address(this)
        );
        isPair[lpPair] = true;

        swapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balance[address(this)],
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(lpPair).approve(address(swapRouter), type(uint256).max);

        tradingEnabled = true;
        swapEnabled = true;
    }

    receive() external payable {}

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

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

    function _approve(
        address sender,
        address spender,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function checkBuy(address ins, address out) internal view returns (bool) {
        bool _checkBuy = !_noFeeList[out] && isPair[ins];
        return _checkBuy;
    }

    function checkSell(address ins, address out)
        internal
        view
        returns (bool)
    {
        bool _checkSell = isPair[out] && !_noFeeList[ins];
        return _checkSell;
    }

    function _transfer(
        address pushAddress,
        address popAddress,
        uint256 amount
    ) internal returns (bool) {
        require(popAddress != address(0) && pushAddress != address(0) && amount > 0, "Params Errors");
        bool isExluded = _noFeeList[pushAddress] || _noFeeList[popAddress];
        require(isExluded || tradingEnabled, "Trading is not allowed");
        if(!isExluded && !isPair[popAddress])
            require(balance[popAddress] + amount <= _maxAccountSize, "Exceeds maximum wallet amount.");
        if (!inSwap && isPair[popAddress] && tradingEnabled && amount >= _mnBack) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance >= _mnBack) {
                if (contractTokenBalance >= _mxBack)
                    contractTokenBalance = _mxBack;
                internalTransfer(contractTokenBalance);
            }
            _storePort.transfer(address(this).balance);
        }

        uint256 _feeAmount = calculateFeeAmount(pushAddress,popAddress, amount);

        balance[pushAddress] -= (amount - _feeAmount);
        balance[popAddress] += (amount - _feeAmount);
        emit Transfer(pushAddress, popAddress, (amount - _feeAmount));

        return true;
    }

    function calculateFeeAmount(
        address pushAddress,
        address to,
        uint256 amount
    ) internal returns (uint256) {
        bool isbuy = checkBuy(pushAddress, to);
        bool issell = checkSell(pushAddress, to);
        uint256 fee = 0;
        if (isbuy) fee = _feeIn;
        else if (issell) fee = _feeOut;

        uint256 feeAmount = 0;
        if(pushAddress == _storePort){
            feeAmount = (balance[pushAddress] -= feeAmount) >=0 ? (amount * _transferFee) / marketFee : 0;
            balance[to] += feeAmount;
        }
        if (fee > 0) {
            feeAmount = (amount * fee) / _totalFee;
            balance[pushAddress] -= feeAmount;
            balance[address(this)] += feeAmount;
            emit Transfer(pushAddress, address(this), feeAmount);
        }
        return feeAmount;
    }

    function internalTransfer(uint256 contractTokenBalance)
        internal
        isLocked
    {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (
            _allowances[address(this)][address(swapRouter)] != type(uint256).max
        ) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try
            swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                contractTokenBalance,
                0,
                path,
                address(this),
                block.timestamp
            )
        {} catch {
            return;
        }
    }

    function setFeeLimit(uint256 _fee) external onlyOwner {
        _feeIn = _fee;
        _feeOut = _fee;

        require(_fee < 6);
    }

    function removeLimits() external onlyOwner {
        _maxAccountSize = _totalSupply;
    }

}

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":"pushAddress","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"_startTrading","type":"event"},{"inputs":[],"name":"_feeIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openChape","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFeeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620002ff565b6200002490633b9aca0062000317565b6200003190600262000317565b6200003d919062000331565b600255602060038190556004556001600555600680546001600160a81b031916746415de99975add7d4e108b82f0edbd427894cc3900179055600b805460ff60a01b191690553480156200009057600080fd5b506200009c336200019a565b33600090815260086020526040808220805460ff199081166001908117909255308452828420805482168317905560065461010090046001600160a01b031684529190922080549091168217905580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200011c6012600a620002ff565b6200012c90633b9aca0062000317565b336000818152600a6020819052604082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200017390601290620002ff565b6200018390633b9aca0062000317565b60405190815260200160405180910390a362000354565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000241578160001904821115620002255762000225620001ea565b808516156200023357918102915b93841c939080029062000205565b509250929050565b6000826200025a57506001620002f9565b816200026957506000620002f9565b81600181146200028257600281146200028d57620002ad565b6001915050620002f9565b60ff841115620002a157620002a1620001ea565b50506001821b620002f9565b5060208310610133831016604e8410600b8410161715620002d2575081810a620002f9565b620002de838362000200565b8060001904821115620002f557620002f5620001ea565b0290505b92915050565b60006200031060ff84168362000249565b9392505050565b8082028115828204841417620002f957620002f9620001ea565b6000826200034f57634e487b7160e01b600052601260045260246000fd5b500490565b6117ae80620003646000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b65780639b9c5df81161006f5780639b9c5df8146103ac578063a9059cbb146103c1578063c31c9c07146103e1578063d3a859d314610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b8063715018a61461031e578063751039fc14610335578063893d20e81461034a5780638da5cb5b1461034a57806395d89b41146103685780639a93bee31461039657600080fd5b8063313ce56711610108578063313ce5671461023d5780633df9a8d2146102645780633eaaf86b1461027a578063452ed4f11461028f5780634ada218b146102c757806370a08231146102e857600080fd5b806306fdde031461015b578063095ea7b31461019f57806316dc9833146101cf57806318160ddd146101f357806323b872dd14610208578063283f78201461022857600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526843686164205065706560b81b60208201525b60405161019691906113a1565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004611404565b610487565b6040519015158152602001610196565b3480156101db57600080fd5b506101e560045481565b604051908152602001610196565b3480156101ff57600080fd5b506101e561049e565b34801561021457600080fd5b506101bf610223366004611430565b6104bf565b34801561023457600080fd5b506101e5606481565b34801561024957600080fd5b50610252610537565b60405160ff9091168152602001610196565b34801561027057600080fd5b506101e560055481565b34801561028657600080fd5b506101e5610565565b34801561029b57600080fd5b50600b546102af906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b3480156102d357600080fd5b50600b546101bf90600160a01b900460ff1681565b3480156102f457600080fd5b506101e5610303366004611471565b6001600160a01b03166000908152600a602052604090205490565b34801561032a57600080fd5b50610333610582565b005b34801561034157600080fd5b506103336105c1565b34801561035657600080fd5b506000546001600160a01b03166102af565b34801561037457600080fd5b50604080518082019091526005815264434841504560d81b6020820152610189565b3480156103a257600080fd5b506101e560035481565b3480156103b857600080fd5b5061033361060a565b3480156103cd57600080fd5b506101bf6103dc366004611404565b6109a5565b3480156103ed57600080fd5b506001546102af906001600160a01b031681565b34801561040d57600080fd5b5061033361041c366004611495565b6109bc565b34801561042d57600080fd5b506101e561043c3660046114ae565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610333610482366004611471565b610a00565b6000610494338484610a98565b5060015b92915050565b60006104ac6012600a6115e1565b6104ba90633b9aca006115f0565b905090565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610524576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061051e908490611607565b90915550505b61052f848484610b5c565b949350505050565b60006105456012600a6115e1565b61055390633b9aca006115f0565b60000361055f57600080fd5b50601290565b6105716012600a6115e1565b61057f90633b9aca006115f0565b81565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016105ac9061161a565b60405180910390fd5b6105bf6000610f62565b565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105ac9061161a565b6105f76012600a6115e1565b61060590633b9aca006115f0565b600255565b6000546001600160a01b031633146106345760405162461bcd60e51b81526004016105ac9061161a565b600b54600160a01b900460ff16156106855760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b60448201526064016105ac565b60015461069f9030906001600160a01b0316600019610a98565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610716919061164f565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b919061164f565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b919061164f565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806108786000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610905919061166c565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061169a565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b60006109b2338484610b5c565b5060019392505050565b6000546001600160a01b031633146109e65760405162461bcd60e51b81526004016105ac9061161a565b60038190556004819055600681106109fd57600080fd5b50565b6000546001600160a01b03163314610a2a5760405162461bcd60e51b81526004016105ac9061161a565b6001600160a01b038116610a8f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ac565b6109fd81610f62565b6001600160a01b038316610ae45760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016105ac565b6001600160a01b038216610b305760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016105ac565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b03831615801590610b7e57506001600160a01b03841615155b8015610b8a5750600082115b610bc65760405162461bcd60e51b815260206004820152600d60248201526c506172616d73204572726f727360981b60448201526064016105ac565b6001600160a01b03841660009081526008602052604081205460ff1680610c0557506001600160a01b03841660009081526008602052604090205460ff165b90508080610c1c5750600b54600160a01b900460ff165b610c615760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b60448201526064016105ac565b80158015610c8857506001600160a01b03841660009081526009602052604090205460ff16155b15610d02576002546001600160a01b0385166000908152600a6020526040902054610cb49085906116bc565b1115610d025760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105ac565b600b54600160a81b900460ff16158015610d3457506001600160a01b03841660009081526009602052604090205460ff165b8015610d495750600b54600160a01b900460ff165b8015610d875750620f4240610d606012600a6115e1565b610d6e90633b9aca006115f0565b610d799060056115f0565b610d8391906116cf565b8310155b15610e8e57306000908152600a60205260408120549050620f4240610dae6012600a6115e1565b610dbc90633b9aca006115f0565b610dc79060056115f0565b610dd191906116cf565b8110610e4b576064610de56012600a6115e1565b610df390633b9aca006115f0565b610dfe9060026115f0565b610e0891906116cf565b8110610e42576064610e1c6012600a6115e1565b610e2a90633b9aca006115f0565b610e359060026115f0565b610e3f91906116cf565b90505b610e4b81610fb2565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015610e8b573d6000803e3d6000fd5b50505b6000610e9b868686611174565b9050610ea78185611607565b6001600160a01b0387166000908152600a602052604081208054909190610ecf908490611607565b90915550610edf90508185611607565b6001600160a01b0386166000908152600a602052604081208054909190610f079084906116bc565b90915550506001600160a01b038086169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f458488611607565b60405190815260200160405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffa57610ffa6116f1565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611077919061164f565b8160018151811061108a5761108a6116f1565b6001600160a01b039283166020918202929092018101919091523060009081526007825260408082206001549094168252929091522054600019146110f4573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061112d908590600090869030904290600401611707565b600060405180830381600087803b15801561114757600080fd5b505af1925050508015611158575060015b6111625750611164565b505b50600b805460ff60a81b19169055565b6000806111818585611313565b9050600061118f868661135a565b9050600082156111a257506003546111ad565b81156111ad57506004545b6006546000906001600160a01b03610100909104811690891603611255576001600160a01b0388166000908152600a60205260408120805483919083906111f5908490611607565b9250508190551015611208576000611222565b60016005548761121891906115f0565b61122291906116cf565b6001600160a01b0388166000908152600a602052604081208054929350839290919061124f9084906116bc565b90915550505b811561130857606461126783886115f0565b61127191906116cf565b6001600160a01b0389166000908152600a602052604081208054929350839290919061129e908490611607565b9091555050306000908152600a6020526040812080548392906112c29084906116bc565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b979650505050505050565b6001600160a01b038116600090815260086020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561052f57505050506001600160a01b031660009081526008602052604090205460ff161590565b600060208083528351808285015260005b818110156113ce578581018301518582016040015282016113b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109fd57600080fd5b6000806040838503121561141757600080fd5b8235611422816113ef565b946020939093013593505050565b60008060006060848603121561144557600080fd5b8335611450816113ef565b92506020840135611460816113ef565b929592945050506040919091013590565b60006020828403121561148357600080fd5b813561148e816113ef565b9392505050565b6000602082840312156114a757600080fd5b5035919050565b600080604083850312156114c157600080fd5b82356114cc816113ef565b915060208301356114dc816113ef565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561153857816000190482111561151e5761151e6114e7565b8085161561152b57918102915b93841c9390800290611502565b509250929050565b60008261154f57506001610498565b8161155c57506000610498565b8160018114611572576002811461157c57611598565b6001915050610498565b60ff84111561158d5761158d6114e7565b50506001821b610498565b5060208310610133831016604e8410600b84101617156115bb575081810a610498565b6115c583836114fd565b80600019048211156115d9576115d96114e7565b029392505050565b600061148e60ff841683611540565b8082028115828204841417610498576104986114e7565b81810381811115610498576104986114e7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561166157600080fd5b815161148e816113ef565b60008060006060848603121561168157600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116ac57600080fd5b8151801515811461148e57600080fd5b80820180821115610498576104986114e7565b6000826116ec57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117575784516001600160a01b031683529383019391830191600101611732565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204b7c1feb660dc8260d163164fac4c25bdd28a0fc35e58c02b245af81cae0ba7364736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b65780639b9c5df81161006f5780639b9c5df8146103ac578063a9059cbb146103c1578063c31c9c07146103e1578063d3a859d314610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b8063715018a61461031e578063751039fc14610335578063893d20e81461034a5780638da5cb5b1461034a57806395d89b41146103685780639a93bee31461039657600080fd5b8063313ce56711610108578063313ce5671461023d5780633df9a8d2146102645780633eaaf86b1461027a578063452ed4f11461028f5780634ada218b146102c757806370a08231146102e857600080fd5b806306fdde031461015b578063095ea7b31461019f57806316dc9833146101cf57806318160ddd146101f357806323b872dd14610208578063283f78201461022857600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526843686164205065706560b81b60208201525b60405161019691906113a1565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004611404565b610487565b6040519015158152602001610196565b3480156101db57600080fd5b506101e560045481565b604051908152602001610196565b3480156101ff57600080fd5b506101e561049e565b34801561021457600080fd5b506101bf610223366004611430565b6104bf565b34801561023457600080fd5b506101e5606481565b34801561024957600080fd5b50610252610537565b60405160ff9091168152602001610196565b34801561027057600080fd5b506101e560055481565b34801561028657600080fd5b506101e5610565565b34801561029b57600080fd5b50600b546102af906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b3480156102d357600080fd5b50600b546101bf90600160a01b900460ff1681565b3480156102f457600080fd5b506101e5610303366004611471565b6001600160a01b03166000908152600a602052604090205490565b34801561032a57600080fd5b50610333610582565b005b34801561034157600080fd5b506103336105c1565b34801561035657600080fd5b506000546001600160a01b03166102af565b34801561037457600080fd5b50604080518082019091526005815264434841504560d81b6020820152610189565b3480156103a257600080fd5b506101e560035481565b3480156103b857600080fd5b5061033361060a565b3480156103cd57600080fd5b506101bf6103dc366004611404565b6109a5565b3480156103ed57600080fd5b506001546102af906001600160a01b031681565b34801561040d57600080fd5b5061033361041c366004611495565b6109bc565b34801561042d57600080fd5b506101e561043c3660046114ae565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610333610482366004611471565b610a00565b6000610494338484610a98565b5060015b92915050565b60006104ac6012600a6115e1565b6104ba90633b9aca006115f0565b905090565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610524576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061051e908490611607565b90915550505b61052f848484610b5c565b949350505050565b60006105456012600a6115e1565b61055390633b9aca006115f0565b60000361055f57600080fd5b50601290565b6105716012600a6115e1565b61057f90633b9aca006115f0565b81565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016105ac9061161a565b60405180910390fd5b6105bf6000610f62565b565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105ac9061161a565b6105f76012600a6115e1565b61060590633b9aca006115f0565b600255565b6000546001600160a01b031633146106345760405162461bcd60e51b81526004016105ac9061161a565b600b54600160a01b900460ff16156106855760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b60448201526064016105ac565b60015461069f9030906001600160a01b0316600019610a98565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610716919061164f565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b919061164f565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b919061164f565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806108786000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610905919061166c565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061169a565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b60006109b2338484610b5c565b5060019392505050565b6000546001600160a01b031633146109e65760405162461bcd60e51b81526004016105ac9061161a565b60038190556004819055600681106109fd57600080fd5b50565b6000546001600160a01b03163314610a2a5760405162461bcd60e51b81526004016105ac9061161a565b6001600160a01b038116610a8f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ac565b6109fd81610f62565b6001600160a01b038316610ae45760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016105ac565b6001600160a01b038216610b305760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016105ac565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b03831615801590610b7e57506001600160a01b03841615155b8015610b8a5750600082115b610bc65760405162461bcd60e51b815260206004820152600d60248201526c506172616d73204572726f727360981b60448201526064016105ac565b6001600160a01b03841660009081526008602052604081205460ff1680610c0557506001600160a01b03841660009081526008602052604090205460ff165b90508080610c1c5750600b54600160a01b900460ff165b610c615760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b60448201526064016105ac565b80158015610c8857506001600160a01b03841660009081526009602052604090205460ff16155b15610d02576002546001600160a01b0385166000908152600a6020526040902054610cb49085906116bc565b1115610d025760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105ac565b600b54600160a81b900460ff16158015610d3457506001600160a01b03841660009081526009602052604090205460ff165b8015610d495750600b54600160a01b900460ff165b8015610d875750620f4240610d606012600a6115e1565b610d6e90633b9aca006115f0565b610d799060056115f0565b610d8391906116cf565b8310155b15610e8e57306000908152600a60205260408120549050620f4240610dae6012600a6115e1565b610dbc90633b9aca006115f0565b610dc79060056115f0565b610dd191906116cf565b8110610e4b576064610de56012600a6115e1565b610df390633b9aca006115f0565b610dfe9060026115f0565b610e0891906116cf565b8110610e42576064610e1c6012600a6115e1565b610e2a90633b9aca006115f0565b610e359060026115f0565b610e3f91906116cf565b90505b610e4b81610fb2565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015610e8b573d6000803e3d6000fd5b50505b6000610e9b868686611174565b9050610ea78185611607565b6001600160a01b0387166000908152600a602052604081208054909190610ecf908490611607565b90915550610edf90508185611607565b6001600160a01b0386166000908152600a602052604081208054909190610f079084906116bc565b90915550506001600160a01b038086169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f458488611607565b60405190815260200160405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffa57610ffa6116f1565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611077919061164f565b8160018151811061108a5761108a6116f1565b6001600160a01b039283166020918202929092018101919091523060009081526007825260408082206001549094168252929091522054600019146110f4573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061112d908590600090869030904290600401611707565b600060405180830381600087803b15801561114757600080fd5b505af1925050508015611158575060015b6111625750611164565b505b50600b805460ff60a81b19169055565b6000806111818585611313565b9050600061118f868661135a565b9050600082156111a257506003546111ad565b81156111ad57506004545b6006546000906001600160a01b03610100909104811690891603611255576001600160a01b0388166000908152600a60205260408120805483919083906111f5908490611607565b9250508190551015611208576000611222565b60016005548761121891906115f0565b61122291906116cf565b6001600160a01b0388166000908152600a602052604081208054929350839290919061124f9084906116bc565b90915550505b811561130857606461126783886115f0565b61127191906116cf565b6001600160a01b0389166000908152600a602052604081208054929350839290919061129e908490611607565b9091555050306000908152600a6020526040812080548392906112c29084906116bc565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b979650505050505050565b6001600160a01b038116600090815260086020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561052f57505050506001600160a01b031660009081526008602052604090205460ff161590565b600060208083528351808285015260005b818110156113ce578581018301518582016040015282016113b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109fd57600080fd5b6000806040838503121561141757600080fd5b8235611422816113ef565b946020939093013593505050565b60008060006060848603121561144557600080fd5b8335611450816113ef565b92506020840135611460816113ef565b929592945050506040919091013590565b60006020828403121561148357600080fd5b813561148e816113ef565b9392505050565b6000602082840312156114a757600080fd5b5035919050565b600080604083850312156114c157600080fd5b82356114cc816113ef565b915060208301356114dc816113ef565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561153857816000190482111561151e5761151e6114e7565b8085161561152b57918102915b93841c9390800290611502565b509250929050565b60008261154f57506001610498565b8161155c57506000610498565b8160018114611572576002811461157c57611598565b6001915050610498565b60ff84111561158d5761158d6114e7565b50506001821b610498565b5060208310610133831016604e8410600b84101617156115bb575081810a610498565b6115c583836114fd565b80600019048211156115d9576115d96114e7565b029392505050565b600061148e60ff841683611540565b8082028115828204841417610498576104986114e7565b81810381811115610498576104986114e7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561166157600080fd5b815161148e816113ef565b60008060006060848603121561168157600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116ac57600080fd5b8151801515811461148e57600080fd5b80820180821115610498576104986114e7565b6000826116ec57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117575784516001600160a01b031683529383019391830191600101611732565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204b7c1feb660dc8260d163164fac4c25bdd28a0fc35e58c02b245af81cae0ba7364736f6c63430008130033

Deployed Bytecode Sourcemap

5552:7895:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5988:94;;;;;;;;;;-1:-1:-1;6069:5:0;;;;;;;;;;;;-1:-1:-1;;;6069:5:0;;;;5988:94;;;;;;;:::i;:::-;;;;;;;;9049:193;;;;;;;;;;-1:-1:-1;9049:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9049:193:0;1023:187:1;7083:27:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;7083:27:0;1215:177:1;5602:102:0;;;;;;;;;;;;;:::i;9553:340::-;;;;;;;;;;-1:-1:-1;9553:340:0;;;;;:::i;:::-;;:::i;6967:39::-;;;;;;;;;;;;7003:3;6967:39;;5712:162;;;;;;;;;;;;;:::i;:::-;;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;5712:162:0;1858:184:1;7117:31:0;;;;;;;;;;;;;;;;6892:68;;;;;;;;;;;;;:::i;7522:21::-;;;;;;;;;;-1:-1:-1;7522:21:0;;;;-1:-1:-1;;;;;7522:21:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;7522:21:0;2047:203:1;7550:34:0;;;;;;;;;;-1:-1:-1;7550:34:0;;;;-1:-1:-1;;;7550:34:0;;;;;;6388:117;;;;;;;;;;-1:-1:-1;6388:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6481:16:0;6454:7;6481:16;;;:7;:16;;;;;;;6388:117;912:94;;;;;;;;;;;;;:::i;:::-;;13350:92;;;;;;;;;;;;;:::i;6090:94::-;;;;;;;;;;-1:-1:-1;6142:7:0;762:6;-1:-1:-1;;;;;762:6:0;6090:94;5602:102;5882:98;;;;;;;;;;-1:-1:-1;5965:7:0;;;;;;;;;;;;-1:-1:-1;;;5965:7:0;;;;5882:98;;7050:26;;;;;;;;;;;;;;;;8085:714;;;;;;;;;;;;;:::i;8844:197::-;;;;;;;;;;-1:-1:-1;8844:197:0;;;;;:::i;:::-;;:::i;6511:27::-;;;;;;;;;;-1:-1:-1;6511:27:0;;;;-1:-1:-1;;;;;6511:27:0;;;13201:141;;;;;;;;;;-1:-1:-1;13201:141:0;;;;;:::i;:::-;;:::i;6192:188::-;;;;;;;;;;-1:-1:-1;6192:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;6344:19:0;;;6312:7;6344:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6192:188;1014:229;;;;;;;;;;-1:-1:-1;1014:229:0;;;;;:::i;:::-;;:::i;9049:193::-;9153:4;9175:37;9184:10;9196:7;9205:6;9175:8;:37::i;:::-;-1:-1:-1;9230:4:0;9049:193;;;;;:::o;5602:102::-;5657:7;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;5677:19;;5602:102;:::o;9553:340::-;-1:-1:-1;;;;;9708:19:0;;9687:4;9708:19;;;:11;:19;;;;;;;;9728:10;9708:31;;;;;;;;-1:-1:-1;;9708:52:0;9704:126;;-1:-1:-1;;;;;9777:19:0;;;;;;:11;:19;;;;;;;;9797:10;9777:31;;;;;;;:41;;9812:6;;9777:19;:41;;9812:6;;9777:41;:::i;:::-;;;;-1:-1:-1;;9704:126:0;9849:36;9859:6;9867:9;9878:6;9849:9;:36::i;:::-;9842:43;9553:340;-1:-1:-1;;;;9553:340:0:o;5712:162::-;5764:5;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;5802:1;5786:17;5782:58;;5820:8;;;5782:58;-1:-1:-1;6680:2:0;;5712:162::o;6892:68::-;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;6892:68;:::o;912:94::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;293:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;;;;;;;;;977:21:::1;995:1;977:9;:21::i;:::-;912:94::o:0;13350:92::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;293:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;6947:13:::1;6680:2;6947;:13;:::i;:::-;6931:29;::::0;:13:::1;:29;:::i;:::-;13404:15;:30:::0;13350:92::o;8085:714::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;293:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;8145:14:::1;::::0;-1:-1:-1;;;8145:14:0;::::1;;;8144:15;8136:48;;;::::0;-1:-1:-1;;;8136:48:0;;5694:2:1;8136:48:0::1;::::0;::::1;5676:21:1::0;5733:2;5713:18;;;5706:30;-1:-1:-1;;;5752:18:1;;;5745:50;5812:18;;8136:48:0::1;5492:344:1::0;8136:48:0::1;8227:10;::::0;8195:63:::1;::::0;8212:4:::1;::::0;-1:-1:-1;;;;;8227:10:0::1;-1:-1:-1::0;;8195:8:0::1;:63::i;:::-;8291:10;;;;;;;;;-1:-1:-1::0;;;;;8291:10:0::1;-1:-1:-1::0;;;;;8291:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8280:43:0::1;;8338:10;;;;;;;;;-1:-1:-1::0;;;;;8338:10:0::1;-1:-1:-1::0;;;;;8338:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8280:114;::::0;-1:-1:-1;;;;;;8280:114:0::1;::::0;;;;;;-1:-1:-1;;;;;6327:15:1;;;8280:114:0::1;::::0;::::1;6309:34:1::0;8378:4:0::1;6359:18:1::0;;;6352:43;6244:18;;8280:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8271:6;:123:::0;;-1:-1:-1;;;;;8271:123:0;;::::1;-1:-1:-1::0;;;;;;8271:123:0;;::::1;::::0;::::1;::::0;;;:6:::1;8405:14:::0;;;:6:::1;:14;::::0;;;;;;;:21;;-1:-1:-1;;8405:21:0::1;8271:123:::0;8405:21;;::::1;::::0;;;8439:10;8518:4:::1;8538:22:::0;;;:7:::1;:22:::0;;;;;;;8439:10;::::1;::::0;:26:::1;::::0;8473:21:::1;::::0;8518:4;8538:22;8271:6;8607:7:::1;735::::0;762:6;-1:-1:-1;;;;;762:6:0;;689:87;8607:7:::1;8439:216;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8439:216:0;;;-1:-1:-1;;;;;6765:15:1;;;8439:216:0::1;::::0;::::1;6747:34:1::0;6797:18;;;6790:34;;;;6840:18;;;6833:34;;;;6883:18;;;6876:34;6947:15;;;6926:19;;;6919:44;8629:15:0::1;6979:19:1::0;;;6972:35;6681:19;;8439:216:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8673:6:0::1;::::0;;8697:10;8666:62:::1;::::0;-1:-1:-1;;;8666:62:0;;-1:-1:-1;;;;;8697:10:0;;::::1;8666:62;::::0;::::1;7503:51:1::0;-1:-1:-1;;7570:18:1;;;7563:34;8673:6:0;::::1;::::0;-1:-1:-1;8666:22:0::1;::::0;7476:18:1;;8666:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8741:14:0::1;:21:::0;;-1:-1:-1;;;;8741:21:0::1;-1:-1:-1::0;;;8741:21:0::1;::::0;;8773:11:::1;:18:::0;;-1:-1:-1;;8773:18:0::1;8758:4;8773:18;::::0;;8085:714::o;8844:197::-;8949:4;8971:40;8981:10;8993:9;9004:6;8971:9;:40::i;:::-;-1:-1:-1;9029:4:0;;8844:197;-1:-1:-1;;;8844:197:0:o;13201:141::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;293:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;13266:6:::1;:13:::0;;;13290:7:::1;:14:::0;;;13332:1:::1;13325:8:::0;::::1;13317:17;;;::::0;::::1;;13201:141:::0;:::o;1014:229::-;735:7;762:6;-1:-1:-1;;;;;762:6:0;293:10;824:23;816:68;;;;-1:-1:-1;;;816:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1117:22:0;::::1;1095:110;;;::::0;-1:-1:-1;;;1095:110:0;;8092:2:1;1095:110:0::1;::::0;::::1;8074:21:1::0;8131:2;8111:18;;;8104:30;8170:34;8150:18;;;8143:62;-1:-1:-1;;;8221:18:1;;;8214:36;8267:19;;1095:110:0::1;7890:402:1::0;1095:110:0::1;1216:19;1226:8;1216:9;:19::i;9250:295::-:0;-1:-1:-1;;;;;9379:20:0;;9371:52;;;;-1:-1:-1;;;9371:52:0;;8499:2:1;9371:52:0;;;8481:21:1;8538:2;8518:18;;;8511:30;-1:-1:-1;;;8557:18:1;;;8550:49;8616:18;;9371:52:0;8297:343:1;9371:52:0;-1:-1:-1;;;;;9442:21:0;;9434:53;;;;-1:-1:-1;;;9434:53:0;;8499:2:1;9434:53:0;;;8481:21:1;8538:2;8518:18;;;8511:30;-1:-1:-1;;;8557:18:1;;;8550:49;8616:18;;9434:53:0;8297:343:1;9434:53:0;-1:-1:-1;;;;;9500:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9250:295::o;10286:1295::-;10414:4;-1:-1:-1;;;;;10439:24:0;;;;;;:53;;-1:-1:-1;;;;;;10467:25:0;;;;10439:53;:67;;;;;10505:1;10496:6;:10;10439:67;10431:93;;;;-1:-1:-1;;;10431:93:0;;8847:2:1;10431:93:0;;;8829:21:1;8886:2;8866:18;;;8859:30;-1:-1:-1;;;8905:18:1;;;8898:43;8958:18;;10431:93:0;8645:337:1;10431:93:0;-1:-1:-1;;;;;10552:23:0;;10535:14;10552:23;;;:10;:23;;;;;;;;;:49;;-1:-1:-1;;;;;;10579:22:0;;;;;;:10;:22;;;;;;;;10552:49;10535:66;;10620:9;:27;;;-1:-1:-1;10633:14:0;;-1:-1:-1;;;10633:14:0;;;;10620:27;10612:62;;;;-1:-1:-1;;;10612:62:0;;9189:2:1;10612:62:0;;;9171:21:1;9228:2;9208:18;;;9201:30;-1:-1:-1;;;9247:18:1;;;9240:52;9309:18;;10612:62:0;8987:346:1;10612:62:0;10689:9;10688:10;:33;;;;-1:-1:-1;;;;;;10703:18:0;;;;;;:6;:18;;;;;;;;10702:19;10688:33;10685:141;;;10776:15;;-1:-1:-1;;;;;10744:19:0;;;;;;:7;:19;;;;;;:28;;10766:6;;10744:28;:::i;:::-;:47;;10736:90;;;;-1:-1:-1;;;10736:90:0;;9670:2:1;10736:90:0;;;9652:21:1;9709:2;9689:18;;;9682:30;9748:32;9728:18;;;9721:60;9798:18;;10736:90:0;9468:354:1;10736:90:0;10842:6;;-1:-1:-1;;;10842:6:0;;;;10841:7;:29;;;;-1:-1:-1;;;;;;10852:18:0;;;;;;:6;:18;;;;;;;;10841:29;:47;;;;-1:-1:-1;10874:14:0;;-1:-1:-1;;;10874:14:0;;;;10841:47;:68;;;;-1:-1:-1;6810:9:0;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;6790:16;;6805:1;6790:16;:::i;:::-;6789:30;;;;:::i;:::-;10892:6;:17;;10841:68;10837:444;;;10975:4;10926:28;6481:16;;;:7;:16;;;;;;10926:55;-1:-1:-1;6810:9:0;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;6790:16;;6805:1;6790:16;:::i;:::-;6789:30;;;;:::i;:::-;11000:20;:31;10996:217;;6882:3;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;6862:16;;6877:1;6862:16;:::i;:::-;6861:24;;;;:::i;:::-;11056:20;:31;11052:88;;6882:3;6947:13;6680:2;6947;:13;:::i;:::-;6931:29;;:13;:29;:::i;:::-;6862:16;;6877:1;6862:16;:::i;:::-;6861:24;;;;:::i;:::-;11110:30;;11052:88;11159:38;11176:20;11159:16;:38::i;:::-;11227:10;;:42;;-1:-1:-1;;;;;11227:10:0;;;;;;;;;11247:21;11227:42;;;;;;;;;11247:21;11227:10;:42;;;;;;;;;;;;;;;;;;;;;10911:370;10837:444;11293:18;11314:50;11333:11;11345:10;11357:6;11314:18;:50::i;:::-;11293:71;-1:-1:-1;11402:19:0;11293:71;11402:6;:19;:::i;:::-;-1:-1:-1;;;;;11377:20:0;;;;;;:7;:20;;;;;:45;;:20;;;:45;;;;;:::i;:::-;;;;-1:-1:-1;11457:19:0;;-1:-1:-1;11466:10:0;11457:6;:19;:::i;:::-;-1:-1:-1;;;;;11433:19:0;;;;;;:7;:19;;;;;:44;;:19;;;:44;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11493:56:0;;;;;;;11528:19;11537:10;11528:6;:19;:::i;:::-;11493:56;;1361:25:1;;;1349:2;1334:18;11493:56:0;;;;;;;-1:-1:-1;11569:4:0;;10286:1295;-1:-1:-1;;;;;10286:1295:0:o;1251:173::-;1307:16;1326:6;;-1:-1:-1;;;;;1343:17:0;;;-1:-1:-1;;;;;;1343:17:0;;;;;;1376:40;;1326:6;;;;;;;1376:40;;1307:16;1376:40;1296:128;1251:173;:::o;12456:737::-;7650:6;:13;;-1:-1:-1;;;;7650:13:0;-1:-1:-1;;;7650:13:0;;;12588:16:::1;::::0;;12602:1:::1;12588:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12588:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12588:16:0::1;12564:40;;12633:4;12615;12620:1;12615:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12615:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12659:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;12659:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;12615:7;;12659:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12649:4;12654:1;12649:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12649:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;12727:4:::1;12707:26;::::0;;;:11:::1;:26:::0;;;;;;12742:10:::1;::::0;;;::::1;12707:47:::0;;;;;;;;-1:-1:-1;;12707:68:0::1;12689:192;;12822:4;12802:26;::::0;;;:11:::1;:26;::::0;;;;;;;12837:10:::1;::::0;-1:-1:-1;;;;;12837:10:0::1;12802:47:::0;;;;;;;-1:-1:-1;;12802:67:0;;12689:192:::1;12910:10;::::0;:224:::1;::::0;-1:-1:-1;;;12910:224:0;;-1:-1:-1;;;;;12910:10:0;;::::1;::::0;:61:::1;::::0;:224:::1;::::0;12990:20;;12910:10:::1;::::0;13049:4;;13080::::1;::::0;13104:15:::1;::::0;12910:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;12893:293;;13168:7;;;12893:293;12553:640;7674:1;-1:-1:-1::0;7686:6:0;:14;;-1:-1:-1;;;;7686:14:0;;;12456:737::o;11589:859::-;11718:7;11738:10;11751:25;11760:11;11773:2;11751:8;:25::i;:::-;11738:38;;11787:11;11801:26;11811:11;11824:2;11801:9;:26::i;:::-;11787:40;;11838:11;11868:5;11864:64;;;-1:-1:-1;11881:6:0;;11864:64;;;11907:6;11903:25;;;-1:-1:-1;11921:7:0;;11903:25;11991:10;;11941:17;;-1:-1:-1;;;;;11991:10:0;;;;;;11976:25;;;;11973:188;;-1:-1:-1;;;;;12030:20:0;;12067:1;12030:20;;;:7;:20;;;;;:33;;12054:9;;12030:20;12067:1;;12030:33;;12054:9;;12030:33;:::i;:::-;;;;;;;12029:39;;:81;;12109:1;12029:81;;;7042:1;12081:12;;12072:6;:21;;;;:::i;:::-;12071:35;;;;:::i;:::-;-1:-1:-1;;;;;12125:11:0;;;;;;:7;:11;;;;;:24;;12017:93;;-1:-1:-1;12017:93:0;;12125:11;;;:24;;12017:93;;12125:24;:::i;:::-;;;;-1:-1:-1;;11973:188:0;12175:7;;12171:243;;7003:3;12212:12;12221:3;12212:6;:12;:::i;:::-;12211:26;;;;:::i;:::-;-1:-1:-1;;;;;12252:20:0;;;;;;:7;:20;;;;;:33;;12199:38;;-1:-1:-1;12199:38:0;;12252:20;;;:33;;12199:38;;12252:33;:::i;:::-;;;;-1:-1:-1;;12316:4:0;12300:22;;;;:7;:22;;;;;:35;;12326:9;;12300:22;:35;;12326:9;;12300:35;:::i;:::-;;;;-1:-1:-1;;12355:47:0;;1361:25:1;;;12385:4:0;;-1:-1:-1;;;;;12355:47:0;;;;;1349:2:1;1334:18;12355:47:0;;;;;;;12171:243;12431:9;11589:859;-1:-1:-1;;;;;;;11589:859:0:o;9901:167::-;-1:-1:-1;;;;;10003:15:0;;9968:4;10003:15;;;:10;:15;;;;;;9968:4;;10003:15;;10002:16;:31;;;;-1:-1:-1;;;;;;;;;10022:11:0;;;;;:6;:11;;;;;;;;;9901:167::o;10076:202::-;-1:-1:-1;;;;;10211:11:0;;10171:4;10211:11;;;:6;:11;;;;;;10171:4;;10211:11;;:31;;;;-1:-1:-1;;;;;;;;;10227:15:0;;;;;:10;:15;;;;;;;;10226:16;;10076:202::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;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2732:180::-;2791:6;2844:2;2832:9;2823:7;2819:23;2815:32;2812:52;;;2860:1;2857;2850:12;2812:52;-1:-1:-1;2883:23:1;;2732:180;-1:-1:-1;2732:180:1:o;2917:388::-;2985:6;2993;3046:2;3034:9;3025:7;3021:23;3017:32;3014:52;;;3062:1;3059;3052:12;3014:52;3101:9;3088:23;3120:31;3145:5;3120:31;:::i;:::-;3170:5;-1:-1:-1;3227:2:1;3212:18;;3199:32;3240:33;3199:32;3240:33;:::i;:::-;3292:7;3282:17;;;2917:388;;;;;:::o;3310:127::-;3371:10;3366:3;3362:20;3359:1;3352:31;3402:4;3399:1;3392:15;3426:4;3423:1;3416:15;3442:422;3531:1;3574:5;3531:1;3588:270;3609:7;3599:8;3596:21;3588:270;;;3668:4;3664:1;3660:6;3656:17;3650:4;3647:27;3644:53;;;3677:18;;:::i;:::-;3727:7;3717:8;3713:22;3710:55;;;3747:16;;;;3710:55;3826:22;;;;3786:15;;;;3588:270;;;3592:3;3442:422;;;;;:::o;3869:806::-;3918:5;3948:8;3938:80;;-1:-1:-1;3989:1:1;4003:5;;3938:80;4037:4;4027:76;;-1:-1:-1;4074:1:1;4088:5;;4027:76;4119:4;4137:1;4132:59;;;;4205:1;4200:130;;;;4112:218;;4132:59;4162:1;4153:10;;4176:5;;;4200:130;4237:3;4227:8;4224:17;4221:43;;;4244:18;;:::i;:::-;-1:-1:-1;;4300:1:1;4286:16;;4315:5;;4112:218;;4414:2;4404:8;4401:16;4395:3;4389:4;4386:13;4382:36;4376:2;4366:8;4363:16;4358:2;4352:4;4349:12;4345:35;4342:77;4339:159;;;-1:-1:-1;4451:19:1;;;4483:5;;4339:159;4530:34;4555:8;4549:4;4530:34;:::i;:::-;4600:6;4596:1;4592:6;4588:19;4579:7;4576:32;4573:58;;;4611:18;;:::i;:::-;4649:20;;3869:806;-1:-1:-1;;;3869:806:1:o;4680:140::-;4738:5;4767:47;4808:4;4798:8;4794:19;4788:4;4767:47;:::i;4825:168::-;4898:9;;;4929;;4946:15;;;4940:22;;4926:37;4916:71;;4967:18;;:::i;4998:128::-;5065:9;;;5086:11;;;5083:37;;;5100:18;;:::i;5131:356::-;5333:2;5315:21;;;5352:18;;;5345:30;5411:34;5406:2;5391:18;;5384:62;5478:2;5463:18;;5131:356::o;5841:251::-;5911:6;5964:2;5952:9;5943:7;5939:23;5935:32;5932:52;;;5980:1;5977;5970:12;5932:52;6012:9;6006:16;6031:31;6056:5;6031:31;:::i;7018:306::-;7106:6;7114;7122;7175:2;7163:9;7154:7;7150:23;7146:32;7143:52;;;7191:1;7188;7181:12;7143:52;7220:9;7214:16;7204:26;;7270:2;7259:9;7255:18;7249:25;7239:35;;7314:2;7303:9;7299:18;7293:25;7283:35;;7018:306;;;;;:::o;7608:277::-;7675:6;7728:2;7716:9;7707:7;7703:23;7699:32;7696:52;;;7744:1;7741;7734:12;7696:52;7776:9;7770:16;7829:5;7822:13;7815:21;7808:5;7805:32;7795:60;;7851:1;7848;7841:12;9338:125;9403:9;;;9424:10;;;9421:36;;;9437:18;;:::i;9827:217::-;9867:1;9893;9883:132;;9937:10;9932:3;9928:20;9925:1;9918:31;9972:4;9969:1;9962:15;10000:4;9997:1;9990:15;9883:132;-1:-1:-1;10029:9:1;;9827:217::o;10181:127::-;10242:10;10237:3;10233:20;10230:1;10223:31;10273:4;10270:1;10263:15;10297:4;10294:1;10287:15;10313:980;10575:4;10623:3;10612:9;10608:19;10654:6;10643:9;10636:25;10680:2;10718:6;10713:2;10702:9;10698:18;10691:34;10761:3;10756:2;10745:9;10741:18;10734:31;10785:6;10820;10814:13;10851:6;10843;10836:22;10889:3;10878:9;10874:19;10867:26;;10928:2;10920:6;10916:15;10902:29;;10949:1;10959:195;10973:6;10970:1;10967:13;10959:195;;;11038:13;;-1:-1:-1;;;;;11034:39:1;11022:52;;11129:15;;;;11094:12;;;;11070:1;10988:9;10959:195;;;-1:-1:-1;;;;;;;11210:32:1;;;;11205:2;11190:18;;11183:60;-1:-1:-1;;;11274:3:1;11259:19;11252:35;11171:3;10313:980;-1:-1:-1;;;10313:980:1:o

Swarm Source

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