ETH Price: $3,350.62 (-1.13%)

Token

Ask Doge (ASKDOGE)
 

Overview

Max Total Supply

100,000,000,000 ASKDOGE

Holders

106

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
247,029,285.271567585 ASKDOGE

Value
$0.00
0x9B29476a714888B7Fc23bf885e8Aa74241B23222
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:
ASKDOGE

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-02-11
*/

/**


            _____ _  __  _____   ____   _____ ______ 
     /\    / ____| |/ / |  __ \ / __ \ / ____|  ____|
    /  \  | (___ | ' /  | |  | | |  | | |  __| |__   
   / /\ \  \___ \|  <   | |  | | |  | | | |_ |  __|  
  / ____ \ ____) | . \  | |__| | |__| | |__| | |____ 
 /_/    \_\_____/|_|\_\ |_____/ \____/ \_____|______|
                                                     
                                                     
TG Public Portal: https://t.me/AskDogeEntry
Twitter: https://twitter.com/AskDogeERC

*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    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 from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ASKDOGE is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Ask Doge";
    string constant _symbol = "ASKDOGE";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply*2/100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 marketingFee = 15;
    uint256 sellMarketingFee = 40;

    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    bool public swapByLimit = false;
    uint256 public swapThreshold = _totalSupply / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { 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 balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, 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] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }

        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived =  amount;
        if(shouldTakeFee(sender)){
            if(sender == pair){
                amountReceived = takeFee(sender, amount,false);
            }else{
                amountReceived = takeFee(sender, amount,true);
            } 
        }


        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) {
        uint feeAmount = isSell ? amount.mul(sellMarketingFee).div(feeDenominator) : amount.mul(marketingFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 amountToSwap = _balances[address(this)];
        if (swapByLimit == true)
            amountToSwap = swapThreshold;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        if (address(this).balance > 100000000000000000){
            payable(marketingFeeReceiver).transfer(address(this).balance);
        }
      
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function manualSend() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 100;
        require (_maxWalletAmount >= _totalSupply/100);
    }

    function swapStatus (bool status) external onlyOwner {
        swapEnabled = status;
    }

    function swapStatusByLimit (bool status) external onlyOwner {
        swapByLimit = status;
    }

    function setFees(uint256 _MarketingFee, uint256 _sellMarketingFee) external onlyOwner {
         marketingFee = _MarketingFee;
         sellMarketingFee = _sellMarketingFee;
         require(marketingFee <= 10 && sellMarketingFee <= 30);
    }

    function setThreshold(uint256 _treshold) external onlyOwner {
         swapThreshold = _treshold;
    }

    function setFeeReceivers(address _marketingFeeReceiver) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
    }
    
}

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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treshold","type":"uint256"}],"name":"setThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapByLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"swapStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"swapStatusByLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000442565b620000599064174876e8006200045a565b600355606460035460026200006f91906200045a565b6200007b919062000474565b600455600f6009556028600a556064600b55600c80546001600160a01b03191633179055600e805461ffff60a01b1916600160a01b179055600354620000c5906103e89062000474565b600f55348015620000d557600080fd5b5060008054336001600160a01b031991821617909155600154600d80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000168919062000497565b6001600160a01b031663c9c65396600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f0919062000497565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000263919062000497565b600e80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600d5485168452825280832060001990558254841680845260078352818420805460ff19908116600190811790925560088552838620805482168317905560025490961685528285208054909616179094556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004c2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003845781600019048211156200036857620003686200032d565b808516156200037657918102915b93841c939080029062000348565b509250929050565b6000826200039d575060016200043c565b81620003ac575060006200043c565b8160018114620003c55760028114620003d057620003f0565b60019150506200043c565b60ff841115620003e457620003e46200032d565b50506001821b6200043c565b5060208310610133831016604e8410600b841016171562000415575081810a6200043c565b62000421838362000343565b80600019048211156200043857620004386200032d565b0290505b92915050565b60006200045360ff8416836200038c565b9392505050565b80820281158282048414176200043c576200043c6200032d565b6000826200049257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004aa57600080fd5b81516001600160a01b03811681146200045357600080fd5b61142880620004d26000396000f3fe6080604052600436106101a05760003560e01c806370a08231116100ec578063a9059cbb1161008a578063e96fada211610064578063e96fada21461050c578063f1d5f5171461052c578063f42938901461054c578063f887ea401461056157600080fd5b8063a9059cbb14610486578063dd62ed3e146104a6578063e01bb688146104ec57600080fd5b8063893d20e8116100c6578063893d20e8146103e457806395d89b4114610416578063960bfe0414610446578063a8aa1b311461046657600080fd5b806370a0823114610379578063715018a6146103af5780637e26d19f146103c457600080fd5b806323b872dd11610159578063571ac8b011610133578063571ac8b0146103025780635a978f8d146103225780636c0a24eb146103425780636ddd17131461035857600080fd5b806323b872dd146102975780632f54bf6e146102b7578063313ce567146102e657600080fd5b80630445b667146101ac5780630634f438146101d557806306fdde0314610206578063095ea7b3146102405780630b78f9c01461026057806318160ddd1461028257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c2600f5481565b6040519081526020015b60405180910390f35b3480156101e157600080fd5b50600e546101f690600160a81b900460ff1681565b60405190151581526020016101cc565b34801561021257600080fd5b5060408051808201909152600881526741736b20446f676560c01b60208201525b6040516101cc9190611136565b34801561024c57600080fd5b506101f661025b366004611199565b610581565b34801561026c57600080fd5b5061028061027b3660046111c5565b6105ee565b005b34801561028e57600080fd5b506003546101c2565b3480156102a357600080fd5b506101f66102b23660046111e7565b61064a565b3480156102c357600080fd5b506101f66102d2366004611228565b6000546001600160a01b0391821691161490565b3480156102f257600080fd5b50604051600981526020016101cc565b34801561030e57600080fd5b506101f661031d366004611228565b61070c565b34801561032e57600080fd5b5061028061033d366004611245565b61071a565b34801561034e57600080fd5b506101c260045481565b34801561036457600080fd5b50600e546101f690600160a01b900460ff1681565b34801561038557600080fd5b506101c2610394366004611228565b6001600160a01b031660009081526005602052604090205490565b3480156103bb57600080fd5b50610280610762565b3480156103d057600080fd5b506102806103df366004611245565b6107d1565b3480156103f057600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cc565b34801561042257600080fd5b5060408051808201909152600781526641534b444f474560c81b6020820152610233565b34801561045257600080fd5b50610280610461366004611267565b610819565b34801561047257600080fd5b50600e546103fe906001600160a01b031681565b34801561049257600080fd5b506101f66104a1366004611199565b610848565b3480156104b257600080fd5b506101c26104c1366004611280565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104f857600080fd5b50610280610507366004611228565b610855565b34801561051857600080fd5b50600c546103fe906001600160a01b031681565b34801561053857600080fd5b50610280610547366004611267565b6108a1565b34801561055857600080fd5b50610280610908565b34801561056d57600080fd5b50600d546103fe906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105dc9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106215760405162461bcd60e51b8152600401610618906112b9565b60405180910390fd5b6009829055600a818155821180159061063d5750601e600a5411155b61064657600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106f7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546106d2918490610941565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61070284848461097b565b90505b9392505050565b60006105e882600019610581565b6000546001600160a01b031633146107445760405162461bcd60e51b8152600401610618906112b9565b600e8054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b0316331461078c5760405162461bcd60e51b8152600401610618906112b9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146107fb5760405162461bcd60e51b8152600401610618906112b9565b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108435760405162461bcd60e51b8152600401610618906112b9565b600f55565b600061070533848461097b565b6000546001600160a01b0316331461087f5760405162461bcd60e51b8152600401610618906112b9565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108cb5760405162461bcd60e51b8152600401610618906112b9565b6064816003546108db91906112ef565b6108e59190611306565b6004556003546108f790606490611306565b600454101561090557600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610905573d6000803e3d6000fd5b600081848411156109655760405162461bcd60e51b81526004016106189190611136565b5060006109728486611328565b95945050505050565b60105460009060ff161561099b57610994848484610bc9565b9050610705565b600e546001600160a01b038481169116148015906109c757506002546001600160a01b03848116911614155b15610a72576001600160a01b03831660009081526008602052604090205460ff1680610a1857506004546001600160a01b038416600090815260056020526040902054610a1590849061133b565b11155b610a725760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610618565b610a7a610caf565b15610a8757610a87610d07565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054610ad9918490610941565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff16610b3f57600e546001600160a01b0390811690861603610b3057610b2985846000610eda565b9050610b3f565b610b3c85846001610eda565b90505b6001600160a01b038416600090815260056020526040902054610b629082610fa3565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb69085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610c1a918490610941565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610c499083610fa3565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c9d9086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610cd0575060105460ff16155b8015610ce55750600e54600160a01b900460ff165b8015610d025750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600190811790915530600090815260056020526040902054600e549091600160a81b90910460ff1615159003610d445750600f545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d7957610d7961134e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df69190611364565b81600181518110610e0957610e0961134e565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610e4f908590600090869030904290600401611381565b600060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b5050505067016345785d8a0000471115610ecc57600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610eca573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610f0857610f03600b54610efd6009548761100290919063ffffffff16565b90611084565b610f23565b610f23600b54610efd600a548761100290919063ffffffff16565b30600090815260056020526040902054909150610f409082610fa3565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f919085815260200190565b60405180910390a361097284826110c6565b600080610fb0838561133b565b9050838110156107055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610618565b600082600003611014575060006105e8565b600061102083856112ef565b90508261102d8583611306565b146107055760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610618565b600061070583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611108565b600061070583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610941565b600081836111295760405162461bcd60e51b81526004016106189190611136565b5060006109728486611306565b600060208083528351808285015260005b8181101561116357858101830151858201604001528201611147565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461090557600080fd5b600080604083850312156111ac57600080fd5b82356111b781611184565b946020939093013593505050565b600080604083850312156111d857600080fd5b50508035926020909101359150565b6000806000606084860312156111fc57600080fd5b833561120781611184565b9250602084013561121781611184565b929592945050506040919091013590565b60006020828403121561123a57600080fd5b813561070581611184565b60006020828403121561125757600080fd5b8135801515811461070557600080fd5b60006020828403121561127957600080fd5b5035919050565b6000806040838503121561129357600080fd5b823561129e81611184565b915060208301356112ae81611184565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105e8576105e86112d9565b60008261132357634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105e8576105e86112d9565b808201808211156105e8576105e86112d9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561137657600080fd5b815161070581611184565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113d15784516001600160a01b0316835293830193918301916001016113ac565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122078acc9dce5d1722a9d6230c1a46f1893714c3f287e84b48b0e8f110a52e05a2964736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806370a08231116100ec578063a9059cbb1161008a578063e96fada211610064578063e96fada21461050c578063f1d5f5171461052c578063f42938901461054c578063f887ea401461056157600080fd5b8063a9059cbb14610486578063dd62ed3e146104a6578063e01bb688146104ec57600080fd5b8063893d20e8116100c6578063893d20e8146103e457806395d89b4114610416578063960bfe0414610446578063a8aa1b311461046657600080fd5b806370a0823114610379578063715018a6146103af5780637e26d19f146103c457600080fd5b806323b872dd11610159578063571ac8b011610133578063571ac8b0146103025780635a978f8d146103225780636c0a24eb146103425780636ddd17131461035857600080fd5b806323b872dd146102975780632f54bf6e146102b7578063313ce567146102e657600080fd5b80630445b667146101ac5780630634f438146101d557806306fdde0314610206578063095ea7b3146102405780630b78f9c01461026057806318160ddd1461028257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c2600f5481565b6040519081526020015b60405180910390f35b3480156101e157600080fd5b50600e546101f690600160a81b900460ff1681565b60405190151581526020016101cc565b34801561021257600080fd5b5060408051808201909152600881526741736b20446f676560c01b60208201525b6040516101cc9190611136565b34801561024c57600080fd5b506101f661025b366004611199565b610581565b34801561026c57600080fd5b5061028061027b3660046111c5565b6105ee565b005b34801561028e57600080fd5b506003546101c2565b3480156102a357600080fd5b506101f66102b23660046111e7565b61064a565b3480156102c357600080fd5b506101f66102d2366004611228565b6000546001600160a01b0391821691161490565b3480156102f257600080fd5b50604051600981526020016101cc565b34801561030e57600080fd5b506101f661031d366004611228565b61070c565b34801561032e57600080fd5b5061028061033d366004611245565b61071a565b34801561034e57600080fd5b506101c260045481565b34801561036457600080fd5b50600e546101f690600160a01b900460ff1681565b34801561038557600080fd5b506101c2610394366004611228565b6001600160a01b031660009081526005602052604090205490565b3480156103bb57600080fd5b50610280610762565b3480156103d057600080fd5b506102806103df366004611245565b6107d1565b3480156103f057600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cc565b34801561042257600080fd5b5060408051808201909152600781526641534b444f474560c81b6020820152610233565b34801561045257600080fd5b50610280610461366004611267565b610819565b34801561047257600080fd5b50600e546103fe906001600160a01b031681565b34801561049257600080fd5b506101f66104a1366004611199565b610848565b3480156104b257600080fd5b506101c26104c1366004611280565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104f857600080fd5b50610280610507366004611228565b610855565b34801561051857600080fd5b50600c546103fe906001600160a01b031681565b34801561053857600080fd5b50610280610547366004611267565b6108a1565b34801561055857600080fd5b50610280610908565b34801561056d57600080fd5b50600d546103fe906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105dc9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106215760405162461bcd60e51b8152600401610618906112b9565b60405180910390fd5b6009829055600a818155821180159061063d5750601e600a5411155b61064657600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106f7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546106d2918490610941565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61070284848461097b565b90505b9392505050565b60006105e882600019610581565b6000546001600160a01b031633146107445760405162461bcd60e51b8152600401610618906112b9565b600e8054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b0316331461078c5760405162461bcd60e51b8152600401610618906112b9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146107fb5760405162461bcd60e51b8152600401610618906112b9565b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108435760405162461bcd60e51b8152600401610618906112b9565b600f55565b600061070533848461097b565b6000546001600160a01b0316331461087f5760405162461bcd60e51b8152600401610618906112b9565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108cb5760405162461bcd60e51b8152600401610618906112b9565b6064816003546108db91906112ef565b6108e59190611306565b6004556003546108f790606490611306565b600454101561090557600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610905573d6000803e3d6000fd5b600081848411156109655760405162461bcd60e51b81526004016106189190611136565b5060006109728486611328565b95945050505050565b60105460009060ff161561099b57610994848484610bc9565b9050610705565b600e546001600160a01b038481169116148015906109c757506002546001600160a01b03848116911614155b15610a72576001600160a01b03831660009081526008602052604090205460ff1680610a1857506004546001600160a01b038416600090815260056020526040902054610a1590849061133b565b11155b610a725760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610618565b610a7a610caf565b15610a8757610a87610d07565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054610ad9918490610941565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff16610b3f57600e546001600160a01b0390811690861603610b3057610b2985846000610eda565b9050610b3f565b610b3c85846001610eda565b90505b6001600160a01b038416600090815260056020526040902054610b629082610fa3565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb69085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610c1a918490610941565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610c499083610fa3565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c9d9086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610cd0575060105460ff16155b8015610ce55750600e54600160a01b900460ff165b8015610d025750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600190811790915530600090815260056020526040902054600e549091600160a81b90910460ff1615159003610d445750600f545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d7957610d7961134e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df69190611364565b81600181518110610e0957610e0961134e565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610e4f908590600090869030904290600401611381565b600060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b5050505067016345785d8a0000471115610ecc57600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610eca573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610f0857610f03600b54610efd6009548761100290919063ffffffff16565b90611084565b610f23565b610f23600b54610efd600a548761100290919063ffffffff16565b30600090815260056020526040902054909150610f409082610fa3565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f919085815260200190565b60405180910390a361097284826110c6565b600080610fb0838561133b565b9050838110156107055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610618565b600082600003611014575060006105e8565b600061102083856112ef565b90508261102d8583611306565b146107055760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610618565b600061070583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611108565b600061070583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610941565b600081836111295760405162461bcd60e51b81526004016106189190611136565b5060006109728486611306565b600060208083528351808285015260005b8181101561116357858101830151858201604001528201611147565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461090557600080fd5b600080604083850312156111ac57600080fd5b82356111b781611184565b946020939093013593505050565b600080604083850312156111d857600080fd5b50508035926020909101359150565b6000806000606084860312156111fc57600080fd5b833561120781611184565b9250602084013561121781611184565b929592945050506040919091013590565b60006020828403121561123a57600080fd5b813561070581611184565b60006020828403121561125757600080fd5b8135801515811461070557600080fd5b60006020828403121561127957600080fd5b5035919050565b6000806040838503121561129357600080fd5b823561129e81611184565b915060208301356112ae81611184565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105e8576105e86112d9565b60008261132357634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105e8576105e86112d9565b808201808211156105e8576105e86112d9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561137657600080fd5b815161070581611184565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113d15784516001600160a01b0316835293830193918301916001016113ac565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122078acc9dce5d1722a9d6230c1a46f1893714c3f287e84b48b0e8f110a52e05a2964736f6c63430008120033

Deployed Bytecode Sourcemap

4624:7406:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5590:50;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5590:50:0;;;;;;;;5552:31;;;;;;;;;;-1:-1:-1;5552:31:0;;;;-1:-1:-1;;;5552:31:0;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;5552:31:0;196:187:1;6551:80:0;;;;;;;;;;-1:-1:-1;6623:5:0;;;;;;;;;;;;-1:-1:-1;;;6623:5:0;;;;6551:80;;;;;;;:::i;6973:216::-;;;;;;;;;;-1:-1:-1;6973:216:0;;;;;:::i;:::-;;:::i;11515:247::-;;;;;;;;;;-1:-1:-1;11515:247:0;;;;;:::i;:::-;;:::i;:::-;;6281:88;;;;;;;;;;-1:-1:-1;6354:12:0;;6281:88;;7491:370;;;;;;;;;;-1:-1:-1;7491:370:0;;;;;:::i;:::-;;:::i;2862:103::-;;;;;;;;;;-1:-1:-1;2862:103:0;;;;;:::i;:::-;2917:4;2952:5;-1:-1:-1;;;;;2941:16:0;;;2952:5;;2941:16;;2862:103;6375:80;;;;;;;;;;-1:-1:-1;6375:80:0;;4947:1;2505:36:1;;2493:2;2478:18;6375:80:0;2363:184:1;7197:122:0;;;;;;;;;;-1:-1:-1;7197:122:0;;;;;:::i;:::-;;:::i;11408:99::-;;;;;;;;;;-1:-1:-1;11408:99:0;;;;;:::i;:::-;;:::i;5022:52::-;;;;;;;;;;;;;;;;5515:30;;;;;;;;;;-1:-1:-1;5515:30:0;;;;-1:-1:-1;;;5515:30:0;;;;;;6721:105;;;;;;;;;;-1:-1:-1;6721:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6805:18:0;6787:7;6805:18;;;:9;:18;;;;;;;6721:105;2971:131;;;;;;;;;;;;;:::i;11308:92::-;;;;;;;;;;-1:-1:-1;11308:92:0;;;;;:::i;:::-;;:::i;6637:78::-;;;;;;;;;;-1:-1:-1;6689:7:0;6707:5;-1:-1:-1;;;;;6707:5:0;6637:78;;;-1:-1:-1;;;;;2994:32:1;;;2976:51;;2964:2;2949:18;6637:78:0;2830:203:1;6461:84:0;;;;;;;;;;-1:-1:-1;6535:7:0;;;;;;;;;;;;-1:-1:-1;;;6535:7:0;;;;6461:84;;11770:105;;;;;;;;;;-1:-1:-1;11770:105:0;;;;;:::i;:::-;;:::i;5487:19::-;;;;;;;;;;-1:-1:-1;5487:19:0;;;;-1:-1:-1;;;;;5487:19:0;;;7327:156;;;;;;;;;;-1:-1:-1;7327:156:0;;;;;:::i;:::-;;:::i;6832:133::-;;;;;;;;;;-1:-1:-1;6832:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6934:19:0;;;6916:7;6934:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6832:133;11883:138;;;;;;;;;;-1:-1:-1;11883:138:0;;;;;:::i;:::-;;:::i;5399:48::-;;;;;;;;;;-1:-1:-1;5399:48:0;;;;-1:-1:-1;;;;;5399:48:0;;;11102:198;;;;;;;;;;-1:-1:-1;11102:198:0;;;;;:::i;:::-;;:::i;10983:111::-;;;;;;;;;;;;;:::i;5456:24::-;;;;;;;;;;-1:-1:-1;5456:24:0;;;;-1:-1:-1;;;;;5456:24:0;;;6973:216;7077:10;7048:4;7065:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7065:32:0;;;;;;;;;;:41;;;7122:37;7048:4;;7065:32;;7122:37;;;;7100:6;160:25:1;;148:2;133:18;;14:177;7122:37:0;;;;;;;;-1:-1:-1;7177:4:0;6973:216;;;;;:::o;11515:247::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;;;;;;;;;11613:12:::1;:28:::0;;;11653:16:::1;:36:::0;;;11709:18;::::1;::::0;::::1;::::0;:44:::1;;;11751:2;11731:16;;:22;;11709:44;11701:53;;;::::0;::::1;;11515:247:::0;;:::o;7491:370::-;-1:-1:-1;;;;;7611:19:0;;7591:4;7611:19;;;:11;:19;;;;;;;;7631:10;7611:31;;;;;;;;-1:-1:-1;;7611:52:0;7608:186;;7713:69;;;;;;;;;;;-1:-1:-1;;;7713:69:0;;;;;;;;-1:-1:-1;;;;;7713:19:0;;-1:-1:-1;7713:19:0;;;:11;:19;;;;;7733:10;7713:31;;;;;;;;;;:69;;7749:6;;7713:35;:69::i;:::-;-1:-1:-1;;;;;7679:19:0;;;;;;:11;:19;;;;;;;;7699:10;7679:31;;;;;;;:103;7608:186;7813:40;7827:6;7835:9;7846:6;7813:13;:40::i;:::-;7806:47;;7491:370;;;;;;:::o;7197:122::-;7252:4;7276:35;7284:7;-1:-1:-1;;7276:7:0;:35::i;11408:99::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;11479:11:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;11479:20:0::1;-1:-1:-1::0;;;;11479:20:0;;::::1;::::0;;;::::1;::::0;;11408:99::o;2971:131::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;3044:1:::1;3028:18:::0;;-1:-1:-1;;;;;;3028:18:0::1;::::0;;3062:32:::1;::::0;2976:51:1;;;3062:32:0::1;::::0;2964:2:1;2949:18;3062:32:0::1;;;;;;;2971:131::o:0;11308:92::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;11372:11:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;11372:20:0::1;-1:-1:-1::0;;;;11372:20:0;;::::1;::::0;;;::::1;::::0;;11308:92::o;11770:105::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;11842:13:::1;:25:::0;11770:105::o;7327:156::-;7407:4;7431:44;7445:10;7457:9;7468:6;7431:13;:44::i;11883:138::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;11969:20:::1;:44:::0;;-1:-1:-1;;;;;;11969:44:0::1;-1:-1:-1::0;;;;;11969:44:0;;;::::1;::::0;;;::::1;::::0;;11883:138::o;11102:198::-;2917:4;2952:5;-1:-1:-1;;;;;2952:5:0;2823:10;2941:16;2807:38;;;;-1:-1:-1;;;2807:38:0;;;;;;;:::i;:::-;11232:3:::1;11214:13;11199:12;;:28;;;;:::i;:::-;11198:37;;;;:::i;:::-;11179:16;:56:::0;11275:12:::1;::::0;:16:::1;::::0;11288:3:::1;::::0;11275:16:::1;:::i;:::-;11255;;:36;;11246:46;;;::::0;::::1;;11102:198:::0;:::o;10983:111::-;11033:20;;11025:61;;-1:-1:-1;;;;;11033:20:0;;;;11064:21;11025:61;;;;;11033:20;11025:61;11033:20;11025:61;11064:21;11033:20;11025:61;;;;;;;;;;;;;;;;;;;951:190;1037:7;1073:12;1065:6;;;;1057:29;;;;-1:-1:-1;;;1057:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1097:9:0;1109:5;1113:1;1109;:5;:::i;:::-;1097:17;951:190;-1:-1:-1;;;;;951:190:0:o;7869:984::-;7981:6;;7961:4;;7981:6;;7978:63;;;7997:41;8012:6;8020:9;8031:6;7997:14;:41::i;:::-;7990:48;;;;7978:63;8078:4;;-1:-1:-1;;;;;8065:17:0;;;8078:4;;8065:17;;;;:38;;-1:-1:-1;8099:4:0;;-1:-1:-1;;;;;8086:17:0;;;8099:4;;8086:17;;8065:38;8061:200;;;-1:-1:-1;;;;;8128:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8191:16:0;;-1:-1:-1;;;;;8158:20:0;;;;;;:9;:20;;;;;;:29;;8181:6;;8158:29;:::i;:::-;:49;;8128:79;8120:129;;;;-1:-1:-1;;;8120:129:0;;5168:2:1;8120:129:0;;;5150:21:1;5207:2;5187:18;;;5180:30;5246:34;5226:18;;;5219:62;-1:-1:-1;;;5297:18:1;;;5290:35;5342:19;;8120:129:0;4966:401:1;8120:129:0;8276:16;:14;:16::i;:::-;8273:35;;;8295:10;:8;:10::i;:::-;8341:53;;;;;;;;;;;-1:-1:-1;;;8341:53:0;;;;;;;;-1:-1:-1;;;;;8341:17:0;;-1:-1:-1;8341:17:0;;;:9;:17;;;;;;;;:53;;8363:6;;8341:21;:53::i;:::-;-1:-1:-1;;;;;8321:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9290:11;:19;;;;8433:6;;9290:19;;8450:235;;8503:4;;-1:-1:-1;;;;;8503:4:0;;;8493:14;;;;8490:183;;8544:29;8552:6;8560;8567:5;8544:7;:29::i;:::-;8527:46;;8490:183;;;8629:28;8637:6;8645;8652:4;8629:7;:28::i;:::-;8612:45;;8490:183;-1:-1:-1;;;;;8722:20:0;;;;;;:9;:20;;;;;;:40;;8747:14;8722:24;:40::i;:::-;-1:-1:-1;;;;;8699:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8780:43;;;;;;;;;;8808:14;160:25:1;;148:2;133:18;;14:177;8780:43:0;;;;;;;;-1:-1:-1;8841:4:0;;7869:984;-1:-1:-1;;;;7869:984:0:o;8865:330::-;8995:53;;;;;;;;;;;-1:-1:-1;;;8995:53:0;;;;;;;;-1:-1:-1;;;;;8995:17:0;;8958:4;8995:17;;;:9;:17;;;;;;;:53;;9017:6;;8995:21;:53::i;:::-;-1:-1:-1;;;;;8975:17:0;;;;;;;:9;:17;;;;;;:73;;;;9082:20;;;;;;;:32;;9107:6;9082:24;:32::i;:::-;-1:-1:-1;;;;;9059:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9130:35;;;;;;;;;;9158:6;160:25:1;;148:2;133:18;;14:177;9130:35:0;;;;;;;;-1:-1:-1;9183:4:0;8865:330;;;;;:::o;9736:197::-;9823:4;;9785;;-1:-1:-1;;;;;9823:4:0;9809:10;:18;;;;:38;;-1:-1:-1;9841:6:0;;;;9840:7;9809:38;:62;;;;-1:-1:-1;9860:11:0;;-1:-1:-1;;;9860:11:0;;;;9809:62;:116;;;;-1:-1:-1;9912:13:0;;9902:4;9884:24;;;;:9;:24;;;;;;:41;;9809:116;9802:123;;9736:197;:::o;9941:656::-;5688:6;:13;;-1:-1:-1;;5688:13:0;5697:4;5688:13;;;;;;10031:4:::1;5688:6:::0;10013:24;;;:9:::1;:24;::::0;;;;;10052:11:::1;::::0;10013:24;;-1:-1:-1;;;10052:11:0;;::::1;5688:13:::0;10052:11:::1;:19;;::::0;;10048:66:::1;;-1:-1:-1::0;10101:13:0::1;::::0;10048:66:::1;10149:16;::::0;;10163:1:::1;10149:16:::0;;;;;::::1;::::0;;10125:21:::1;::::0;10149:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10149:16:0::1;10125:40;;10194:4;10176;10181:1;10176:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10176:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10220:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10220:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10176:7;;10220:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10210:4;10215:1;10210:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10210:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10246:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10246:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10318:12;;10246:6:::1;::::0;10361:4;;10388::::1;::::0;10408:15:::1;::::0;10246:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10475:18;10451:21;:42;10447:135;;;10517:20;::::0;10509:61:::1;::::0;-1:-1:-1;;;;;10517:20:0;;::::1;::::0;10548:21:::1;10509:61:::0;::::1;;;::::0;10517:20:::1;10509:61:::0;10517:20;10509:61;10548:21;10517:20;10509:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10447:135;-1:-1:-1::0;;5706:6:0;:14;;-1:-1:-1;;5706:14:0;;;9941:656::o;9325:403::-;9405:7;9425:14;9442:6;:104;;9502:44;9531:14;;9502:24;9513:12;;9502:6;:10;;:24;;;;:::i;:::-;:28;;:44::i;:::-;9442:104;;;9451:48;9484:14;;9451:28;9462:16;;9451:6;:10;;:28;;;;:::i;:48::-;9602:4;9584:24;;;;:9;:24;;;;;;9425:121;;-1:-1:-1;9584:39:0;;9425:121;9584:28;:39::i;:::-;9575:4;9557:24;;;;:9;:24;;;;;;;:66;;;;9639:42;;-1:-1:-1;;;;;9639:42:0;;;;;;;9671:9;160:25:1;;148:2;133:18;;14:177;9639:42:0;;;;;;;;9699:21;:6;9710:9;9699:10;:21::i;624:179::-;682:7;;714:5;718:1;714;:5;:::i;:::-;702:17;;743:1;738;:6;;730:46;;;;-1:-1:-1;;;730:46:0;;7079:2:1;730:46:0;;;7061:21:1;7118:2;7098:18;;;7091:30;7157:29;7137:18;;;7130:57;7204:18;;730:46:0;6877:351:1;1147:246:0;1205:7;1229:1;1234;1229:6;1225:47;;-1:-1:-1;1259:1:0;1252:8;;1225:47;1282:9;1294:5;1298:1;1294;:5;:::i;:::-;1282:17;-1:-1:-1;1327:1:0;1318:5;1322:1;1282:17;1318:5;:::i;:::-;:10;1310:56;;;;-1:-1:-1;;;1310:56:0;;7435:2:1;1310:56:0;;;7417:21:1;7474:2;7454:18;;;7447:30;7513:34;7493:18;;;7486:62;-1:-1:-1;;;7564:18:1;;;7557:31;7605:19;;1310:56:0;7233:397:1;1399:132:0;1457:7;1484:39;1488:1;1491;1484:39;;;;;;;;;;;;;;;;;:3;:39::i;809:136::-;867:7;894:43;898:1;901;894:43;;;;;;;;;;;;;;;;;:3;:43::i;1537:189::-;1623:7;1658:12;1651:5;1643:28;;;;-1:-1:-1;;;1643:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1682:9:0;1694:5;1698:1;1694;:5;:::i;388:548:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;672:3;857:1;852:2;843:6;832:9;828:22;824:31;817:42;927:2;920;916:7;911:2;903:6;899:15;895:29;884:9;880:45;876:54;868:62;;;;388:548;;;;:::o;941:131::-;-1:-1:-1;;;;;1016:31:1;;1006:42;;996:70;;1062:1;1059;1052:12;1077:315;1145:6;1153;1206:2;1194:9;1185:7;1181:23;1177:32;1174:52;;;1222:1;1219;1212:12;1174:52;1261:9;1248:23;1280:31;1305:5;1280:31;:::i;:::-;1330:5;1382:2;1367:18;;;;1354:32;;-1:-1:-1;;;1077:315:1:o;1397:248::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;-1:-1:-1;;1565:23:1;;;1635:2;1620:18;;;1607:32;;-1:-1:-1;1397:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2111:247::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2278:9;2265:23;2297:31;2322:5;2297:31;:::i;2552:273::-;2608:6;2661:2;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;2716:9;2703:23;2769:5;2762:13;2755:21;2748:5;2745:32;2735:60;;2791:1;2788;2781:12;3038:180;3097:6;3150:2;3138:9;3129:7;3125:23;3121:32;3118:52;;;3166:1;3163;3156:12;3118:52;-1:-1:-1;3189:23:1;;3038:180;-1:-1:-1;3038:180:1:o;3223:388::-;3291:6;3299;3352:2;3340:9;3331:7;3327:23;3323:32;3320:52;;;3368:1;3365;3358:12;3320:52;3407:9;3394:23;3426:31;3451:5;3426:31;:::i;:::-;3476:5;-1:-1:-1;3533:2:1;3518:18;;3505:32;3546:33;3505:32;3546:33;:::i;:::-;3598:7;3588:17;;;3223:388;;;;;:::o;3842:329::-;4044:2;4026:21;;;4083:1;4063:18;;;4056:29;-1:-1:-1;;;4116:2:1;4101:18;;4094:36;4162:2;4147:18;;3842:329::o;4176:127::-;4237:10;4232:3;4228:20;4225:1;4218:31;4268:4;4265:1;4258:15;4292:4;4289:1;4282:15;4308:168;4381:9;;;4412;;4429:15;;;4423:22;;4409:37;4399:71;;4450:18;;:::i;4481:217::-;4521:1;4547;4537:132;;4591:10;4586:3;4582:20;4579:1;4572:31;4626:4;4623:1;4616:15;4654:4;4651:1;4644:15;4537:132;-1:-1:-1;4683:9:1;;4481:217::o;4703:128::-;4770:9;;;4791:11;;;4788:37;;;4805:18;;:::i;4836:125::-;4901:9;;;4922:10;;;4919:36;;;4935:18;;:::i;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:251;5706:6;5759:2;5747:9;5738:7;5734:23;5730:32;5727:52;;;5775:1;5772;5765:12;5727:52;5807:9;5801:16;5826:31;5851:5;5826:31;:::i;5892:980::-;6154:4;6202:3;6191:9;6187:19;6233:6;6222:9;6215:25;6259:2;6297:6;6292:2;6281:9;6277:18;6270:34;6340:3;6335:2;6324:9;6320:18;6313:31;6364:6;6399;6393:13;6430:6;6422;6415:22;6468:3;6457:9;6453:19;6446:26;;6507:2;6499:6;6495:15;6481:29;;6528:1;6538:195;6552:6;6549:1;6546:13;6538:195;;;6617:13;;-1:-1:-1;;;;;6613:39:1;6601:52;;6708:15;;;;6673:12;;;;6649:1;6567:9;6538:195;;;-1:-1:-1;;;;;;;6789:32:1;;;;6784:2;6769:18;;6762:60;-1:-1:-1;;;6853:3:1;6838:19;6831:35;6750:3;5892:980;-1:-1:-1;;;5892:980:1:o

Swarm Source

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