ETH Price: $2,504.09 (-0.49%)

Token

Ohmegull (OMG)
 

Overview

Max Total Supply

1,000,000 OMG

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000173871 OMG

Value
$0.00
0x99ef15963204fc923ceb9f96669d3f44d8e4e5ca
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:
Ohmegull

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-16
*/

/**
 Telegram: https://t.me/ohmegull_erc
 Website: http://www.ohmegull.com
 X: https://x.com/Ohmegull_Eth
 */


// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.18;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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 from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

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

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Ohmegull is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 10**6 * 10**_decimals;
    uint256 private constant minSwap = 30000 * 10**_decimals; //0.03% from supply
    uint256 private constant fedBrrr = _totalSupply * 3 / 1000; //0.3% of the supply
    uint256 private constant maxSwap = _totalSupply * 2 / 100; //2% from supply
    uint256 public maxTxAmount = maxSwap; //max Tx for first mins after launch

    uint256 private _tax;
    uint256 public buyTax = 3;
    uint256 public sellTax = 5;
    
    uint256 private launchBlock;
    uint256 private blockDelay = 2;

    string private constant _name = "Ohmegull";
    string private constant _symbol = "OMG";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public marketingWallet;

    bool private launch = false;

    // Anti-Whale
    uint256 public maxHoldAmount = _totalSupply / 100 * 3; // 3% of _totalSupply
    mapping(address => bool) public isWhiteList;

    // Events
    event UpdateWhiteList(address indexed holder, bool value);
    event SetMaxHoldAmount(uint256 indexed maxHoldAmount);

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketingWallet = payable(0x7754a1d4424DC8A92888480aB3Ea6CcBeC2A1cc7);
        _balance[msg.sender] = _totalSupply;

        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[address(this)] = true;

        // default whiteList
        isWhiteList[msg.sender] = true; // owner
        isWhiteList[address(this)] = true; // token contract
        isWhiteList[uniswapV2Pair] = true; // pair

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    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 _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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 {
        launch = true;
        launchBlock = block.number;
    }

    function configureExempted(address[] memory _wallets, bool _enable) external onlyOwner {
        for(uint256 i = 0; i < _wallets.length; i++) {

            _isExcludedFromFeeWallet[_wallets[i]] = _enable;
        }
    }

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

    function newBlockDelay(uint256 number) external onlyOwner {
        blockDelay = number;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10 && newSellTax <= 10, "ERC20: wrong tax value!");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
      function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    }
    
    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        // maxHoldAmount check
        if(!isWhiteList[to]) {
            require(_balance[to] <= maxHoldAmount, "Over Max Holding Amount");
        }

        emit Transfer(from, to, transferAmount);
    }

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

    if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
        _tax = 0;
    } else {
        require(launch, "Wait till launch");
        require(amount <= maxTxAmount, "Max TxAmount 2% at launch");

        if (block.number < launchBlock + blockDelay) {
            _tax = 99;
        } else {
            uint256 blocksSinceLaunch = block.number - launchBlock - blockDelay;

            if (blocksSinceLaunch < 24) {
                _tax = 25;
            } else if (blocksSinceLaunch < 48) {
                _tax = 20;
            } else if (blocksSinceLaunch < 60) {
                _tax = 15;
            } else if (blocksSinceLaunch < 84) {
                _tax = 10;
            } else if (blocksSinceLaunch < 108) {
                _tax = 5;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) {
                        if (tokensToSwap > fedBrrr) {
                            tokensToSwap = fedBrrr;
                        }
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                } else {
                    _tax = 0;
                }
            }
        }
    }
    _tokenTransfer(from, to, amount);
}

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }
    receive() external payable {}

    function setMaxHoldAmount(uint256 _maxHoldAmount) external onlyOwner {
        maxHoldAmount = _maxHoldAmount;

        emit SetMaxHoldAmount(_maxHoldAmount);
    }

    function updateWhiteList(address _holder, bool _value) external onlyOwner {
        isWhiteList[_holder] = _value;

        emit UpdateWhiteList(_holder, _value);
    }
}

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":"uint256","name":"maxHoldAmount","type":"uint256"}],"name":"SetMaxHoldAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"UpdateWhiteList","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_wallets","type":"address[]"},{"internalType":"bool","name":"_enable","type":"bool"}],"name":"configureExempted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"}],"name":"newBlockDelay","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":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxHoldAmount","type":"uint256"}],"name":"setMaxHoldAmount","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"updateWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620004d4565b6200002390620f4240620004ec565b62000030906002620004ec565b6200003c919062000506565b600590815560036007556008556002600a908155600d805460ff60a01b191690556064906200006e90601290620004d4565b6200007d90620f4240620004ec565b62000089919062000506565b62000096906003620004ec565b600e55348015620000a657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000173919062000529565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000529565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000270919062000529565b600c80546001600160a01b03929092166001600160a01b0319928316179055600d8054909116737754a1d4424dc8a92888480ab3ea6ccbec2a1cc7179055620002bc6012600a620004d4565b620002cb90620f4240620004ec565b33600081815260026020908152604080832094909455600481528382208054600160ff199182168117909255600d546001600160a01b0390811685528685208054831684179055308086528786208054841685179055958552600f90935285842080548216831790559383528483208054851682179055600c549091168252929020805490911690911790556200035f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003996012600a620004d4565b620003a890620f4240620004ec565b60405190815260200160405180910390a362000554565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000416578160001904821115620003fa57620003fa620003bf565b808516156200040857918102915b93841c9390800290620003da565b509250929050565b6000826200042f57506001620004ce565b816200043e57506000620004ce565b8160018114620004575760028114620004625762000482565b6001915050620004ce565b60ff841115620004765762000476620003bf565b50506001821b620004ce565b5060208310610133831016604e8410600b8410161715620004a7575081810a620004ce565b620004b38383620003d5565b8060001904821115620004ca57620004ca620003bf565b0290505b92915050565b6000620004e560ff8416836200041e565b9392505050565b8082028115828204841417620004ce57620004ce620003bf565b6000826200052457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053c57600080fd5b81516001600160a01b0381168114620004e557600080fd5b6116c380620005646000396000f3fe6080604052600436106101a05760003560e01c80638a8c523c116100ec578063ac1d06091161008a578063d8b6004011610064578063d8b60040146104af578063dd62ed3e146104cf578063f2fde38b14610515578063f99031a71461053557600080fd5b8063ac1d060914610463578063cc1776d314610483578063cd03425c1461049957600080fd5b80639036ed4d116100c65780639036ed4d146103d757806395d89b41146103f7578063a21e876e14610423578063a9059cbb1461044357600080fd5b80638a8c523c1461038e5780638c0b5e22146103a35780638da5cb5b146103b957600080fd5b80634f7041a51161015957806370d8c9ec1161013357806370d8c9ec14610324578063715018a614610344578063751039fc1461035957806375f0a8741461036e57600080fd5b80634f7041a5146102b65780635d098b38146102cc57806370a08231146102ee57600080fd5b806306fdde03146101ac578063095ea7b3146101ef57806318160ddd1461021f57806323b872dd14610242578063313ce5671461026257806349bd5a5e1461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600881526713da1b5959dd5b1b60c21b60208201525b6040516101e69190611189565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a3660046111fc565b610565565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023461057c565b6040519081526020016101e6565b34801561024e57600080fd5b5061020f61025d366004611228565b61059c565b34801561026e57600080fd5b50604051601281526020016101e6565b34801561028a57600080fd5b50600c5461029e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b3480156102c257600080fd5b5061023460075481565b3480156102d857600080fd5b506102ec6102e7366004611269565b6105ee565b005b3480156102fa57600080fd5b50610234610309366004611269565b6001600160a01b031660009081526002602052604090205490565b34801561033057600080fd5b506102ec61033f36600461128d565b610643565b34801561035057600080fd5b506102ec610672565b34801561036557600080fd5b506102ec6106e6565b34801561037a57600080fd5b50600d5461029e906001600160a01b031681565b34801561039a57600080fd5b506102ec61072e565b3480156103af57600080fd5b5061023460055481565b3480156103c557600080fd5b506000546001600160a01b031661029e565b3480156103e357600080fd5b506102ec6103f23660046112a6565b610771565b34801561040357600080fd5b506040805180820190915260038152624f4d4760e81b60208201526101d9565b34801561042f57600080fd5b506102ec61043e3660046112ee565b610804565b34801561044f57600080fd5b5061020f61045e3660046111fc565b61089a565b34801561046f57600080fd5b506102ec61047e3660046113c5565b6108a7565b34801561048f57600080fd5b5061023460085481565b3480156104a557600080fd5b50610234600e5481565b3480156104bb57600080fd5b506102ec6104ca36600461128d565b610930565b3480156104db57600080fd5b506102346104ea3660046113fa565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052157600080fd5b506102ec610530366004611269565b61098d565b34801561054157600080fd5b5061020f610550366004611269565b600f6020526000908152604090205460ff1681565b60006105723384846109c3565b5060015b92915050565b600061058a6012600a61152d565b61059790620f424061153c565b905090565b60006105a9848484610ae7565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546105e49186916105df908690611553565b6109c3565b5060019392505050565b6000546001600160a01b031633146106215760405162461bcd60e51b815260040161061890611566565b60405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461066d5760405162461bcd60e51b815260040161061890611566565b600a55565b6000546001600160a01b0316331461069c5760405162461bcd60e51b815260040161061890611566565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107105760405162461bcd60e51b815260040161061890611566565b61071c6012600a61152d565b61072990620f424061153c565b600555565b6000546001600160a01b031633146107585760405162461bcd60e51b815260040161061890611566565b600d805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260040161061890611566565b600a82111580156107ad5750600a8111155b6107f95760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c7565210000000000000000006044820152606401610618565b600791909155600855565b6000546001600160a01b0316331461082e5760405162461bcd60e51b815260040161061890611566565b60005b82518110156108955781600460008584815181106108515761085161159b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061088d816115b1565b915050610831565b505050565b6000610572338484610ae7565b6000546001600160a01b031633146108d15760405162461bcd60e51b815260040161061890611566565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fc551bbb22d0406dbfb8b6b7740cc521bcf44e1106029cf899c19b6a8e4c99d51910160405180910390a25050565b6000546001600160a01b0316331461095a5760405162461bcd60e51b815260040161061890611566565b600e81905560405181907fc9a07d0106b62dd0f2706dab6a7aee4c4d0dc35078c994bf5c08d5d85861d46b90600090a250565b6000546001600160a01b031633146109b75760405162461bcd60e51b815260040161061890611566565b6109c081610dd0565b50565b6001600160a01b038316610a255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610618565b6001600160a01b038216610a865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610618565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610618565b6001600160a01b03831660009081526004602052604090205460ff1680610b8a57506001600160a01b03821660009081526004602052604090205460ff165b15610b99576000600655610dc5565b600d54600160a01b900460ff16610be55760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610618565b600554811115610c375760405162461bcd60e51b815260206004820152601960248201527f4d6178205478416d6f756e74203225206174206c61756e6368000000000000006044820152606401610618565b600a54600954610c4791906115ca565b431015610c58576063600655610dc5565b6000600a5460095443610c6b9190611553565b610c759190611553565b90506018811015610c8a576019600655610dc3565b6030811015610c9d576014600655610dc3565b603c811015610cb057600f600655610dc3565b6054811015610cc357600a600655610dc3565b606c811015610cd6576005600655610dc3565b600c546001600160a01b0390811690851603610cf757600754600655610dc3565b600c546001600160a01b0390811690841603610dbd5730600090815260026020526040902054610d296012600a61152d565b610d359061753061153c565b811115610db1576103e8610d4b6012600a61152d565b610d5890620f424061153c565b610d6390600361153c565b610d6d91906115dd565b811115610da8576103e8610d836012600a61152d565b610d9090620f424061153c565b610d9b90600361153c565b610da591906115dd565b90505b610db181610e90565b50600854600655610dc3565b60006006555b505b610895838383610fee565b6001600160a01b038116610e355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610618565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec557610ec561159b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4291906115ff565b81600181518110610f5557610f5561159b565b6001600160a01b039283166020918202929092010152600b54610f7b91309116846109c3565b600b54600d5460405163791ac94760e01b81526001600160a01b039283169263791ac94792610fb89287926000928892911690429060040161161c565b600060405180830381600087803b158015610fd257600080fd5b505af1158015610fe6573d6000803e3d6000fd5b505050505050565b6000606460065483611000919061153c565b61100a91906115dd565b905060006110188284611553565b6001600160a01b03861660009081526002602052604090205490915061103f908490611553565b6001600160a01b03808716600090815260026020526040808220939093559086168152205461106f9082906115ca565b6001600160a01b03851660009081526002602052604080822092909255308152205461109c9083906115ca565b306000908152600260209081526040808320939093556001600160a01b0387168252600f9052205460ff1661113557600e546001600160a01b03851660009081526002602052604090205411156111355760405162461bcd60e51b815260206004820152601760248201527f4f766572204d617820486f6c64696e6720416d6f756e740000000000000000006044820152606401610618565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161117a91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156111b65785810183015185820160400152820161119a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109c057600080fd5b80356111f7816111d7565b919050565b6000806040838503121561120f57600080fd5b823561121a816111d7565b946020939093013593505050565b60008060006060848603121561123d57600080fd5b8335611248816111d7565b92506020840135611258816111d7565b929592945050506040919091013590565b60006020828403121561127b57600080fd5b8135611286816111d7565b9392505050565b60006020828403121561129f57600080fd5b5035919050565b600080604083850312156112b957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b803580151581146111f757600080fd5b6000806040838503121561130157600080fd5b823567ffffffffffffffff8082111561131957600080fd5b818501915085601f83011261132d57600080fd5b8135602082821115611341576113416112c8565b8160051b604051601f19603f83011681018181108682111715611366576113666112c8565b60405292835281830193508481018201928984111561138457600080fd5b948201945b838610156113a95761139a866111ec565b85529482019493820193611389565b96506113b890508782016112de565b9450505050509250929050565b600080604083850312156113d857600080fd5b82356113e3816111d7565b91506113f1602084016112de565b90509250929050565b6000806040838503121561140d57600080fd5b8235611418816111d7565b91506020830135611428816111d7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148457816000190482111561146a5761146a611433565b8085161561147757918102915b93841c939080029061144e565b509250929050565b60008261149b57506001610576565b816114a857506000610576565b81600181146114be57600281146114c8576114e4565b6001915050610576565b60ff8411156114d9576114d9611433565b50506001821b610576565b5060208310610133831016604e8410600b8410161715611507575081810a610576565b6115118383611449565b806000190482111561152557611525611433565b029392505050565b600061128660ff84168361148c565b808202811582820484141761057657610576611433565b8181038181111561057657610576611433565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016115c3576115c3611433565b5060010190565b8082018082111561057657610576611433565b6000826115fa57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561161157600080fd5b8151611286816111d7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561166c5784516001600160a01b031683529383019391830191600101611647565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212200eec3d9b7b6fa2d17fa1e9bdce19f4c1e29c28b95a300ee31925e218ac7d107764736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80638a8c523c116100ec578063ac1d06091161008a578063d8b6004011610064578063d8b60040146104af578063dd62ed3e146104cf578063f2fde38b14610515578063f99031a71461053557600080fd5b8063ac1d060914610463578063cc1776d314610483578063cd03425c1461049957600080fd5b80639036ed4d116100c65780639036ed4d146103d757806395d89b41146103f7578063a21e876e14610423578063a9059cbb1461044357600080fd5b80638a8c523c1461038e5780638c0b5e22146103a35780638da5cb5b146103b957600080fd5b80634f7041a51161015957806370d8c9ec1161013357806370d8c9ec14610324578063715018a614610344578063751039fc1461035957806375f0a8741461036e57600080fd5b80634f7041a5146102b65780635d098b38146102cc57806370a08231146102ee57600080fd5b806306fdde03146101ac578063095ea7b3146101ef57806318160ddd1461021f57806323b872dd14610242578063313ce5671461026257806349bd5a5e1461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600881526713da1b5959dd5b1b60c21b60208201525b6040516101e69190611189565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a3660046111fc565b610565565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023461057c565b6040519081526020016101e6565b34801561024e57600080fd5b5061020f61025d366004611228565b61059c565b34801561026e57600080fd5b50604051601281526020016101e6565b34801561028a57600080fd5b50600c5461029e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b3480156102c257600080fd5b5061023460075481565b3480156102d857600080fd5b506102ec6102e7366004611269565b6105ee565b005b3480156102fa57600080fd5b50610234610309366004611269565b6001600160a01b031660009081526002602052604090205490565b34801561033057600080fd5b506102ec61033f36600461128d565b610643565b34801561035057600080fd5b506102ec610672565b34801561036557600080fd5b506102ec6106e6565b34801561037a57600080fd5b50600d5461029e906001600160a01b031681565b34801561039a57600080fd5b506102ec61072e565b3480156103af57600080fd5b5061023460055481565b3480156103c557600080fd5b506000546001600160a01b031661029e565b3480156103e357600080fd5b506102ec6103f23660046112a6565b610771565b34801561040357600080fd5b506040805180820190915260038152624f4d4760e81b60208201526101d9565b34801561042f57600080fd5b506102ec61043e3660046112ee565b610804565b34801561044f57600080fd5b5061020f61045e3660046111fc565b61089a565b34801561046f57600080fd5b506102ec61047e3660046113c5565b6108a7565b34801561048f57600080fd5b5061023460085481565b3480156104a557600080fd5b50610234600e5481565b3480156104bb57600080fd5b506102ec6104ca36600461128d565b610930565b3480156104db57600080fd5b506102346104ea3660046113fa565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052157600080fd5b506102ec610530366004611269565b61098d565b34801561054157600080fd5b5061020f610550366004611269565b600f6020526000908152604090205460ff1681565b60006105723384846109c3565b5060015b92915050565b600061058a6012600a61152d565b61059790620f424061153c565b905090565b60006105a9848484610ae7565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546105e49186916105df908690611553565b6109c3565b5060019392505050565b6000546001600160a01b031633146106215760405162461bcd60e51b815260040161061890611566565b60405180910390fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461066d5760405162461bcd60e51b815260040161061890611566565b600a55565b6000546001600160a01b0316331461069c5760405162461bcd60e51b815260040161061890611566565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107105760405162461bcd60e51b815260040161061890611566565b61071c6012600a61152d565b61072990620f424061153c565b600555565b6000546001600160a01b031633146107585760405162461bcd60e51b815260040161061890611566565b600d805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b0316331461079b5760405162461bcd60e51b815260040161061890611566565b600a82111580156107ad5750600a8111155b6107f95760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c7565210000000000000000006044820152606401610618565b600791909155600855565b6000546001600160a01b0316331461082e5760405162461bcd60e51b815260040161061890611566565b60005b82518110156108955781600460008584815181106108515761085161159b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061088d816115b1565b915050610831565b505050565b6000610572338484610ae7565b6000546001600160a01b031633146108d15760405162461bcd60e51b815260040161061890611566565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fc551bbb22d0406dbfb8b6b7740cc521bcf44e1106029cf899c19b6a8e4c99d51910160405180910390a25050565b6000546001600160a01b0316331461095a5760405162461bcd60e51b815260040161061890611566565b600e81905560405181907fc9a07d0106b62dd0f2706dab6a7aee4c4d0dc35078c994bf5c08d5d85861d46b90600090a250565b6000546001600160a01b031633146109b75760405162461bcd60e51b815260040161061890611566565b6109c081610dd0565b50565b6001600160a01b038316610a255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610618565b6001600160a01b038216610a865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610618565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b4b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610618565b6001600160a01b03831660009081526004602052604090205460ff1680610b8a57506001600160a01b03821660009081526004602052604090205460ff165b15610b99576000600655610dc5565b600d54600160a01b900460ff16610be55760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610618565b600554811115610c375760405162461bcd60e51b815260206004820152601960248201527f4d6178205478416d6f756e74203225206174206c61756e6368000000000000006044820152606401610618565b600a54600954610c4791906115ca565b431015610c58576063600655610dc5565b6000600a5460095443610c6b9190611553565b610c759190611553565b90506018811015610c8a576019600655610dc3565b6030811015610c9d576014600655610dc3565b603c811015610cb057600f600655610dc3565b6054811015610cc357600a600655610dc3565b606c811015610cd6576005600655610dc3565b600c546001600160a01b0390811690851603610cf757600754600655610dc3565b600c546001600160a01b0390811690841603610dbd5730600090815260026020526040902054610d296012600a61152d565b610d359061753061153c565b811115610db1576103e8610d4b6012600a61152d565b610d5890620f424061153c565b610d6390600361153c565b610d6d91906115dd565b811115610da8576103e8610d836012600a61152d565b610d9090620f424061153c565b610d9b90600361153c565b610da591906115dd565b90505b610db181610e90565b50600854600655610dc3565b60006006555b505b610895838383610fee565b6001600160a01b038116610e355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610618565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec557610ec561159b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4291906115ff565b81600181518110610f5557610f5561159b565b6001600160a01b039283166020918202929092010152600b54610f7b91309116846109c3565b600b54600d5460405163791ac94760e01b81526001600160a01b039283169263791ac94792610fb89287926000928892911690429060040161161c565b600060405180830381600087803b158015610fd257600080fd5b505af1158015610fe6573d6000803e3d6000fd5b505050505050565b6000606460065483611000919061153c565b61100a91906115dd565b905060006110188284611553565b6001600160a01b03861660009081526002602052604090205490915061103f908490611553565b6001600160a01b03808716600090815260026020526040808220939093559086168152205461106f9082906115ca565b6001600160a01b03851660009081526002602052604080822092909255308152205461109c9083906115ca565b306000908152600260209081526040808320939093556001600160a01b0387168252600f9052205460ff1661113557600e546001600160a01b03851660009081526002602052604090205411156111355760405162461bcd60e51b815260206004820152601760248201527f4f766572204d617820486f6c64696e6720416d6f756e740000000000000000006044820152606401610618565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161117a91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b818110156111b65785810183015185820160400152820161119a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109c057600080fd5b80356111f7816111d7565b919050565b6000806040838503121561120f57600080fd5b823561121a816111d7565b946020939093013593505050565b60008060006060848603121561123d57600080fd5b8335611248816111d7565b92506020840135611258816111d7565b929592945050506040919091013590565b60006020828403121561127b57600080fd5b8135611286816111d7565b9392505050565b60006020828403121561129f57600080fd5b5035919050565b600080604083850312156112b957600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b803580151581146111f757600080fd5b6000806040838503121561130157600080fd5b823567ffffffffffffffff8082111561131957600080fd5b818501915085601f83011261132d57600080fd5b8135602082821115611341576113416112c8565b8160051b604051601f19603f83011681018181108682111715611366576113666112c8565b60405292835281830193508481018201928984111561138457600080fd5b948201945b838610156113a95761139a866111ec565b85529482019493820193611389565b96506113b890508782016112de565b9450505050509250929050565b600080604083850312156113d857600080fd5b82356113e3816111d7565b91506113f1602084016112de565b90509250929050565b6000806040838503121561140d57600080fd5b8235611418816111d7565b91506020830135611428816111d7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148457816000190482111561146a5761146a611433565b8085161561147757918102915b93841c939080029061144e565b509250929050565b60008261149b57506001610576565b816114a857506000610576565b81600181146114be57600281146114c8576114e4565b6001915050610576565b60ff8411156114d9576114d9611433565b50506001821b610576565b5060208310610133831016604e8410600b8410161715611507575081810a610576565b6115118383611449565b806000190482111561152557611525611433565b029392505050565b600061128660ff84168361148c565b808202811582820484141761057657610576611433565b8181038181111561057657610576611433565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016115c3576115c3611433565b5060010190565b8082018082111561057657610576611433565b6000826115fa57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561161157600080fd5b8151611286816111d7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561166c5784516001600160a01b031683529383019391830191600101611647565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212200eec3d9b7b6fa2d17fa1e9bdce19f4c1e29c28b95a300ee31925e218ac7d107764736f6c63430008120033

Deployed Bytecode Sourcemap

2620:7899:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4886:83;;;;;;;;;;-1:-1:-1;4956:5:0;;;;;;;;;;;;-1:-1:-1;;;4956:5:0;;;;4886:83;;;;;;;:::i;:::-;;;;;;;;5720:160;;;;;;;;;;-1:-1:-1;5720:160:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;5720:160:0;1162:187:1;5163:100:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;5163:100:0;1354:177:1;5888:264:0;;;;;;;;;;-1:-1:-1;5888:264:0;;;;;:::i;:::-;;:::i;5072:83::-;;;;;;;;;;-1:-1:-1;5072:83:0;;2946:2;2139:36:1;;2127:2;2112:18;5072:83:0;1997:184:1;3672:28:0;;;;;;;;;;-1:-1:-1;3672:28:0;;;;-1:-1:-1;;;;;3672:28:0;;;;;;-1:-1:-1;;;;;2350:32:1;;;2332:51;;2320:2;2305:18;3672:28:0;2186:203:1;3382:25:0;;;;;;;;;;;;;;;;7299:135;;;;;;;;;;-1:-1:-1;7299:135:0;;;;;:::i;:::-;;:::i;:::-;;5271:118;;;;;;;;;;-1:-1:-1;5271:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5364:17:0;5337:7;5364:17;;;:8;:17;;;;;;;5271:118;6954:96;;;;;;;;;;-1:-1:-1;6954:96:0;;;;;:::i;:::-;;:::i;1949:148::-;;;;;;;;;;;;;:::i;6858:88::-;;;;;;;;;;;;;:::i;3707:38::-;;;;;;;;;;-1:-1:-1;3707:38:0;;;;-1:-1:-1;;;;;3707:38:0;;;6503:113;;;;;;;;;;;;;:::i;3273:36::-;;;;;;;;;;;;;;;;1381:79;;;;;;;;;;-1:-1:-1;1419:7:0;1446:6;-1:-1:-1;;;;;1446:6:0;1381:79;;7058:227;;;;;;;;;;-1:-1:-1;7058:227:0;;;;;:::i;:::-;;:::i;4977:87::-;;;;;;;;;;-1:-1:-1;5049:7:0;;;;;;;;;;;;-1:-1:-1;;;5049:7:0;;;;4977:87;;6624:226;;;;;;;;;;-1:-1:-1;6624:226:0;;;;;:::i;:::-;;:::i;5397:165::-;;;;;;;;;;-1:-1:-1;5397:165:0;;;;;:::i;:::-;;:::i;10344:172::-;;;;;;;;;;-1:-1:-1;10344:172:0;;;;;:::i;:::-;;:::i;3414:26::-;;;;;;;;;;;;;;;;3809:53;;;;;;;;;;;;;;;;10168:168;;;;;;;;;;-1:-1:-1;10168:168:0;;;;;:::i;:::-;;:::i;5570:142::-;;;;;;;;;;-1:-1:-1;5570:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5677:18:0;;;5651:7;5677:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5570:142;1595:109;;;;;;;;;;-1:-1:-1;1595:109:0;;;;;:::i;:::-;;:::i;3891:43::-;;;;;;;;;;-1:-1:-1;3891:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5720:160;5795:4;5811:39;299:10;5834:7;5843:6;5811:8;:39::i;:::-;-1:-1:-1;5868:4:0;5720:160;;;;;:::o;5163:100::-;5216:7;3003:13;2946:2;3003;:13;:::i;:::-;2995:21;;:5;:21;:::i;:::-;5236:19;;5163:100;:::o;5888:264::-;5986:4;6003:36;6013:6;6021:9;6032:6;6003:9;:36::i;:::-;-1:-1:-1;;;;;6079:19:0;;;;;;:11;:19;;;;;;;;299:10;6079:33;;;;;;;;;6050:72;;6059:6;;6079:42;;6115:6;;6079:42;:::i;:::-;6050:8;:72::i;:::-;-1:-1:-1;6140:4:0;5888:264;;;;;:::o;7299:135::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;;;;;;;;;7383:15:::1;:43:::0;;-1:-1:-1;;;;;;7383:43:0::1;-1:-1:-1::0;;;;;7383:43:0;;;::::1;::::0;;;::::1;::::0;;7299:135::o;6954:96::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;7023:10:::1;:19:::0;6954:96::o;1949:148::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;2056:1:::1;2040:6:::0;;2019:40:::1;::::0;-1:-1:-1;;;;;2040:6:0;;::::1;::::0;2019:40:::1;::::0;2056:1;;2019:40:::1;2087:1;2070:19:::0;;-1:-1:-1;;;;;;2070:19:0::1;::::0;;1949:148::o;6858:88::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;3003:13:::1;2946:2;3003;:13;:::i;:::-;2995:21;::::0;:5:::1;:21;:::i;:::-;6912:11;:26:::0;6858:88::o;6503:113::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;6558:6:::1;:13:::0;;-1:-1:-1;;;;6558:13:0::1;-1:-1:-1::0;;;6558:13:0::1;::::0;;6596:12:::1;6582:11;:26:::0;6503:113::o;7058:227::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;7167:2:::1;7154:9;:15;;:35;;;;;7187:2;7173:10;:16;;7154:35;7146:71;;;::::0;-1:-1:-1;;;7146:71:0;;7898:2:1;7146:71:0::1;::::0;::::1;7880:21:1::0;7937:2;7917:18;;;7910:30;7976:25;7956:18;;;7949:53;8019:18;;7146:71:0::1;7696:347:1::0;7146:71:0::1;7228:6;:18:::0;;;;7257:7:::1;:20:::0;7058:227::o;6624:226::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;6726:9:::1;6722:121;6745:8;:15;6741:1;:19;6722:121;;;6824:7;6784:24;:37;6809:8;6818:1;6809:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;6784:37:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;6784:37:0;:47;;-1:-1:-1;;6784:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6762:3;::::1;::::0;::::1;:::i;:::-;;;;6722:121;;;;6624:226:::0;;:::o;5397:165::-;5474:4;5490:42;299:10;5514:9;5525:6;5490:9;:42::i;10344:172::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10429:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;;;;:29;;-1:-1:-1;;10429:29:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10476:32;;1302:41:1;;;10476:32:0::1;::::0;1275:18:1;10476:32:0::1;;;;;;;10344:172:::0;;:::o;10168:168::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;10248:13:::1;:30:::0;;;10296:32:::1;::::0;10264:14;;10296:32:::1;::::0;;;::::1;10168:168:::0;:::o;1595:109::-;1508:6;;-1:-1:-1;;;;;1508:6:0;299:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;1668:28:::1;1687:8;1668:18;:28::i;:::-;1595:109:::0;:::o;6160:335::-;-1:-1:-1;;;;;6253:19:0;;6245:68;;;;-1:-1:-1;;;6245:68:0;;8522:2:1;6245:68:0;;;8504:21:1;8561:2;8541:18;;;8534:30;8600:34;8580:18;;;8573:62;-1:-1:-1;;;8651:18:1;;;8644:34;8695:19;;6245:68:0;8320:400:1;6245:68:0;-1:-1:-1;;;;;6332:21:0;;6324:68;;;;-1:-1:-1;;;6324:68:0;;8927:2:1;6324:68:0;;;8909:21:1;8966:2;8946:18;;;8939:30;9005:34;8985:18;;;8978:62;-1:-1:-1;;;9056:18:1;;;9049:32;9098:19;;6324:68:0;8725:398:1;6324:68:0;-1:-1:-1;;;;;6403:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6455:32;;1500:25:1;;;6455:32:0;;1473:18:1;6455:32:0;;;;;;;6160:335;;;:::o;8027:1617::-;-1:-1:-1;;;;;8111:18:0;;8103:68;;;;-1:-1:-1;;;8103:68:0;;9330:2:1;8103:68:0;;;9312:21:1;9369:2;9349:18;;;9342:30;9408:34;9388:18;;;9381:62;-1:-1:-1;;;9459:18:1;;;9452:35;9504:19;;8103:68:0;9128:401:1;8103:68:0;-1:-1:-1;;;;;8184:30:0;;;;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8218:28:0;;;;;;:24;:28;;;;;;;;8184:62;8180:1422;;;8266:1;8259:4;:8;8180:1422;;;8300:6;;-1:-1:-1;;;8300:6:0;;;;8292:35;;;;-1:-1:-1;;;8292:35:0;;9736:2:1;8292:35:0;;;9718:21:1;9775:2;9755:18;;;9748:30;-1:-1:-1;;;9794:18:1;;;9787:46;9850:18;;8292:35:0;9534:340:1;8292:35:0;8356:11;;8346:6;:21;;8338:59;;;;-1:-1:-1;;;8338:59:0;;10081:2:1;8338:59:0;;;10063:21:1;10120:2;10100:18;;;10093:30;10159:27;10139:18;;;10132:55;10204:18;;8338:59:0;9879:349:1;8338:59:0;8443:10;;8429:11;;:24;;;;:::i;:::-;8414:12;:39;8410:1185;;;8477:2;8470:4;:9;8410:1185;;;8512:25;8569:10;;8555:11;;8540:12;:26;;;;:::i;:::-;:39;;;;:::i;:::-;8512:67;;8620:2;8600:17;:22;8596:988;;;8650:2;8643:4;:9;8596:988;;;8698:2;8678:17;:22;8674:910;;;8728:2;8721:4;:9;8674:910;;;8776:2;8756:17;:22;8752:832;;;8806:2;8799:4;:9;8752:832;;;8854:2;8834:17;:22;8830:754;;;8884:2;8877:4;:9;8830:754;;;8932:3;8912:17;:23;8908:676;;;8963:1;8956:4;:8;8908:676;;;9017:13;;-1:-1:-1;;;;;9017:13:0;;;9009:21;;;;9005:564;;9062:6;;9055:4;:13;9005:564;;;9104:13;;-1:-1:-1;;;;;9104:13:0;;;9098:19;;;;9094:475;;9183:4;9142:20;5364:17;;;:8;:17;;;;;;3066:13;2946:2;3066;:13;:::i;:::-;3058:21;;:5;:21;:::i;:::-;9216:12;:22;9212:244;;;3160:4;3003:13;2946:2;3003;:13;:::i;:::-;2995:21;;:5;:21;:::i;:::-;3141:16;;3156:1;3141:16;:::i;:::-;:23;;;;:::i;:::-;9271:12;:22;9267:109;;;3160:4;3003:13;2946:2;3003;:13;:::i;:::-;2995:21;;:5;:21;:::i;:::-;3141:16;;3156:1;3141:16;:::i;:::-;:23;;;;:::i;:::-;9326:22;;9267:109;9402:30;9419:12;9402:16;:30::i;:::-;-1:-1:-1;9485:7:0;;9478:4;:14;9094:475;;;9548:1;9541:4;:8;9094:475;8497:1098;8410:1185;9608:32;9623:4;9629:2;9633:6;9608:14;:32::i;1712:229::-;-1:-1:-1;;;;;1786:22:0;;1778:73;;;;-1:-1:-1;;;1778:73:0;;10787:2:1;1778:73:0;;;10769:21:1;10826:2;10806:18;;;10799:30;10865:34;10845:18;;;10838:62;-1:-1:-1;;;10916:18:1;;;10909:36;10962:19;;1778:73:0;10585:402:1;1778:73:0;1888:6;;;1867:38;;-1:-1:-1;;;;;1867:38:0;;;;1888:6;;;1867:38;;;1916:6;:17;;-1:-1:-1;;;;;;1916:17:0;-1:-1:-1;;;;;1916:17:0;;;;;;;;;;1712:229::o;9652:473::-;9742:16;;;9756:1;9742:16;;;;;;;;9718:21;;9742:16;;;;;;;;;;-1:-1:-1;9742:16:0;9718:40;;9787:4;9769;9774:1;9769:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9769:23:0;;;:7;;;;;;;;;;:23;;;;9813:15;;:22;;;-1:-1:-1;;;9813:22:0;;;;:15;;;;;:20;;:22;;;;;9769:7;;9813:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9803:4;9808:1;9803:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9803:32:0;;;:7;;;;;;;;;:32;9878:15;;9846:62;;9863:4;;9878:15;9896:11;9846:8;:62::i;:::-;9919:15;;10061;;9919:198;;-1:-1:-1;;;9919:198:0;;-1:-1:-1;;;;;9919:15:0;;;;:66;;:198;;10000:11;;9919:15;;10042:4;;10061:15;;;10091;;9919:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9707:418;9652:473;:::o;7446:577::-;7531:17;7569:3;7561:4;;7552:6;:13;;;;:::i;:::-;7551:21;;;;:::i;:::-;7531:41;-1:-1:-1;7583:22:0;7608:18;7531:41;7608:6;:18;:::i;:::-;-1:-1:-1;;;;;7656:14:0;;;;;;:8;:14;;;;;;7583:43;;-1:-1:-1;7656:23:0;;7673:6;;7656:23;:::i;:::-;-1:-1:-1;;;;;7639:14:0;;;;;;;:8;:14;;;;;;:40;;;;7705:12;;;;;;;:29;;7720:14;;7705:29;:::i;:::-;-1:-1:-1;;;;;7690:12:0;;;;;;:8;:12;;;;;;:44;;;;7788:4;7771:23;;;;:35;;7797:9;;7771:35;:::i;:::-;7762:4;7745:23;;;;:8;:23;;;;;;;;:61;;;;-1:-1:-1;;;;;7855:15:0;;;;:11;:15;;;;;;7851:113;;7911:13;;-1:-1:-1;;;;;7895:12:0;;;;;;:8;:12;;;;;;:29;;7887:65;;;;-1:-1:-1;;;7887:65:0;;12443:2:1;7887:65:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:25;12501:18;;;12494:53;12564:18;;7887:65:0;12241:347:1;7887:65:0;7996:2;-1:-1:-1;;;;;7981:34:0;7990:4;-1:-1:-1;;;;;7981:34:0;;8000:14;7981:34;;;;1500:25:1;;1488:2;1473:18;;1354:177;7981:34:0;;;;;;;;7520:503;;7446:577;;;:::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:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2394:247::-;2453:6;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;2394:247;-1:-1:-1;;;2394:247:1:o;2646:180::-;2705:6;2758:2;2746:9;2737:7;2733:23;2729:32;2726:52;;;2774:1;2771;2764:12;2726:52;-1:-1:-1;2797:23:1;;2646:180;-1:-1:-1;2646:180:1:o;3055:248::-;3123:6;3131;3184:2;3172:9;3163:7;3159:23;3155:32;3152:52;;;3200:1;3197;3190:12;3152:52;-1:-1:-1;;3223:23:1;;;3293:2;3278:18;;;3265:32;;-1:-1:-1;3055:248:1:o;3308:127::-;3369:10;3364:3;3360:20;3357:1;3350:31;3400:4;3397:1;3390:15;3424:4;3421:1;3414:15;3440:160;3505:20;;3561:13;;3554:21;3544:32;;3534:60;;3590:1;3587;3580:12;3605:1191;3695:6;3703;3756:2;3744:9;3735:7;3731:23;3727:32;3724:52;;;3772:1;3769;3762:12;3724:52;3812:9;3799:23;3841:18;3882:2;3874:6;3871:14;3868:34;;;3898:1;3895;3888:12;3868:34;3936:6;3925:9;3921:22;3911:32;;3981:7;3974:4;3970:2;3966:13;3962:27;3952:55;;4003:1;4000;3993:12;3952:55;4039:2;4026:16;4061:4;4084:2;4080;4077:10;4074:36;;;4090:18;;:::i;:::-;4136:2;4133:1;4129:10;4168:2;4162:9;4231:2;4227:7;4222:2;4218;4214:11;4210:25;4202:6;4198:38;4286:6;4274:10;4271:22;4266:2;4254:10;4251:18;4248:46;4245:72;;;4297:18;;:::i;:::-;4333:2;4326:22;4383:18;;;4417:15;;;;-1:-1:-1;4459:11:1;;;4455:20;;;4487:19;;;4484:39;;;4519:1;4516;4509:12;4484:39;4543:11;;;;4563:148;4579:6;4574:3;4571:15;4563:148;;;4645:23;4664:3;4645:23;:::i;:::-;4633:36;;4596:12;;;;4689;;;;4563:148;;;4730:6;-1:-1:-1;4755:35:1;;-1:-1:-1;4771:18:1;;;4755:35;:::i;:::-;4745:45;;;;;;3605:1191;;;;;:::o;4801:315::-;4866:6;4874;4927:2;4915:9;4906:7;4902:23;4898:32;4895:52;;;4943:1;4940;4933:12;4895:52;4982:9;4969:23;5001:31;5026:5;5001:31;:::i;:::-;5051:5;-1:-1:-1;5075:35:1;5106:2;5091:18;;5075:35;:::i;:::-;5065:45;;4801:315;;;;;:::o;5121:388::-;5189:6;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5305:9;5292:23;5324:31;5349:5;5324:31;:::i;:::-;5374:5;-1:-1:-1;5431:2:1;5416:18;;5403:32;5444:33;5403:32;5444:33;:::i;:::-;5496:7;5486:17;;;5121:388;;;;;:::o;5514:127::-;5575:10;5570:3;5566:20;5563:1;5556:31;5606:4;5603:1;5596:15;5630:4;5627:1;5620:15;5646:422;5735:1;5778:5;5735:1;5792:270;5813:7;5803:8;5800:21;5792:270;;;5872:4;5868:1;5864:6;5860:17;5854:4;5851:27;5848:53;;;5881:18;;:::i;:::-;5931:7;5921:8;5917:22;5914:55;;;5951:16;;;;5914:55;6030:22;;;;5990:15;;;;5792:270;;;5796:3;5646:422;;;;;:::o;6073:806::-;6122:5;6152:8;6142:80;;-1:-1:-1;6193:1:1;6207:5;;6142:80;6241:4;6231:76;;-1:-1:-1;6278:1:1;6292:5;;6231:76;6323:4;6341:1;6336:59;;;;6409:1;6404:130;;;;6316:218;;6336:59;6366:1;6357:10;;6380:5;;;6404:130;6441:3;6431:8;6428:17;6425:43;;;6448:18;;:::i;:::-;-1:-1:-1;;6504:1:1;6490:16;;6519:5;;6316:218;;6618:2;6608:8;6605:16;6599:3;6593:4;6590:13;6586:36;6580:2;6570:8;6567:16;6562:2;6556:4;6553:12;6549:35;6546:77;6543:159;;;-1:-1:-1;6655:19:1;;;6687:5;;6543:159;6734:34;6759:8;6753:4;6734:34;:::i;:::-;6804:6;6800:1;6796:6;6792:19;6783:7;6780:32;6777:58;;;6815:18;;:::i;:::-;6853:20;;6073:806;-1:-1:-1;;;6073:806:1:o;6884:140::-;6942:5;6971:47;7012:4;7002:8;6998:19;6992:4;6971:47;:::i;7029:168::-;7102:9;;;7133;;7150:15;;;7144:22;;7130:37;7120:71;;7171:18;;:::i;7202:128::-;7269:9;;;7290:11;;;7287:37;;;7304:18;;:::i;7335:356::-;7537:2;7519:21;;;7556:18;;;7549:30;7615:34;7610:2;7595:18;;7588:62;7682:2;7667:18;;7335:356::o;8048:127::-;8109:10;8104:3;8100:20;8097:1;8090:31;8140:4;8137:1;8130:15;8164:4;8161:1;8154:15;8180:135;8219:3;8240:17;;;8237:43;;8260:18;;:::i;:::-;-1:-1:-1;8307:1:1;8296:13;;8180:135::o;10233:125::-;10298:9;;;10319:10;;;10316:36;;;10332:18;;:::i;10363:217::-;10403:1;10429;10419:132;;10473:10;10468:3;10464:20;10461:1;10454:31;10508:4;10505:1;10498:15;10536:4;10533:1;10526:15;10419:132;-1:-1:-1;10565:9:1;;10363:217::o;10992:251::-;11062:6;11115:2;11103:9;11094:7;11090:23;11086:32;11083:52;;;11131:1;11128;11121:12;11083:52;11163:9;11157:16;11182:31;11207:5;11182:31;:::i;11248:988::-;11518:4;11566:3;11555:9;11551:19;11597:6;11586:9;11579:25;11623:2;11661:6;11656:2;11645:9;11641:18;11634:34;11704:3;11699:2;11688:9;11684:18;11677:31;11728:6;11763;11757:13;11794:6;11786;11779:22;11832:3;11821:9;11817:19;11810:26;;11871:2;11863:6;11859:15;11845:29;;11892:1;11902:195;11916:6;11913:1;11910:13;11902:195;;;11981:13;;-1:-1:-1;;;;;11977:39:1;11965:52;;12072:15;;;;12037:12;;;;12013:1;11931:9;11902:195;;;-1:-1:-1;;;;;;;12153:32:1;;;;12148:2;12133:18;;12126:60;-1:-1:-1;;;12217:3:1;12202:19;12195:35;12114:3;11248:988;-1:-1:-1;;;11248:988:1:o

Swarm Source

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