ETH Price: $3,091.71 (+0.63%)
Gas: 5 Gwei

Token

MrSwindler (MrS)
 

Overview

Max Total Supply

199,999,991 MrS

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 12 Decimals)

Balance
2,334,827.205553301655 MrS

Value
$0.00
0x463d06149e73cba191d1b4cab446c60fc7658513
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:
MrSwindlerERC

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-26
*/

// SPDX-License-Identifier: UNLICENSED

// https://t.me/MrSwindlerErc

pragma solidity 0.8.17;

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 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 Auth {
    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() external onlyOwner {
        owner = address(0);
    }

}

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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract MrSwindlerERC is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "MrSwindler";
    string public constant symbol = "MrS";
    uint8 public constant decimals = 12;
    
    uint256 public constant totalSupply = 199_999_991 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public totalFee = 10;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 140;
    uint256 sellMultiplier = 140;
    uint256 transferMultiplier = 0;


    IDEXRouter public router;
    address public immutable pair;

    bool public swapEnabled = true;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

    function 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 setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

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

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

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

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[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
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

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

    function setMultipliers(uint256 _buy, uint256 _sell) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"_maxWalletToken","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

60c0604052606462000014600c600a62000454565b6200002490630bebc1f76200046c565b62000030919062000486565b600155600a6006819055608c60078190556008556000600955805460ff60a01b1916600160a01b1781556064906200006b90600c9062000454565b6200007b90630bebc1f76200046c565b62000087919062000486565b600b553480156200009757600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e9190620004a9565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620004a9565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620004a9565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c590600c9062000454565b620002d590630bebc1f76200046c565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000318600c600a62000454565b6200032890630bebc1f76200046c565b60405190815260200160405180910390a3620004d4565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b80820281158282048414176200044e576200044e6200033f565b600082620004a457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004bc57600080fd5b81516001600160a01b03811681146200046557600080fd5b60805160a05161168a62000516600039600081816104bf01528181610b1901528181610e1201528181610fbf0152610ff301526000610edc015261168a6000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047e578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a61461040157806377b54bad1461041657806378109e5414610436578063893d20e81461044c57600080fd5b80636ddd1713146103935780636f50f507146103b457806370a08231146103d457600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102ed578063313ce5671461031c5780633f4218e014610343578063571ac8b01461037357600080fd5b80631df4ccfc146102a257806323b872dd146102b85780632b112e49146102d857600080fd5b806306fdde03146101ac57806309302dc6146101f8578063095ea7b31461021a578063180b0d7e1461024a57806318160ddd1461026d5780631da1db5e1461028257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e26040518060400160405280600a81526020016926b929bbb4b7323632b960b11b81525081565b6040516101ef9190611287565b60405180910390f35b34801561020457600080fd5b506102186102133660046112d5565b6105b7565b005b34801561022657600080fd5b5061023a61023536600461130a565b610622565b60405190151581526020016101ef565b34801561025657600080fd5b5061025f606481565b6040519081526020016101ef565b34801561027957600080fd5b5061025f61068f565b34801561028e57600080fd5b5061021861029d3660046112d5565b6106ac565b3480156102ae57600080fd5b5061025f60065481565b3480156102c457600080fd5b5061023a6102d3366004611334565b610725565b3480156102e457600080fd5b5061025f6107e7565b3480156102f957600080fd5b5061023a610308366004611370565b6000546001600160a01b0391821691161490565b34801561032857600080fd5b50610331600c81565b60405160ff90911681526020016101ef565b34801561034f57600080fd5b5061023a61035e366004611370565b60046020526000908152604090205460ff1681565b34801561037f57600080fd5b5061023a61038e366004611370565b61086e565b34801561039f57600080fd5b50600a5461023a90600160a01b900460ff1681565b3480156103c057600080fd5b506102186103cf36600461138b565b61087c565b3480156103e057600080fd5b5061025f6103ef366004611370565b60026020526000908152604090205481565b34801561040d57600080fd5b506102186108ae565b34801561042257600080fd5b5061023a61043136600461130a565b6108ea565b34801561044257600080fd5b5061025f60015481565b34801561045857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ef565b34801561048a57600080fd5b506101e2604051806040016040528060038152602001624d725360e81b81525081565b3480156104b957600080fd5b506104667f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ed57600080fd5b5061023a6104fc36600461130a565b6109f9565b34801561050d57600080fd5b5061023a61051c366004611370565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025f61054c3660046113ad565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102186105923660046113f1565b610a06565b3480156105a357600080fd5b50600a54610466906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061140f565b60405180910390fd5b6103e8816105fa600c600a611529565b61060890630bebc1f7611538565b6106129190611538565b61061c919061154f565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b600c600a611529565b6106a990630bebc1f7611538565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061140f565b47600060646106e58484611538565b6106ef919061154f565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a74565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aae565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909190610847600c600a611529565b61085590630bebc1f7611538565b61085f9190611571565b6108699190611571565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061140f565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061140f565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061140f565b81600003610988576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109859190611584565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e0919061159d565b60006107e0338484610aae565b6000546001600160a01b03163314610a305760405162461bcd60e51b81526004016105e19061140f565b600a805460ff60a01b1916600160a01b841515021781558190610a5590600c90611529565b610a6390630bebc1f7611538565b610a6d919061154f565b600b555050565b60008184841115610a985760405162461bcd60e51b81526004016105e19190611287565b506000610aa58486611571565b95945050505050565b600c5460009060ff1615610ace57610ac7848484610d1f565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b1057506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610bc8576001546001600160a01b038416600090815260026020526040902054610b7a9084906115ba565b1115610bc85760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bd0610e05565b15610bdd57610bdd610e78565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2f918490610a74565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7c57506001600160a01b03841660009081526004602052604090205460ff165b610c9057610c8b858486610f97565b610c92565b825b6001600160a01b038516600090815260026020526040902054909150610cb890826110f4565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0c9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d70918490610a74565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9f90836110f4565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df39086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e435750600c5460ff16155b8015610e585750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eba57610eba6115cd565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0e57610f0e6115cd565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f5891906000908690309042906004016115e3565b600060405180830381600087803b158015610f7257600080fd5b505af1158015610f86573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa65750600654155b15610fb25750816107e0565b6009546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603610ff1575060085461102f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361102f57506007545b600061106461103f606480611538565b61105e846110586006548a61115390919063ffffffff16565b90611153565b906111d5565b905080156110e0573060009081526002602052604090205461108690826110f4565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d79085815260200190565b60405180910390a35b6110ea8582611217565b9695505050505050565b60008061110183856115ba565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008260000361116557506000610689565b60006111718385611538565b90508261117e858361154f565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611259565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a74565b6000818361127a5760405162461bcd60e51b81526004016105e19190611287565b506000610aa5848661154f565b600060208083528351808285015260005b818110156112b457858101830151858201604001528201611298565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156112e757600080fd5b5035919050565b80356001600160a01b038116811461130557600080fd5b919050565b6000806040838503121561131d57600080fd5b611326836112ee565b946020939093013593505050565b60008060006060848603121561134957600080fd5b611352846112ee565b9250611360602085016112ee565b9150604084013590509250925092565b60006020828403121561138257600080fd5b6107e0826112ee565b6000806040838503121561139e57600080fd5b50508035926020909101359150565b600080604083850312156113c057600080fd5b6113c9836112ee565b91506113d7602084016112ee565b90509250929050565b80151581146113ee57600080fd5b50565b6000806040838503121561140457600080fd5b8235611326816113e0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114805781600019048211156114665761146661142f565b8085161561147357918102915b93841c939080029061144a565b509250929050565b60008261149757506001610689565b816114a457506000610689565b81600181146114ba57600281146114c4576114e0565b6001915050610689565b60ff8411156114d5576114d561142f565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611503575081810a610689565b61150d8383611445565b80600019048211156115215761152161142f565b029392505050565b60006107e060ff841683611488565b80820281158282048414176106895761068961142f565b60008261156c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106895761068961142f565b60006020828403121561159657600080fd5b5051919050565b6000602082840312156115af57600080fd5b81516107e0816113e0565b808201808211156106895761068961142f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116335784516001600160a01b03168352938301939183019160010161160e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209afa3ac21d03663e88e155b0236bff3924a44993ace89e4fd277e0576867245664736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047e578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a61461040157806377b54bad1461041657806378109e5414610436578063893d20e81461044c57600080fd5b80636ddd1713146103935780636f50f507146103b457806370a08231146103d457600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102ed578063313ce5671461031c5780633f4218e014610343578063571ac8b01461037357600080fd5b80631df4ccfc146102a257806323b872dd146102b85780632b112e49146102d857600080fd5b806306fdde03146101ac57806309302dc6146101f8578063095ea7b31461021a578063180b0d7e1461024a57806318160ddd1461026d5780631da1db5e1461028257600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e26040518060400160405280600a81526020016926b929bbb4b7323632b960b11b81525081565b6040516101ef9190611287565b60405180910390f35b34801561020457600080fd5b506102186102133660046112d5565b6105b7565b005b34801561022657600080fd5b5061023a61023536600461130a565b610622565b60405190151581526020016101ef565b34801561025657600080fd5b5061025f606481565b6040519081526020016101ef565b34801561027957600080fd5b5061025f61068f565b34801561028e57600080fd5b5061021861029d3660046112d5565b6106ac565b3480156102ae57600080fd5b5061025f60065481565b3480156102c457600080fd5b5061023a6102d3366004611334565b610725565b3480156102e457600080fd5b5061025f6107e7565b3480156102f957600080fd5b5061023a610308366004611370565b6000546001600160a01b0391821691161490565b34801561032857600080fd5b50610331600c81565b60405160ff90911681526020016101ef565b34801561034f57600080fd5b5061023a61035e366004611370565b60046020526000908152604090205460ff1681565b34801561037f57600080fd5b5061023a61038e366004611370565b61086e565b34801561039f57600080fd5b50600a5461023a90600160a01b900460ff1681565b3480156103c057600080fd5b506102186103cf36600461138b565b61087c565b3480156103e057600080fd5b5061025f6103ef366004611370565b60026020526000908152604090205481565b34801561040d57600080fd5b506102186108ae565b34801561042257600080fd5b5061023a61043136600461130a565b6108ea565b34801561044257600080fd5b5061025f60015481565b34801561045857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ef565b34801561048a57600080fd5b506101e2604051806040016040528060038152602001624d725360e81b81525081565b3480156104b957600080fd5b506104667f0000000000000000000000007ca497ba9f4e578c69accfd8b9ed49ab9af7dcbd81565b3480156104ed57600080fd5b5061023a6104fc36600461130a565b6109f9565b34801561050d57600080fd5b5061023a61051c366004611370565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025f61054c3660046113ad565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102186105923660046113f1565b610a06565b3480156105a357600080fd5b50600a54610466906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061140f565b60405180910390fd5b6103e8816105fa600c600a611529565b61060890630bebc1f7611538565b6106129190611538565b61061c919061154f565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b600c600a611529565b6106a990630bebc1f7611538565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061140f565b47600060646106e58484611538565b6106ef919061154f565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a74565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aae565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909190610847600c600a611529565b61085590630bebc1f7611538565b61085f9190611571565b6108699190611571565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061140f565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061140f565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061140f565b81600003610988576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109859190611584565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e0919061159d565b60006107e0338484610aae565b6000546001600160a01b03163314610a305760405162461bcd60e51b81526004016105e19061140f565b600a805460ff60a01b1916600160a01b841515021781558190610a5590600c90611529565b610a6390630bebc1f7611538565b610a6d919061154f565b600b555050565b60008184841115610a985760405162461bcd60e51b81526004016105e19190611287565b506000610aa58486611571565b95945050505050565b600c5460009060ff1615610ace57610ac7848484610d1f565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b1057506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4e57507f0000000000000000000000007ca497ba9f4e578c69accfd8b9ed49ab9af7dcbd6001600160a01b0316836001600160a01b031614155b15610bc8576001546001600160a01b038416600090815260026020526040902054610b7a9084906115ba565b1115610bc85760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bd0610e05565b15610bdd57610bdd610e78565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2f918490610a74565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7c57506001600160a01b03841660009081526004602052604090205460ff165b610c9057610c8b858486610f97565b610c92565b825b6001600160a01b038516600090815260026020526040902054909150610cb890826110f4565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0c9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d70918490610a74565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9f90836110f4565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df39086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000007ca497ba9f4e578c69accfd8b9ed49ab9af7dcbd1614801590610e435750600c5460ff16155b8015610e585750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eba57610eba6115cd565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0e57610f0e6115cd565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f5891906000908690309042906004016115e3565b600060405180830381600087803b158015610f7257600080fd5b505af1158015610f86573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa65750600654155b15610fb25750816107e0565b6009546001600160a01b037f0000000000000000000000007ca497ba9f4e578c69accfd8b9ed49ab9af7dcbd811690841603610ff1575060085461102f565b7f0000000000000000000000007ca497ba9f4e578c69accfd8b9ed49ab9af7dcbd6001600160a01b0316856001600160a01b03160361102f57506007545b600061106461103f606480611538565b61105e846110586006548a61115390919063ffffffff16565b90611153565b906111d5565b905080156110e0573060009081526002602052604090205461108690826110f4565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d79085815260200190565b60405180910390a35b6110ea8582611217565b9695505050505050565b60008061110183856115ba565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008260000361116557506000610689565b60006111718385611538565b90508261117e858361154f565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611259565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a74565b6000818361127a5760405162461bcd60e51b81526004016105e19190611287565b506000610aa5848661154f565b600060208083528351808285015260005b818110156112b457858101830151858201604001528201611298565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156112e757600080fd5b5035919050565b80356001600160a01b038116811461130557600080fd5b919050565b6000806040838503121561131d57600080fd5b611326836112ee565b946020939093013593505050565b60008060006060848603121561134957600080fd5b611352846112ee565b9250611360602085016112ee565b9150604084013590509250925092565b60006020828403121561138257600080fd5b6107e0826112ee565b6000806040838503121561139e57600080fd5b50508035926020909101359150565b600080604083850312156113c057600080fd5b6113c9836112ee565b91506113d7602084016112ee565b90509250929050565b80151581146113ee57600080fd5b50565b6000806040838503121561140457600080fd5b8235611326816113e0565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114805781600019048211156114665761146661142f565b8085161561147357918102915b93841c939080029061144a565b509250929050565b60008261149757506001610689565b816114a457506000610689565b81600181146114ba57600281146114c4576114e0565b6001915050610689565b60ff8411156114d5576114d561142f565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611503575081810a610689565b61150d8383611445565b80600019048211156115215761152161142f565b029392505050565b60006107e060ff841683611488565b80820281158282048414176106895761068961142f565b60008261156c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106895761068961142f565b60006020828403121561159657600080fd5b5051919050565b6000602082840312156115af57600080fd5b81516107e0816113e0565b808201808211156106895761068961142f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116335784516001600160a01b03168352938301939183019160010161160e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209afa3ac21d03663e88e155b0236bff3924a44993ace89e4fd277e0576867245664736f6c63430008110033

Deployed Bytecode Sourcemap

2816:6665:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3073:42;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3073:42:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5784:174;;;;;;;;;;-1:-1:-1;5784:174:0;;;;;:::i;:::-;;:::i;:::-;;4888:216;;;;;;;;;;-1:-1:-1;4888:216:0;;;;;:::i;:::-;;:::i;:::-;;;1354:14:1;;1347:22;1329:41;;1317:2;1302:18;4888:216:0;1189:187:1;3615:44:0;;;;;;;;;;;;3656:3;3615:44;;;;;1527:25:1;;;1515:2;1500:18;3615:44:0;1381:177:1;3214:64:0;;;;;;;;;;;;;:::i;8075:259::-;;;;;;;;;;-1:-1:-1;8075:259:0;;;;;:::i;:::-;;:::i;3580:28::-;;;;;;;;;;;;;;;;5406:370;;;;;;;;;;-1:-1:-1;5406:370:0;;;;;:::i;:::-;;:::i;9341:137::-;;;;;;;;;;;;;:::i;2136:103::-;;;;;;;;;;-1:-1:-1;2136:103:0;;;;;:::i;:::-;2191:4;2226:5;-1:-1:-1;;;;;2215:16:0;;;2226:5;;2215:16;;2136:103;3166:35;;;;;;;;;;;;3199:2;3166:35;;;;;2259:4:1;2247:17;;;2229:36;;2217:2;2202:18;3166:35:0;2087:184:1;3468:44:0;;;;;;;;;;-1:-1:-1;3468:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5112:122;;;;;;;;;;-1:-1:-1;5112:122:0;;;;;:::i;:::-;;:::i;3851:30::-;;;;;;;;;;-1:-1:-1;3851:30:0;;;;-1:-1:-1;;;3851:30:0;;;;;;9002:144;;;;;;;;;;-1:-1:-1;9002:144:0;;;;;:::i;:::-;;:::i;3346:45::-;;;;;;;;;;-1:-1:-1;3346:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2247:85;;;;;;;;;;;;;:::i;8342:284::-;;;;;;;;;;-1:-1:-1;8342:284:0;;;;;:::i;:::-;;:::i;3287:50::-;;;;;;;;;;;;;;;;4663:78;;;;;;;;;;-1:-1:-1;4715:7:0;4733:5;-1:-1:-1;;;;;4733:5:0;4663:78;;;-1:-1:-1;;;;;2693:32:1;;;2675:51;;2663:2;2648:18;4663:78:0;2529:203:1;3122:37:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3122:37:0;;;;;3813:29;;;;;;;;;;;;;;;5242:156;;;;;;;;;;-1:-1:-1;5242:156:0;;;;;:::i;:::-;;:::i;3519:52::-;;;;;;;;;;-1:-1:-1;3519:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4747:133;;;;;;;;;;-1:-1:-1;4747:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4849:19:0;;;4831:7;4849:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4747:133;9154:179;;;;;;;;;;-1:-1:-1;9154:179:0;;;;;:::i;:::-;;:::i;3782:24::-;;;;;;;;;;-1:-1:-1;3782:24:0;;;;-1:-1:-1;;;;;3782:24:0;;;5784:174;2191:4;2226:5;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;;;;;;;;;5946:4:::1;5918:23:::0;3266:12:::1;3199:2;3266;:12;:::i;:::-;3252:26;::::0;:11:::1;:26;:::i;:::-;5904:37;;;;:::i;:::-;5903:47;;;;:::i;:::-;5885:15;:65:::0;-1:-1:-1;5784:174:0:o;4888:216::-;4992:10;4963:4;4980:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4980:32:0;;;;;;;;;;:41;;;5037:37;4963:4;;4980:32;;5037:37;;;;5015:6;1527:25:1;;1515:2;1500:18;;1381:177;5037:37:0;;;;;;;;-1:-1:-1;5092:4:0;4888:216;;;;;:::o;3214:64::-;3266:12;3199:2;3266;:12;:::i;:::-;3252:26;;:11;:26;:::i;:::-;3214:64;:::o;8075:259::-;2191:4;2226:5;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;8178:21:::1;8158:17;8269:3;8236:28;8248:16:::0;8178:21;8236:28:::1;:::i;:::-;8234:38;;;;:::i;:::-;8283:43;::::0;8210:62;;-1:-1:-1;8291:10:0::1;::::0;8283:43;::::1;;;::::0;8210:62;;8283:43:::1;::::0;;;8210:62;8291:10;8283:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8147:187;;8075:259:::0;:::o;5406:370::-;-1:-1:-1;;;;;5526:19:0;;5506:4;5526:19;;;:11;:19;;;;;;;;5546:10;5526:31;;;;;;;;-1:-1:-1;;5526:52:0;5523:186;;5628:69;;;;;;;;;;;-1:-1:-1;;;5628:69:0;;;;;;;;-1:-1:-1;;;;;5628:19:0;;-1:-1:-1;5628:19:0;;;:11;:19;;;;;5648:10;5628:31;;;;;;;;;;:69;;5664:6;;5628:35;:69::i;:::-;-1:-1:-1;;;;;5594:19:0;;;;;;:11;:19;;;;;;;;5614:10;5594:31;;;;;;;:103;5523:186;5728:40;5742:6;5750:9;5761:6;5728:13;:40::i;:::-;5721:47;;5406:370;;;;;;:::o;9341:137::-;9454:9;:15;;;;2949:42;9394:7;9436:15;;;;;9394:7;;9454:15;3266:12;3199:2;3266;:12;:::i;:::-;3252:26;;:11;:26;:::i;:::-;9422:29;;;;:::i;:::-;:47;;;;:::i;:::-;9414:56;;9341:137;:::o;5112:122::-;5167:4;5191:35;5199:7;-1:-1:-1;;5191:7:0;:35::i;9002:144::-;2191:4;2226:5;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;9085:14:::1;:22:::0;9118:13:::1;:20:::0;9002:144::o;2247:85::-;2191:4;2226:5;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;2322:1:::1;2306:18:::0;;-1:-1:-1;;;;;;2306:18:0::1;::::0;;2247:85::o;8342:284::-;8433:12;2226:5;;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;8461:6:::1;8471:1;8461:11:::0;8458:95:::1;;8497:44;::::0;-1:-1:-1;;;8497:44:0;;8535:4:::1;8497:44;::::0;::::1;2675:51:1::0;-1:-1:-1;;;;;8497:29:0;::::1;::::0;::::1;::::0;2648:18:1;;8497:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8488:53;;8458:95;8570:48;::::0;-1:-1:-1;;;8570:48:0;;8599:10:::1;8570:48;::::0;::::1;6405:51:1::0;6472:18;;;6465:34;;;-1:-1:-1;;;;;8570:28:0;::::1;::::0;::::1;::::0;6378:18:1;;8570:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5242:156::-:0;5322:4;5346:44;5360:10;5372:9;5383:6;5346:13;:44::i;9154:179::-;2191:4;2226:5;-1:-1:-1;;;;;2226:5:0;2095:10;2215:16;2079:38;;;;-1:-1:-1;;;2079:38:0;;;;;;;:::i;:::-;9250:11:::1;:22:::0;;-1:-1:-1;;;;9250:22:0::1;-1:-1:-1::0;;;9250:22:0;::::1;;;;::::0;;9313:12;;3266::::1;::::0;3199:2:::1;::::0;3266:12:::1;:::i;:::-;3252:26;::::0;:11:::1;:26;:::i;:::-;9299;;;;:::i;:::-;9283:13;:42:::0;-1:-1:-1;;9154:179:0:o;455:192::-;541:7;577:12;569:6;;;;561:29;;;;-1:-1:-1;;;561:29:0;;;;;;;;:::i;:::-;-1:-1:-1;601:9:0;613:5;617:1;613;:5;:::i;:::-;601:17;455:192;-1:-1:-1;;;;;455:192:0:o;5968:821::-;6080:6;;6060:4;;6080:6;;6077:63;;;6096:41;6111:6;6119:9;6130:6;6096:14;:41::i;:::-;6089:48;;;;6077:63;-1:-1:-1;;;;;6157:27:0;;;;;;:19;:27;;;;;;;;6156:28;:63;;;;-1:-1:-1;;;;;;6189:30:0;;;;;;:19;:30;;;;;;;;6188:31;6156:63;:84;;;;;6236:4;-1:-1:-1;;;;;6223:17:0;:9;-1:-1:-1;;;;;6223:17:0;;;6156:84;6152:203;;;6300:15;;-1:-1:-1;;;;;6266:20:0;;;;;;:9;:20;;;;;;:29;;6289:6;;6266:29;:::i;:::-;6265:50;;6257:86;;;;-1:-1:-1;;;6257:86:0;;7092:2:1;6257:86:0;;;7074:21:1;7131:2;7111:18;;;7104:30;7170:26;7150:18;;;7143:54;7214:18;;6257:86:0;6890:348:1;6257:86:0;6374:16;:14;:16::i;:::-;6371:35;;;6393:10;:8;:10::i;:::-;6438:53;;;;;;;;;;;-1:-1:-1;;;6438:53:0;;;;;;;;-1:-1:-1;;;;;6438:17:0;;-1:-1:-1;6438:17:0;;;:9;:17;;;;;;;;:53;;6460:6;;6438:21;:53::i;:::-;-1:-1:-1;;;;;6418:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6530:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6553:22:0;;;;;;:11;:22;;;;;;;;6530:45;6529:93;;6588:34;6596:6;6604;6612:9;6588:7;:34::i;:::-;6529:93;;;6579:6;6529:93;-1:-1:-1;;;;;6658:20:0;;;;;;:9;:20;;;;;;6504:118;;-1:-1:-1;6658:40:0;;6504:118;6658:24;:40::i;:::-;-1:-1:-1;;;;;6635:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6716:43;;;;;;;;;;6744:14;1527:25:1;;1515:2;1500:18;;1381:177;6716:43:0;;;;;;;;-1:-1:-1;6777:4:0;;5968:821;-1:-1:-1;;;;5968:821:0:o;6801:330::-;6931:53;;;;;;;;;;;-1:-1:-1;;;6931:53:0;;;;;;;;-1:-1:-1;;;;;6931:17:0;;6894:4;6931:17;;;:9;:17;;;;;;;:53;;6953:6;;6931:21;:53::i;:::-;-1:-1:-1;;;;;6911:17:0;;;;;;;:9;:17;;;;;;:73;;;;7018:20;;;;;;;:32;;7043:6;7018:24;:32::i;:::-;-1:-1:-1;;;;;6995:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7066:35;;;;;;;;;;7094:6;1527:25:1;;1515:2;1500:18;;1381:177;7066:35:0;;;;;;;;-1:-1:-1;7119:4:0;6801:330;;;;;:::o;7870:197::-;7919:4;7943:10;-1:-1:-1;;;;;7957:4:0;7943:18;;;;;:38;;-1:-1:-1;7975:6:0;;;;7974:7;7943:38;:62;;;;-1:-1:-1;7994:11:0;;-1:-1:-1;;;7994:11:0;;;;7943:62;:116;;;;-1:-1:-1;;8046:13:0;;8036:4;8018:24;;;;:9;:24;;;;;;:41;;;7870:197::o;8634:360::-;3976:6;:13;;-1:-1:-1;;3976:13:0;3985:4;3976:13;;;8709:16:::1;::::0;;8723:1:::1;8709:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8709:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8709:16:0::1;8685:40;;8754:4;8736;8741:1;8736:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8736:23:0::1;;;-1:-1:-1::0;;;;;8736:23:0::1;;;::::0;::::1;8780:4;8770;8775:1;8770:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8770:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8797:6:::1;::::0;8869:13:::1;::::0;8797:189:::1;::::0;-1:-1:-1;;;8797:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;8869:13;8797:6:::1;::::0;8913:4;;8940::::1;::::0;8960:15:::1;::::0;8797:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3994:6:0;:14;;-1:-1:-1;;3994:14:0;;;-1:-1:-1;;;8634:360:0:o;7139:723::-;7225:7;7248:11;;;:28;;-1:-1:-1;7263:8:0;;:13;7248:28;7245:72;;;-1:-1:-1;7299:6:0;7292:13;;7245:72;7350:18;;-1:-1:-1;;;;;7397:4:0;7384:17;;;;;;7381:154;;-1:-1:-1;7431:14:0;;7381:154;;;7476:4;-1:-1:-1;;;;;7466:14:0;:6;-1:-1:-1;;;;;7466:14:0;;7463:72;;-1:-1:-1;7510:13:0;;7463:72;7547:17;7567:62;7608:20;3656:3;;7608:20;:::i;:::-;7567:36;7592:10;7567:20;7578:8;;7567:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;7547:82;-1:-1:-1;7645:13:0;;7642:172;;7719:4;7701:24;;;;:9;:24;;;;;;:39;;7730:9;7701:28;:39::i;:::-;7692:4;7674:24;;;;:9;:24;;;;;;;:66;;;;7760:42;;-1:-1:-1;;;;;7760:42:0;;;;;;;7792:9;1527:25:1;;1515:2;1500:18;;1381:177;7760:42:0;;;;;;;;7642:172;7833:21;:6;7844:9;7833:10;:21::i;:::-;7826:28;7139:723;-1:-1:-1;;;;;;7139:723:0:o;126:181::-;184:7;;216:5;220:1;216;:5;:::i;:::-;204:17;;245:1;240;:6;;232:46;;;;-1:-1:-1;;;232:46:0;;8694:2:1;232:46:0;;;8676:21:1;8733:2;8713:18;;;8706:30;8772:29;8752:18;;;8745:57;8819:18;;232:46:0;8492:351:1;653:250:0;711:7;735:1;740;735:6;731:47;;-1:-1:-1;765:1:0;758:8;;731:47;790:9;802:5;806:1;802;:5;:::i;:::-;790:17;-1:-1:-1;835:1:0;826:5;830:1;790:17;826:5;:::i;:::-;:10;818:56;;;;-1:-1:-1;;;818:56:0;;9050:2:1;818:56:0;;;9032:21:1;9089:2;9069:18;;;9062:30;9128:34;9108:18;;;9101:62;-1:-1:-1;;;9179:18:1;;;9172:31;9220:19;;818:56:0;8848:397:1;909:132:0;967:7;994:39;998:1;1001;994:39;;;;;;;;;;;;;;;;;:3;:39::i;313:136::-;371:7;398:43;402:1;405;398:43;;;;;;;;;;;;;;;;;:3;:43::i;1047:189::-;1133:7;1168:12;1161:5;1153:28;;;;-1:-1:-1;;;1153:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1192:9:0;1204:5;1208:1;1204;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:180::-;626:6;679:2;667:9;658:7;654:23;650:32;647:52;;;695:1;692;685:12;647:52;-1:-1:-1;718:23:1;;567:180;-1:-1:-1;567:180:1:o;752:173::-;820:20;;-1:-1:-1;;;;;869:31:1;;859:42;;849:70;;915:1;912;905:12;849:70;752:173;;;:::o;930:254::-;998:6;1006;1059:2;1047:9;1038:7;1034:23;1030:32;1027:52;;;1075:1;1072;1065:12;1027:52;1098:29;1117:9;1098:29;:::i;:::-;1088:39;1174:2;1159:18;;;;1146:32;;-1:-1:-1;;;930:254:1:o;1563:328::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1748:29;1767:9;1748:29;:::i;:::-;1738:39;;1796:38;1830:2;1819:9;1815:18;1796:38;:::i;:::-;1786:48;;1881:2;1870:9;1866:18;1853:32;1843:42;;1563:328;;;;;:::o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2276:248::-;2344:6;2352;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;-1:-1:-1;;2444:23:1;;;2514:2;2499:18;;;2486:32;;-1:-1:-1;2276:248:1:o;2737:260::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2905:29;2924:9;2905:29;:::i;:::-;2895:39;;2953:38;2987:2;2976:9;2972:18;2953:38;:::i;:::-;2943:48;;2737:260;;;;;:::o;3002:118::-;3088:5;3081:13;3074:21;3067:5;3064:32;3054:60;;3110:1;3107;3100:12;3054:60;3002:118;:::o;3125:309::-;3190:6;3198;3251:2;3239:9;3230:7;3226:23;3222:32;3219:52;;;3267:1;3264;3257:12;3219:52;3306:9;3293:23;3325:28;3347:5;3325:28;:::i;3665:329::-;3867:2;3849:21;;;3906:1;3886:18;;;3879:29;-1:-1:-1;;;3939:2:1;3924:18;;3917:36;3985:2;3970:18;;3665:329::o;3999:127::-;4060:10;4055:3;4051:20;4048:1;4041:31;4091:4;4088:1;4081:15;4115:4;4112:1;4105:15;4131:422;4220:1;4263:5;4220:1;4277:270;4298:7;4288:8;4285:21;4277:270;;;4357:4;4353:1;4349:6;4345:17;4339:4;4336:27;4333:53;;;4366:18;;:::i;:::-;4416:7;4406:8;4402:22;4399:55;;;4436:16;;;;4399:55;4515:22;;;;4475:15;;;;4277:270;;;4281:3;4131:422;;;;;:::o;4558:806::-;4607:5;4637:8;4627:80;;-1:-1:-1;4678:1:1;4692:5;;4627:80;4726:4;4716:76;;-1:-1:-1;4763:1:1;4777:5;;4716:76;4808:4;4826:1;4821:59;;;;4894:1;4889:130;;;;4801:218;;4821:59;4851:1;4842:10;;4865:5;;;4889:130;4926:3;4916:8;4913:17;4910:43;;;4933:18;;:::i;:::-;-1:-1:-1;;4989:1:1;4975:16;;5004:5;;4801:218;;5103:2;5093:8;5090:16;5084:3;5078:4;5075:13;5071:36;5065:2;5055:8;5052:16;5047:2;5041:4;5038:12;5034:35;5031:77;5028:159;;;-1:-1:-1;5140:19:1;;;5172:5;;5028:159;5219:34;5244:8;5238:4;5219:34;:::i;:::-;5289:6;5285:1;5281:6;5277:19;5268:7;5265:32;5262:58;;;5300:18;;:::i;:::-;5338:20;;4558:806;-1:-1:-1;;;4558:806:1:o;5369:140::-;5427:5;5456:47;5497:4;5487:8;5483:19;5477:4;5456:47;:::i;5514:168::-;5587:9;;;5618;;5635:15;;;5629:22;;5615:37;5605:71;;5656:18;;:::i;5687:217::-;5727:1;5753;5743:132;;5797:10;5792:3;5788:20;5785:1;5778:31;5832:4;5829:1;5822:15;5860:4;5857:1;5850:15;5743:132;-1:-1:-1;5889:9:1;;5687:217::o;5909:128::-;5976:9;;;5997:11;;;5994:37;;;6011:18;;:::i;6042:184::-;6112:6;6165:2;6153:9;6144:7;6140:23;6136:32;6133:52;;;6181:1;6178;6171:12;6133:52;-1:-1:-1;6204:16:1;;6042:184;-1:-1:-1;6042:184:1:o;6510:245::-;6577:6;6630:2;6618:9;6609:7;6605:23;6601:32;6598:52;;;6646:1;6643;6636:12;6598:52;6678:9;6672:16;6697:28;6719:5;6697:28;:::i;6760:125::-;6825:9;;;6846:10;;;6843:36;;;6859:18;;:::i;7375:127::-;7436:10;7431:3;7427:20;7424:1;7417:31;7467:4;7464:1;7457:15;7491:4;7488:1;7481:15;7507:980;7769:4;7817:3;7806:9;7802:19;7848:6;7837:9;7830:25;7874:2;7912:6;7907:2;7896:9;7892:18;7885:34;7955:3;7950:2;7939:9;7935:18;7928:31;7979:6;8014;8008:13;8045:6;8037;8030:22;8083:3;8072:9;8068:19;8061:26;;8122:2;8114:6;8110:15;8096:29;;8143:1;8153:195;8167:6;8164:1;8161:13;8153:195;;;8232:13;;-1:-1:-1;;;;;8228:39:1;8216:52;;8323:15;;;;8288:12;;;;8264:1;8182:9;8153:195;;;-1:-1:-1;;;;;;;8404:32:1;;;;8399:2;8384:18;;8377:60;-1:-1:-1;;;8468:3:1;8453:19;8446:35;8365:3;7507:980;-1:-1:-1;;;7507:980:1:o

Swarm Source

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