ETH Price: $2,548.88 (+3.37%)

Token

Mokushiroku (MOKU)
 

Overview

Max Total Supply

100,000,000,000 MOKU

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,094,643,011.835041125 MOKU

Value
$0.00
0x81486d328604cf0c7d6a062478833d86814cb3ea
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:
Mokushiroku

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-21
*/

/** 
Mokushiroku (MOKU)

Chat will be muted until lock and renounce. 

6/6 tax. 

TG: https://t.me/MokushirokuETH

*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;
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 Mokushiroku is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Mokushiroku";
    string constant _symbol = "MOKU";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 100_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply;

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

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

    uint256 marketingFee = 6;
    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 30; 
    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;
        isFeeExempt[address(this)] = true;
        isTxLimitExempt[_owner] = 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 = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _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) internal returns (uint256) {
        uint256 feeAmount = amount.mul(marketingFee).div(100);
        _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 contractTokenBalance = _balances[address(this)];
        uint256 amountToSwap = contractTokenBalance;
        if (amountToSwap >= swapThreshold * 3)
            amountToSwap = swapThreshold * 3;

        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 ) / 1000;
    }

    function setmarketingFee(uint256 _marketingFee) external onlyOwner {
        marketingFee = _marketingFee;
        require(marketingFee <=10,"Fee should be less than 10%");
    }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setmarketingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000423565b620000599064174876e8006200043b565b600381905560048190556006600955600a80546001600160a01b03191633179055600c805460ff60a01b1916600160a01b1790556200009c90612710906200045d565b620000a990601e6200043b565b600d55348015620000b957600080fd5b5060008054336001600160a01b031991821617909155600154600b80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000126573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014c919062000480565b6001600160a01b031663c9c65396600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d4919062000480565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062000480565b600c80546001600160a01b0319166001600160a01b03928316179055306000818152600660209081526040808320600b548616845282528083206000199055825490941680835260078252848320805460ff199081166001908117909255948452858420805486168217905581845260088352858420805490951617909355600354600582528483208190559351938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004ab565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003655781600019048211156200034957620003496200030e565b808516156200035757918102915b93841c939080029062000329565b509250929050565b6000826200037e575060016200041d565b816200038d575060006200041d565b8160018114620003a65760028114620003b157620003d1565b60019150506200041d565b60ff841115620003c557620003c56200030e565b50506001821b6200041d565b5060208310610133831016604e8410600b8410161715620003f6575081810a6200041d565b62000402838362000324565b80600019048211156200041957620004196200030e565b0290505b92915050565b60006200043460ff8416836200036d565b9392505050565b60008160001904831182151516156200045857620004586200030e565b500290565b6000826200047b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200049357600080fd5b81516001600160a01b03811681146200043457600080fd5b6111bf80620004bb6000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461039e578063dd62ed3e146103be578063e96fada214610404578063f1d5f51714610424578063f429389014610444578063f887ea401461045957600080fd5b8063715018a6146102e8578063893d20e8146102ff5780638c9a5a311461033157806395d89b4114610351578063a8aa1b311461037e57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610210578063313ce5671461023f578063571ac8b01461025b5780636c0a24eb1461027b5780636ddd17131461029157806370a08231146102b257600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b600d5481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600b81526a4d6f6b75736869726f6b7560a81b60208201525b6040516101659190610ef9565b3480156101b757600080fd5b506101cb6101c6366004610f63565b610479565b6040519015158152602001610165565b3480156101e757600080fd5b5060035461015b565b3480156101fc57600080fd5b506101cb61020b366004610f8f565b6104e6565b34801561021c57600080fd5b506101cb61022b366004610fd0565b6000546001600160a01b0391821691161490565b34801561024b57600080fd5b5060405160098152602001610165565b34801561026757600080fd5b506101cb610276366004610fd0565b6105a8565b34801561028757600080fd5b5061015b60045481565b34801561029d57600080fd5b50600c546101cb90600160a01b900460ff1681565b3480156102be57600080fd5b5061015b6102cd366004610fd0565b6001600160a01b031660009081526005602052604090205490565b3480156102f457600080fd5b506102fd6105b6565b005b34801561030b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561033d57600080fd5b506102fd61034c366004610fed565b61062e565b34801561035d57600080fd5b506040805180820190915260048152634d4f4b5560e01b602082015261019e565b34801561038a57600080fd5b50600c54610319906001600160a01b031681565b3480156103aa57600080fd5b506101cb6103b9366004610f63565b6106b1565b3480156103ca57600080fd5b5061015b6103d9366004611006565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561041057600080fd5b50600a54610319906001600160a01b031681565b34801561043057600080fd5b506102fd61043f366004610fed565b6106be565b34801561045057600080fd5b506102fd610709565b34801561046557600080fd5b50600b54610319906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d49086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610593576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056e918490610742565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059e84848461077c565b90505b9392505050565b60006104e082600019610479565b6000546001600160a01b031633146105e95760405162461bcd60e51b81526004016105e09061103f565b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106585760405162461bcd60e51b81526004016105e09061103f565b6009819055600a8111156106ae5760405162461bcd60e51b815260206004820152601b60248201527f4665652073686f756c64206265206c657373207468616e20313025000000000060448201526064016105e0565b50565b60006105a133848461077c565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016105e09061103f565b6103e8816003546106f99190611075565b6107039190611094565b60045550565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106ae573d6000803e3d6000fd5b600081848411156107665760405162461bcd60e51b81526004016105e09190610ef9565b50600061077384866110b6565b95945050505050565b600e5460009060ff161561079c576107958484846109a6565b90506105a1565b600c546001600160a01b038481169116148015906107c857506002546001600160a01b03848116911614155b15610873576001600160a01b03831660009081526008602052604090205460ff168061081957506004546001600160a01b0384166000908152600560205260409020546108169084906110cd565b11155b6108735760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e0565b61087b610a8c565b1561088857610888610ae4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108da918490610742565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff161561090f5782610919565b6109198584610cbe565b6001600160a01b03851660009081526005602052604090205490915061093f9082610d69565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109939085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109f7918490610742565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610a269083610d69565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a7a9086815260200190565b60405180910390a35060019392505050565b600c546000906001600160a01b03163314801590610aad5750600e5460ff16155b8015610ac25750600c54600160a01b900460ff165b8015610adf5750600d543060009081526005602052604090205410155b905090565b600e805460ff1916600117905530600090815260056020526040902054600d548190610b11906003611075565b8110610b2857600d54610b25906003611075565b90505b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610b5d57610b5d6110e5565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda91906110fb565b81600181518110610bed57610bed6110e5565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac94790610c33908590600090869030904290600401611118565b600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505067016345785d8a00004710610caf57600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cad573d6000803e3d6000fd5b505b5050600e805460ff1916905550565b600080610ce16064610cdb60095486610dc890919063ffffffff16565b90610e47565b30600090815260056020526040902054909150610cfe9082610d69565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4f9085815260200190565b60405180910390a3610d618382610e89565b949350505050565b600080610d7683856110cd565b9050838110156105a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e0565b600082610dd7575060006104e0565b6000610de38385611075565b905082610df08583611094565b146105a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e0565b60006105a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ecb565b60006105a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610742565b60008183610eec5760405162461bcd60e51b81526004016105e09190610ef9565b5060006107738486611094565b600060208083528351808285015260005b81811015610f2657858101830151858201604001528201610f0a565b81811115610f38576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146106ae57600080fd5b60008060408385031215610f7657600080fd5b8235610f8181610f4e565b946020939093013593505050565b600080600060608486031215610fa457600080fd5b8335610faf81610f4e565b92506020840135610fbf81610f4e565b929592945050506040919091013590565b600060208284031215610fe257600080fd5b81356105a181610f4e565b600060208284031215610fff57600080fd5b5035919050565b6000806040838503121561101957600080fd5b823561102481610f4e565b9150602083013561103481610f4e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561108f5761108f61105f565b500290565b6000826110b157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156110c8576110c861105f565b500390565b600082198211156110e0576110e061105f565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561110d57600080fd5b81516105a181610f4e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111685784516001600160a01b031683529383019391830191600101611143565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a7d27a7beb111a2f0a26ef31b6a742eee2cc7a8b6e8a660c061aa8bc459287c64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461039e578063dd62ed3e146103be578063e96fada214610404578063f1d5f51714610424578063f429389014610444578063f887ea401461045957600080fd5b8063715018a6146102e8578063893d20e8146102ff5780638c9a5a311461033157806395d89b4114610351578063a8aa1b311461037e57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610210578063313ce5671461023f578063571ac8b01461025b5780636c0a24eb1461027b5780636ddd17131461029157806370a08231146102b257600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b600d5481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600b81526a4d6f6b75736869726f6b7560a81b60208201525b6040516101659190610ef9565b3480156101b757600080fd5b506101cb6101c6366004610f63565b610479565b6040519015158152602001610165565b3480156101e757600080fd5b5060035461015b565b3480156101fc57600080fd5b506101cb61020b366004610f8f565b6104e6565b34801561021c57600080fd5b506101cb61022b366004610fd0565b6000546001600160a01b0391821691161490565b34801561024b57600080fd5b5060405160098152602001610165565b34801561026757600080fd5b506101cb610276366004610fd0565b6105a8565b34801561028757600080fd5b5061015b60045481565b34801561029d57600080fd5b50600c546101cb90600160a01b900460ff1681565b3480156102be57600080fd5b5061015b6102cd366004610fd0565b6001600160a01b031660009081526005602052604090205490565b3480156102f457600080fd5b506102fd6105b6565b005b34801561030b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561033d57600080fd5b506102fd61034c366004610fed565b61062e565b34801561035d57600080fd5b506040805180820190915260048152634d4f4b5560e01b602082015261019e565b34801561038a57600080fd5b50600c54610319906001600160a01b031681565b3480156103aa57600080fd5b506101cb6103b9366004610f63565b6106b1565b3480156103ca57600080fd5b5061015b6103d9366004611006565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561041057600080fd5b50600a54610319906001600160a01b031681565b34801561043057600080fd5b506102fd61043f366004610fed565b6106be565b34801561045057600080fd5b506102fd610709565b34801561046557600080fd5b50600b54610319906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d49086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610593576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056e918490610742565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059e84848461077c565b90505b9392505050565b60006104e082600019610479565b6000546001600160a01b031633146105e95760405162461bcd60e51b81526004016105e09061103f565b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106585760405162461bcd60e51b81526004016105e09061103f565b6009819055600a8111156106ae5760405162461bcd60e51b815260206004820152601b60248201527f4665652073686f756c64206265206c657373207468616e20313025000000000060448201526064016105e0565b50565b60006105a133848461077c565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016105e09061103f565b6103e8816003546106f99190611075565b6107039190611094565b60045550565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106ae573d6000803e3d6000fd5b600081848411156107665760405162461bcd60e51b81526004016105e09190610ef9565b50600061077384866110b6565b95945050505050565b600e5460009060ff161561079c576107958484846109a6565b90506105a1565b600c546001600160a01b038481169116148015906107c857506002546001600160a01b03848116911614155b15610873576001600160a01b03831660009081526008602052604090205460ff168061081957506004546001600160a01b0384166000908152600560205260409020546108169084906110cd565b11155b6108735760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e0565b61087b610a8c565b1561088857610888610ae4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108da918490610742565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff161561090f5782610919565b6109198584610cbe565b6001600160a01b03851660009081526005602052604090205490915061093f9082610d69565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109939085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109f7918490610742565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610a269083610d69565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a7a9086815260200190565b60405180910390a35060019392505050565b600c546000906001600160a01b03163314801590610aad5750600e5460ff16155b8015610ac25750600c54600160a01b900460ff165b8015610adf5750600d543060009081526005602052604090205410155b905090565b600e805460ff1916600117905530600090815260056020526040902054600d548190610b11906003611075565b8110610b2857600d54610b25906003611075565b90505b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610b5d57610b5d6110e5565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda91906110fb565b81600181518110610bed57610bed6110e5565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac94790610c33908590600090869030904290600401611118565b600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505067016345785d8a00004710610caf57600a546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cad573d6000803e3d6000fd5b505b5050600e805460ff1916905550565b600080610ce16064610cdb60095486610dc890919063ffffffff16565b90610e47565b30600090815260056020526040902054909150610cfe9082610d69565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4f9085815260200190565b60405180910390a3610d618382610e89565b949350505050565b600080610d7683856110cd565b9050838110156105a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e0565b600082610dd7575060006104e0565b6000610de38385611075565b905082610df08583611094565b146105a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e0565b60006105a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ecb565b60006105a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610742565b60008183610eec5760405162461bcd60e51b81526004016105e09190610ef9565b5060006107738486611094565b600060208083528351808285015260005b81811015610f2657858101830151858201604001528201610f0a565b81811115610f38576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146106ae57600080fd5b60008060408385031215610f7657600080fd5b8235610f8181610f4e565b946020939093013593505050565b600080600060608486031215610fa457600080fd5b8335610faf81610f4e565b92506020840135610fbf81610f4e565b929592945050506040919091013590565b600060208284031215610fe257600080fd5b81356105a181610f4e565b600060208284031215610fff57600080fd5b5035919050565b6000806040838503121561101957600080fd5b823561102481610f4e565b9150602083013561103481610f4e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561108f5761108f61105f565b500290565b6000826110b157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156110c8576110c861105f565b500390565b600082198211156110e0576110e061105f565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561110d57600080fd5b81516105a181610f4e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111685784516001600160a01b031683529383019391830191600101611143565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205a7d27a7beb111a2f0a26ef31b6a742eee2cc7a8b6e8a660c061aa8bc459287c64736f6c634300080a0033

Deployed Bytecode Sourcemap

4211:6569:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5059:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5059:56:0;;;;;;;;6027:80;;;;;;;;;;-1:-1:-1;6099:5:0;;;;;;;;;;;;-1:-1:-1;;;6099:5:0;;;;6027:80;;;;;;;:::i;6449:216::-;;;;;;;;;;-1:-1:-1;6449:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;6449:216:0;1254:187:1;5757:88:0;;;;;;;;;;-1:-1:-1;5830:12:0;;5757:88;;6967:370;;;;;;;;;;-1:-1:-1;6967:370:0;;;;;:::i;:::-;;:::i;2449:103::-;;;;;;;;;;-1:-1:-1;2449:103:0;;;;;:::i;:::-;2504:4;2539:5;-1:-1:-1;;;;;2528:16:0;;;2539:5;;2528:16;;2449:103;5851:80;;;;;;;;;;-1:-1:-1;5851:80:0;;4538:1;2301:36:1;;2289:2;2274:18;5851:80:0;2159:184:1;6673:122:0;;;;;;;;;;-1:-1:-1;6673:122:0;;;;;:::i;:::-;;:::i;4611:46::-;;;;;;;;;;;;;;;;5022:30;;;;;;;;;;-1:-1:-1;5022:30:0;;;;-1:-1:-1;;;5022:30:0;;;;;;6197:105;;;;;;;;;;-1:-1:-1;6197:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6281:18:0;6263:7;6281:18;;;:9;:18;;;;;;;6197:105;2558:131;;;;;;;;;;;;;:::i;:::-;;6113:78;;;;;;;;;;-1:-1:-1;6165:7:0;6183:5;-1:-1:-1;;;;;6183:5:0;6113:78;;;-1:-1:-1;;;;;2512:32:1;;;2494:51;;2482:2;2467:18;6113:78:0;2348:203:1;10528:181:0;;;;;;;;;;-1:-1:-1;10528:181:0;;;;;:::i;:::-;;:::i;5937:84::-;;;;;;;;;;-1:-1:-1;6011:7:0;;;;;;;;;;;;-1:-1:-1;;;6011:7:0;;;;5937:84;;4994:19;;;;;;;;;;-1:-1:-1;4994:19:0;;;;-1:-1:-1;;;;;4994:19:0;;;6803:156;;;;;;;;;;-1:-1:-1;6803:156:0;;;;;:::i;:::-;;:::i;6308:133::-;;;;;;;;;;-1:-1:-1;6308:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6410:19:0;;;6392:7;6410:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6308:133;4906:48;;;;;;;;;;-1:-1:-1;4906:48:0;;;;-1:-1:-1;;;;;4906:48:0;;;10378:142;;;;;;;;;;-1:-1:-1;10378:142:0;;;;;:::i;:::-;;:::i;10259:111::-;;;;;;;;;;;;;:::i;4963:24::-;;;;;;;;;;-1:-1:-1;4963:24:0;;;;-1:-1:-1;;;;;4963:24:0;;;6449:216;6553:10;6524:4;6541:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6541:32:0;;;;;;;;;;:41;;;6598:37;6524:4;;6541:32;;6598:37;;;;6576:6;160:25:1;;148:2;133:18;;14:177;6598:37:0;;;;;;;;-1:-1:-1;6653:4:0;6449:216;;;;;:::o;6967:370::-;-1:-1:-1;;;;;7087:19:0;;7067:4;7087:19;;;:11;:19;;;;;;;;7107:10;7087:31;;;;;;;;-1:-1:-1;;7087:52:0;7084:186;;7189:69;;;;;;;;;;;-1:-1:-1;;;7189:69:0;;;;;;;;-1:-1:-1;;;;;7189:19:0;;-1:-1:-1;7189:19:0;;;:11;:19;;;;;7209:10;7189:31;;;;;;;;;;:69;;7225:6;;7189:35;:69::i;:::-;-1:-1:-1;;;;;7155:19:0;;;;;;:11;:19;;;;;;;;7175:10;7155:31;;;;;;;:103;7084:186;7289:40;7303:6;7311:9;7322:6;7289:13;:40::i;:::-;7282:47;;6967:370;;;;;;:::o;6673:122::-;6728:4;6752:35;6760:7;-1:-1:-1;;6752:7:0;:35::i;2558:131::-;2504:4;2539:5;-1:-1:-1;;;;;2539:5:0;2410:10;2528:16;2394:38;;;;-1:-1:-1;;;2394:38:0;;;;;;;:::i;:::-;;;;;;;;;2631:1:::1;2615:18:::0;;-1:-1:-1;;;;;;2615:18:0::1;::::0;;2649:32:::1;::::0;2494:51:1;;;2649:32:0::1;::::0;2482:2:1;2467:18;2649:32:0::1;;;;;;;2558:131::o:0;10528:181::-;2504:4;2539:5;-1:-1:-1;;;;;2539:5:0;2410:10;2528:16;2394:38;;;;-1:-1:-1;;;2394:38:0;;;;;;;:::i;:::-;10606:12:::1;:28:::0;;;10668:2:::1;10653:17:::0;::::1;;10645:56;;;::::0;-1:-1:-1;;;10645:56:0;;3896:2:1;10645:56:0::1;::::0;::::1;3878:21:1::0;3935:2;3915:18;;;3908:30;3974:29;3954:18;;;3947:57;4021:18;;10645:56:0::1;3694:351:1::0;10645:56:0::1;10528:181:::0;:::o;6803:156::-;6883:4;6907:44;6921:10;6933:9;6944:6;6907:13;:44::i;10378:142::-;2504:4;2539:5;-1:-1:-1;;;;;2539:5:0;2410:10;2528:16;2394:38;;;;-1:-1:-1;;;2394:38:0;;;;;;;:::i;:::-;10508:4:::1;10490:13;10475:12;;:28;;;;:::i;:::-;10474:38;;;;:::i;:::-;10455:16;:57:::0;-1:-1:-1;10378:142:0:o;10259:111::-;10309:20;;10301:61;;-1:-1:-1;;;;;10309:20:0;;;;10340:21;10301:61;;;;;10309:20;10301:61;10309:20;10301:61;10340:21;10309:20;10301:61;;;;;;;;;;;;;;;;;;;538:190;624:7;660:12;652:6;;;;644:29;;;;-1:-1:-1;;;644:29:0;;;;;;;;:::i;:::-;-1:-1:-1;684:9:0;696:5;700:1;696;:5;:::i;:::-;684:17;538:190;-1:-1:-1;;;;;538:190:0:o;7345:792::-;7457:6;;7437:4;;7457:6;;7454:63;;;7473:41;7488:6;7496:9;7507:6;7473:14;:41::i;:::-;7466:48;;;;7454:63;7554:4;;-1:-1:-1;;;;;7541:17:0;;;7554:4;;7541:17;;;;:38;;-1:-1:-1;7575:4:0;;-1:-1:-1;;;;;7562:17:0;;;7575:4;;7562:17;;7541:38;7537:200;;;-1:-1:-1;;;;;7604:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7667:16:0;;-1:-1:-1;;;;;7634:20:0;;;;;;:9;:20;;;;;;:29;;7657:6;;7634:29;:::i;:::-;:49;;7604:79;7596:129;;;;-1:-1:-1;;;7596:129:0;;5042:2:1;7596:129:0;;;5024:21:1;5081:2;5061:18;;;5054:30;5120:34;5100:18;;;5093:62;-1:-1:-1;;;5171:18:1;;;5164:35;5216:19;;7596:129:0;4840:401:1;7596:129:0;7760:16;:14;:16::i;:::-;7757:35;;;7779:10;:8;:10::i;:::-;7825:53;;;;;;;;;;;-1:-1:-1;;;7825:53:0;;;;;;;;-1:-1:-1;;;;;7825:17:0;;-1:-1:-1;7825:17:0;;;:9;:17;;;;;;;;:53;;7847:6;;7825:21;:53::i;:::-;-1:-1:-1;;;;;7805:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8574:11;:19;;;;;;;;8573:20;7916:56;;7966:6;7916:56;;;7940:23;7948:6;7956;7940:7;:23::i;:::-;-1:-1:-1;;;;;8006:20:0;;;;;;:9;:20;;;;;;7891:81;;-1:-1:-1;8006:40:0;;7891:81;8006:24;:40::i;:::-;-1:-1:-1;;;;;7983:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8064:43;;;;;;;;;;8092:14;160:25:1;;148:2;133:18;;14:177;8064:43:0;;;;;;;;-1:-1:-1;8125:4:0;;7345:792;-1:-1:-1;;;;7345:792:0:o;8149:330::-;8279:53;;;;;;;;;;;-1:-1:-1;;;8279:53:0;;;;;;;;-1:-1:-1;;;;;8279:17:0;;8242:4;8279:17;;;:9;:17;;;;;;;:53;;8301:6;;8279:21;:53::i;:::-;-1:-1:-1;;;;;8259:17:0;;;;;;;:9;:17;;;;;;:73;;;;8366:20;;;;;;;:32;;8391:6;8366:24;:32::i;:::-;-1:-1:-1;;;;;8343:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8414:35;;;;;;;;;;8442:6;160:25:1;;148:2;133:18;;14:177;8414:35:0;;;;;;;;-1:-1:-1;8467:4:0;8149:330;;;;;:::o;8939:197::-;9026:4;;8988;;-1:-1:-1;;;;;9026:4:0;9012:10;:18;;;;:38;;-1:-1:-1;9044:6:0;;;;9043:7;9012:38;:62;;;;-1:-1:-1;9063:11:0;;-1:-1:-1;;;9063:11:0;;;;9012:62;:116;;;;-1:-1:-1;9115:13:0;;9105:4;9087:24;;;;:9;:24;;;;;;:41;;9012:116;9005:123;;8939:197;:::o;9144:729::-;5163:6;:13;;-1:-1:-1;;5163:13:0;5172:4;5163:13;;;9242:4:::1;5163:6:::0;9224:24;;;:9:::1;:24;::::0;;;;;9333:13:::1;::::0;9224:24;;9333:17:::1;::::0;9349:1:::1;9333:17;:::i;:::-;9317:12;:33;9313:84;;9380:13;::::0;:17:::1;::::0;9396:1:::1;9380:17;:::i;:::-;9365:32;;9313:84;9434:16;::::0;;9448:1:::1;9434:16:::0;;;;;::::1;::::0;;9410:21:::1;::::0;9434:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9434:16:0::1;9410:40;;9479:4;9461;9466:1;9461:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9461:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9505:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9505:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9461:7;;9505:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9495:4;9500:1;9495:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9495:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9533:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9533:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9605:12;;9533:6:::1;::::0;9648:4;;9675::::1;::::0;9695:15:::1;::::0;9533:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9759:18;9734:21;:43;9730:136;;9801:20;::::0;9793:61:::1;::::0;-1:-1:-1;;;;;9801:20:0;;::::1;::::0;9832:21:::1;9793:61:::0;::::1;;;::::0;9801:20:::1;9793:61:::0;9801:20;9793:61;9832:21;9801:20;9793:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9730:136;-1:-1:-1::0;;5181:6:0;:14;;-1:-1:-1;;5181:14:0;;;-1:-1:-1;9144:729:0:o;8609:322::-;8676:7;8696:17;8716:33;8745:3;8716:24;8727:12;;8716:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;8805:4;8787:24;;;;:9;:24;;;;;;8696:53;;-1:-1:-1;8787:39:0;;8696:53;8787:28;:39::i;:::-;8778:4;8760:24;;;;:9;:24;;;;;;;:66;;;;8842:42;;-1:-1:-1;;;;;8842:42:0;;;;;;;8874:9;160:25:1;;148:2;133:18;;14:177;8842:42:0;;;;;;;;8902:21;:6;8913:9;8902:10;:21::i;:::-;8895:28;8609:322;-1:-1:-1;;;;8609:322:0:o;211:179::-;269:7;;301:5;305:1;301;:5;:::i;:::-;289:17;;330:1;325;:6;;317:46;;;;-1:-1:-1;;;317:46:0;;6953:2:1;317:46:0;;;6935:21:1;6992:2;6972:18;;;6965:30;7031:29;7011:18;;;7004:57;7078:18;;317:46:0;6751:351:1;734:246:0;792:7;816:6;812:47;;-1:-1:-1;846:1:0;839:8;;812:47;869:9;881:5;885:1;881;:5;:::i;:::-;869:17;-1:-1:-1;914:1:0;905:5;909:1;869:17;905:5;:::i;:::-;:10;897:56;;;;-1:-1:-1;;;897:56:0;;7309:2:1;897:56:0;;;7291:21:1;7348:2;7328:18;;;7321:30;7387:34;7367:18;;;7360:62;-1:-1:-1;;;7438:18:1;;;7431:31;7479:19;;897:56:0;7107:397:1;986:132:0;1044:7;1071:39;1075:1;1078;1071:39;;;;;;;;;;;;;;;;;:3;:39::i;396:136::-;454:7;481:43;485:1;488;481:43;;;;;;;;;;;;;;;;;:3;:43::i;1124:189::-;1210:7;1245:12;1238:5;1230:28;;;;-1:-1:-1;;;1230:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1269:9:0;1281:5;1285:1;1281;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;1907:247::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;2556:180::-;2615:6;2668:2;2656:9;2647:7;2643:23;2639:32;2636:52;;;2684:1;2681;2674:12;2636:52;-1:-1:-1;2707:23:1;;2556:180;-1:-1:-1;2556:180:1:o;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3360:329::-;3562:2;3544:21;;;3601:1;3581:18;;;3574:29;-1:-1:-1;;;3634:2:1;3619:18;;3612:36;3680:2;3665:18;;3360:329::o;4050:127::-;4111:10;4106:3;4102:20;4099:1;4092:31;4142:4;4139:1;4132:15;4166:4;4163:1;4156:15;4182:168;4222:7;4288:1;4284;4280:6;4276:14;4273:1;4270:21;4265:1;4258:9;4251:17;4247:45;4244:71;;;4295:18;;:::i;:::-;-1:-1:-1;4335:9:1;;4182:168::o;4355:217::-;4395:1;4421;4411:132;;4465:10;4460:3;4456:20;4453:1;4446:31;4500:4;4497:1;4490:15;4528:4;4525:1;4518:15;4411:132;-1:-1:-1;4557:9:1;;4355:217::o;4577:125::-;4617:4;4645:1;4642;4639:8;4636:34;;;4650:18;;:::i;:::-;-1:-1:-1;4687:9:1;;4577:125::o;4707:128::-;4747:3;4778:1;4774:6;4771:1;4768:13;4765:39;;;4784:18;;:::i;:::-;-1:-1:-1;4820:9:1;;4707:128::o;5378:127::-;5439:10;5434:3;5430:20;5427:1;5420:31;5470:4;5467:1;5460:15;5494:4;5491:1;5484:15;5510:251;5580:6;5633:2;5621:9;5612:7;5608:23;5604:32;5601:52;;;5649:1;5646;5639:12;5601:52;5681:9;5675:16;5700:31;5725:5;5700:31;:::i;5766:980::-;6028:4;6076:3;6065:9;6061:19;6107:6;6096:9;6089:25;6133:2;6171:6;6166:2;6155:9;6151:18;6144:34;6214:3;6209:2;6198:9;6194:18;6187:31;6238:6;6273;6267:13;6304:6;6296;6289:22;6342:3;6331:9;6327:19;6320:26;;6381:2;6373:6;6369:15;6355:29;;6402:1;6412:195;6426:6;6423:1;6420:13;6412:195;;;6491:13;;-1:-1:-1;;;;;6487:39:1;6475:52;;6582:15;;;;6547:12;;;;6523:1;6441:9;6412:195;;;-1:-1:-1;;;;;;;6663:32:1;;;;6658:2;6643:18;;6636:60;-1:-1:-1;;;6727:3:1;6712:19;6705:35;6624:3;5766:980;-1:-1:-1;;;5766:980:1:o

Swarm Source

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