ETH Price: $3,420.01 (-1.84%)
Gas: 4 Gwei

Token

Miner's Pepe ⛏ (MEPE)
 

Overview

Max Total Supply

490,000,000 MEPE

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 MEPE

Value
$0.00
0x6db68ca72616008493a89cf16cc9119340196c16
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:
MinersPepe

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-25
*/

/*
$PEPE Rewrads Token.
https://t.me/MinersPepe

*/
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.26;

/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * ERC20 standard interface.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

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

interface IDividendDistributor {
    function setShare(address shareholder, uint256 amount) external;
    function deposit(uint256 amount) external;
    function claimDividend(address shareholder) external;
    function getDividendsClaimedOf (address shareholder) external returns (uint256);
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address public _token;
    address public _owner;

    address public immutable PEPE = address(0x6982508145454Ce325dDbE47a25d4ec3d2311933); //UNI


    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalClaimed;
    }

    address[] private shareholders;
    mapping (address => uint256) private shareholderIndexes;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalClaimed;
    uint256 public dividendsPerShare;
    uint256 private dividendsPerShareAccuracyFactor = 10 ** 36;

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == _owner); _;
    }

    constructor (address owner) {
        _token = msg.sender;
        _owner = owner;
    }

    receive() external payable { }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit(uint256 amount) external override onlyToken {
        
        if (amount > 0) {        
            totalDividends = totalDividends.add(amount);
            dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
        }
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getClaimableDividendOf(shareholder);
        if(amount > 0){
            totalClaimed = totalClaimed.add(amount);
            shares[shareholder].totalClaimed = shares[shareholder].totalClaimed.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
            IERC20(PEPE).transfer(shareholder, amount);
        }
    }

    function claimDividend(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
    
    function manualSend(uint256 amount, address holder) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(holder).transfer(amount > 0 ? amount : contractETHBalance);
    }


    function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        require (shares[shareholder].amount > 0, "You're not a PRINTER shareholder!");
        return shares[shareholder].totalClaimed;
    }

    }

contract MinersPepe is IERC20, Auth {
    using SafeMath for uint256;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    address public immutable PEPE = address(0x6982508145454Ce325dDbE47a25d4ec3d2311933); //UNI

    string private constant  _name = unicode"Miner's Pepe ⛏";
    string private constant _symbol = "MEPE";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 490000000 * (10 ** _decimals);
    uint256 private _maxTxAmountBuy = _totalSupply;
    

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

    mapping (address => bool) private isFeeExempt;
    mapping (address => bool) private isDividendExempt;
    mapping (address => bool) private isBot;
            
    uint256 private totalFee = 25;
    uint256 private feeDenominator = 100;

    address payable public marketingWallet = payable(0x8010603a01b977e13b94dc293fC17309A9ACEFB8);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 14700000 * (10 ** _decimals);
    uint256 public numTokensSellToAddToLiquidity = 4900000 * 10**9;

    DividendDistributor private distributor;    
    
    bool public blacklistEnabled = false;
    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        distributor = new DividendDistributor(_owner);

        isFeeExempt[_owner] = true;
        isFeeExempt[marketingWallet] = true;             
              
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;        

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading
        if (blacklistEnabled) {
            require (!isBot[sender] && !isBot[recipient], "Bot!");
        }
        if (buyLimit) { 
            if (sender!=owner && recipient!= owner) require (amount<=maxBuy, "Too much sir");        
        }

        if (sender == pair && recipient != address(router) && !isFeeExempt[recipient]) {
            require (cooldown[recipient] < block.timestamp);
            cooldown[recipient] = block.timestamp + 60 seconds; 
        }
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }      

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
    
        bool shouldSwapBack = (overMinTokenBalance && recipient==pair && balanceOf(address(this)) > 0);
        if(shouldSwapBack){ swapBack(); }

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

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
        
        _balances[recipient] = _balances[recipient].add(amountReceived);

        if(sender != pair && !isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} }
        if(recipient != pair && !isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} }

        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, address recipient) internal view returns (bool) {
        return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) &&  (sender == pair || recipient == pair) );
   }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount;
        feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);   

        return amount.sub(feeAmount);
    }

   
    function swapBack() internal swapping {

        uint256 amountToSwap = balanceOf(address(this));        

        swapTokensForEth(amountToSwap.div(2));
        swapTokensForPEPE(amountToSwap.div(2));

        uint256 dividends = IERC20(PEPE).balanceOf(address(this));

        bool success = IERC20(PEPE).transfer(address(distributor), dividends);

        if (success) {
            distributor.deposit(dividends);            
        }
             
        payable(marketingWallet).transfer(address(this).balance);        
    }

    

    function swapTokensForPEPE(uint256 tokenAmount) private {

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

        // make the swap
        router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapTokensForEth(uint256 tokenAmount) private {

        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        
        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp
        );
    }

    
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }    
  
    
    function setBot(address _address, bool toggle) external onlyOwner {
        isBot[_address] = toggle;
        _setIsDividendExempt(_address, toggle);
    }
    
    
    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setFee (uint256 _fee) external onlyOwner {
        require (_fee <= 25, "Fee can't exceed 25%");
        totalFee = _fee;
    }
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingWallet).transfer(contractETHBalance);
    }

    function claimDividend() external {
        distributor.claimDividend(msg.sender);
    }
    
    function claimDividend(address holder) external onlyOwner {
        distributor.claimDividend(holder);
    }
    
    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        return distributor.getClaimableDividendOf(shareholder);
    }
    
    function manualBurn(uint256 amount) external onlyOwner returns (bool) {
        return _basicTransfer(address(this), DEAD, amount);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    } 

    function getTotalDividends() external view returns (uint256) {
        return distributor.totalDividends();
    }    

    function getTotalClaimed() external view returns (uint256) {
        return distributor.totalClaimed();
    }

     function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        return distributor.getDividendsClaimedOf(shareholder);
    }

    function removeBuyLimit() external onlyOwner {
        buyLimit = false;
    }

    function checkBot(address account) public view returns (bool) {
        return isBot[account];
    }

    function setBlacklistEnabled() external onlyOwner {
        require (blacklistEnabled == false, "can only be called once");
        blacklistEnabled = true;
    }

    function setSwapThresholdAmount (uint256 amount) external onlyOwner {
        require (amount <= _totalSupply.div(100), "can't exceed 1%");
        numTokensSellToAddToLiquidity = amount * 10 ** 9;
    } 
   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"PEPE","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getClaimableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getDividendsClaimedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600280546001600160a01b031990811661dead17909155600380549091169055736982508145454ce325ddbe47a25d4ec3d23119336080526100486009600a6104d4565b61005690631d34ce806104e9565b60048190556005556019600c556064600d55600e80546001600160a01b031916738010603a01b977e13b94dc293fc17309a9acefb81790556012805461ff0019166101001790556100a96009600a6104d4565b6100b69062e04de06104e9565b60135566116886276640006014556015805460ff60a01b191690553480156100dc575f80fd5b506040516132333803806132338339810160408190526100fb91610500565b5f80546001600160a01b03199081166001600160a01b03841617909155600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015610170573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101949190610500565b600180546001600160a01b0319166001600160a01b03928316179055600f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156101f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102149190610500565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102869190610500565b601080546001600160a01b0319166001600160a01b03928316179055305f908152600760209081526040808320600f5490941683529290528190205f1990555181906102d1906103ce565b6001600160a01b039091168152602001604051809103905ff0801580156102fa573d5f803e3d5ffd5b50601580546001600160a01b0319166001600160a01b039283161790558181165f818152600960209081526040808320805460ff199081166001908117909255600e5487168552828520805482168317905560105487168552600a8452828520805482168317905530855282852080548216831790556002549096168452818420805490961617909455600454838352600682528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350610526565b610d048061252f83390190565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561042a5780850481111561040e5761040e6103db565b600184161561041c57908102905b60019390931c9280026103f3565b935093915050565b5f82610440575060016104ce565b8161044c57505f6104ce565b8160018114610462576002811461046c57610488565b60019150506104ce565b60ff84111561047d5761047d6103db565b50506001821b6104ce565b5060208310610133831016604e8410600b84101617156104ab575081810a6104ce565b6104b75f1984846103ef565b805f19048211156104ca576104ca6103db565b0290505b92915050565b5f6104e260ff841683610432565b9392505050565b80820281158282048414176104ce576104ce6103db565b5f60208284031215610510575f80fd5b81516001600160a01b03811681146104e2575f80fd5b608051611fdc6105535f395f81816106ab015281816117e8015281816118870152611c150152611fdc5ff3fe60806040526004361061022b575f3560e01c8063736a83a111610129578063bffb691d116100a8578063f0fc6bca1161006d578063f0fc6bca146106cd578063f2fde38b146106e1578063f429389014610700578063f708a64f14610714578063f887ea4014610733575f80fd5b8063bffb691d1461060d578063c9567bf91461062d578063d12a768814610641578063dd62ed3e14610656578063e4fbaecb1461069a575f80fd5b806395d89b41116100ee57806395d89b4114610557578063a8aa1b3114610583578063a9059cbb146105a2578063b1a4e0dc146105c1578063bf56b371146105f8575f80fd5b8063736a83a1146104bd57806375f0a874146104d1578063764ca51214610508578063893d20e81461051c5780638ecc37fb14610538575f80fd5b8063313ce567116101b55780635d098b381161017a5780635d098b3814610418578063658d4b7f1461043757806367ee5f091461045657806369fe0e2d1461046a57806370a0823114610489575f80fd5b8063313ce5671461038c578063342aa8b5146103a75780633e07ce5b146103c6578063571ac8b0146103da5780635cc33f74146103f9575f80fd5b806323b63585116101fb57806323b63585146102ee57806323b872dd1461030d57806329e04b4a1461032c5780632b112e491461034b5780632f54bf6e1461035f575f80fd5b806306fdde0314610236578063095ea7b31461028057806315f7e05e146102af57806318160ddd146102d0575f80fd5b3661023257005b5f80fd5b348015610241575f80fd5b5060408051808201909152601081526f4d696e65722773205065706520e29b8f60801b60208201525b6040516102779190611d0a565b60405180910390f35b34801561028b575f80fd5b5061029f61029a366004611d56565b610752565b6040519015158152602001610277565b3480156102ba575f80fd5b506102ce6102c9366004611d80565b6107be565b005b3480156102db575f80fd5b506004545b604051908152602001610277565b3480156102f9575f80fd5b5061029f610308366004611d9b565b61084d565b348015610318575f80fd5b5061029f610327366004611db2565b61088f565b348015610337575f80fd5b506102ce610346366004611d9b565b61094d565b348015610356575f80fd5b506102e06109d9565b34801561036a575f80fd5b5061029f610379366004611d80565b5f546001600160a01b0391821691161490565b348015610397575f80fd5b5060405160098152602001610277565b3480156103b2575f80fd5b506102ce6103c1366004611dfd565b610a29565b3480156103d1575f80fd5b506102ce610a83565b3480156103e5575f80fd5b5061029f6103f4366004611d80565b610ab9565b348015610404575f80fd5b506102e0610413366004611d80565b610ac5565b348015610423575f80fd5b506102ce610432366004611d80565b610b32565b348015610442575f80fd5b506102ce610451366004611dfd565b610b7d565b348015610461575f80fd5b506102e0610bd0565b348015610475575f80fd5b506102ce610484366004611d9b565b610c3b565b348015610494575f80fd5b506102e06104a3366004611d80565b6001600160a01b03165f9081526006602052604090205490565b3480156104c8575f80fd5b506102e0610cb1565b3480156104dc575f80fd5b50600e546104f0906001600160a01b031681565b6040516001600160a01b039091168152602001610277565b348015610513575f80fd5b506102ce610cf8565b348015610527575f80fd5b505f546001600160a01b03166104f0565b348015610543575f80fd5b506102e0610552366004611d80565b610d90565b348015610562575f80fd5b506040805180820190915260048152634d45504560e01b602082015261026a565b34801561058e575f80fd5b506010546104f0906001600160a01b031681565b3480156105ad575f80fd5b5061029f6105bc366004611d56565b610dc2565b3480156105cc575f80fd5b5061029f6105db366004611d80565b6001600160a01b03165f908152600b602052604090205460ff1690565b348015610603575f80fd5b506102e060115481565b348015610618575f80fd5b5060155461029f90600160a01b900460ff1681565b348015610638575f80fd5b506102ce610dce565b34801561064c575f80fd5b506102e060145481565b348015610661575f80fd5b506102e0610670366004611e34565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106a5575f80fd5b506104f07f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d8575f80fd5b506102ce610e0a565b3480156106ec575f80fd5b506102ce6106fb366004611d80565b610e64565b34801561070b575f80fd5b506102ce610ee0565b34801561071f575f80fd5b506102ce61072e366004611dfd565b610f40565b34801561073e575f80fd5b50600f546104f0906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107ac9086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146107f05760405162461bcd60e51b81526004016107e790611e60565b60405180910390fd5b601554604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e906024015f604051808303815f87803b158015610834575f80fd5b505af1158015610846573d5f803e3d5ffd5b5050505050565b5f80546001600160a01b031633146108775760405162461bcd60e51b81526004016107e790611e60565b6002546107b89030906001600160a01b031684610f73565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610938576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600782528381203382529091529190912054610914918490611056565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b61094384848461108e565b90505b9392505050565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016107e790611e60565b60045461098490606461159f565b8111156109c55760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b60448201526064016107e7565b6109d381633b9aca00611e94565b60145550565b6003546001600160a01b03165f90815260066020526040812054610a24906002546001600160a01b03165f90815260066020526040902054610a1e90600454906115e0565b906115e0565b905090565b5f546001600160a01b03163314610a525760405162461bcd60e51b81526004016107e790611e60565b6001600160a01b0382165f908152600b60205260409020805460ff1916821515179055610a7f8282611621565b5050565b5f546001600160a01b03163314610aac5760405162461bcd60e51b81526004016107e790611e60565b6012805461ff0019169055565b5f6107b8825f19610752565b601554604051631730cfdd60e21b81526001600160a01b0383811660048301525f921690635cc33f74906024015b602060405180830381865afa158015610b0e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b89190611eab565b5f546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016107e790611e60565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610ba65760405162461bcd60e51b81526004016107e790611e60565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b6015546040805163997664d760e01b815290515f926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610c17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a249190611eab565b5f546001600160a01b03163314610c645760405162461bcd60e51b81526004016107e790611e60565b6019811115610cac5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642032352560601b60448201526064016107e7565b600c55565b6015546040805163d54ad2a160e01b815290515f926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610c17573d5f803e3d5ffd5b5f546001600160a01b03163314610d215760405162461bcd60e51b81526004016107e790611e60565b601554600160a01b900460ff1615610d7b5760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e636500000000000000000060448201526064016107e7565b6015805460ff60a01b1916600160a01b179055565b601554604051638ecc37fb60e01b81526001600160a01b0383811660048301525f921690638ecc37fb90602401610af3565b5f61094633848461108e565b5f546001600160a01b03163314610df75760405162461bcd60e51b81526004016107e790611e60565b436011556012805460ff19166001179055565b601554604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e906024015f604051808303815f87803b158015610e4c575f80fd5b505af1158015610e5e573d5f803e3d5ffd5b50505050565b5f546001600160a01b03163314610e8d5760405162461bcd60e51b81526004016107e790611e60565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610f095760405162461bcd60e51b81526004016107e790611e60565b600e5460405147916001600160a01b03169082156108fc029083905f818181858888f19350505050158015610a7f573d5f803e3d5ffd5b5f546001600160a01b03163314610f695760405162461bcd60e51b81526004016107e790611e60565b610a7f8282611621565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054610fc3918490611056565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610ff19083611729565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110449086815260200190565b60405180910390a35060019392505050565b5f81848411156110795760405162461bcd60e51b81526004016107e79190611d0a565b505f6110858486611ec2565b95945050505050565b5f80546001600160a01b038581169116148015906110b957505f546001600160a01b03848116911614155b156111105760125460ff166111105760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107e7565b601554600160a01b900460ff1615611197576001600160a01b0384165f908152600b602052604090205460ff1615801561116257506001600160a01b0383165f908152600b602052604090205460ff16155b6111975760405162461bcd60e51b81526004016107e790602080825260049082015263426f742160e01b604082015260600190565b601254610100900460ff1615611217575f546001600160a01b038581169116148015906111d157505f546001600160a01b03848116911614155b15611217576013548211156112175760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b60448201526064016107e7565b6010546001600160a01b0385811691161480156112425750600f546001600160a01b03848116911614155b801561126657506001600160a01b0383165f9081526009602052604090205460ff16155b156112b1576001600160a01b0383165f90815260086020526040902054421161128d575f80fd5b61129842603c611ed5565b6001600160a01b0384165f908152600860205260409020555b601554600160a81b900460ff16156112d5576112ce848484610f73565b9050610946565b305f90815260066020526040812054601454909190821080159190829061130957506010546001600160a01b038781169116145b80156113215750305f90815260066020526040812054115b9050801561133157611331611787565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a165f90815260069091529190912054611382918790611056565b6001600160a01b0388165f908152600660205260408120919091556113a7888861199e565b6113b157856113bb565b6113bb8887611a11565b6001600160a01b0388165f908152600660205260409020549091506113e09082611729565b6001600160a01b038089165f9081526006602052604090209190915560105489821691161480159061142a57506001600160a01b0388165f908152600a602052604090205460ff16155b1561149c576015546001600160a01b038981165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611489575f80fd5b505af192505050801561149a575060015b505b6010546001600160a01b038881169116148015906114d257506001600160a01b0387165f908152600a602052604090205460ff16155b15611544576015546001600160a01b038881165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611531575f80fd5b505af1925050508015611542575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158991815260200190565b60405180910390a3506001979650505050505050565b5f61094683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aba565b5f61094683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611056565b6001600160a01b038216301480159061164857506010546001600160a01b03838116911614155b611650575f80fd5b6001600160a01b0382165f908152600a60205260409020805460ff191682158015919091179091556116e157601554604051630a5b654b60e11b81526001600160a01b0384811660048301525f6024830152909116906314b6ca96906044015b5f604051808303815f87803b1580156116c7575f80fd5b505af11580156116d9573d5f803e3d5ffd5b505050505050565b6015546001600160a01b038381165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016116b0565b5f806117358385611ed5565b9050838110156109465760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e7565b6015805460ff60a81b1916600160a81b179055305f9081526006602052604081205490506117be6117b982600261159f565b611ae6565b6117d16117cc82600261159f565b611b8e565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190611eab565b60155460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192505f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190611ee8565b905080156119555760155460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f25906024015f604051808303815f87803b15801561193e575f80fd5b505af1158015611950573d5f803e3d5ffd5b505050505b600e546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561198b573d5f803e3d5ffd5b50506015805460ff60a81b191690555050565b6001600160a01b0382165f9081526009602052604081205460ff16806119db57506001600160a01b0382165f9081526009602052604090205460ff165b15801561094657506010546001600160a01b03848116911614806109465750506010546001600160a01b03908116911614919050565b5f80611a34600d54611a2e600c5486611c8c90919063ffffffff16565b9061159f565b305f90815260066020526040902054909150611a509082611729565b305f81815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611aa09085815260200190565b60405180910390a3611ab283826115e0565b949350505050565b5f8183611ada5760405162461bcd60e51b81526004016107e79190611d0a565b505f6110858486611f03565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b1957611b19611f22565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b4957611b49611f22565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac947906116b09085905f90869030904290600401611f36565b604080516003808252608082019092525f916020820160608036833701905050905030815f81518110611bc357611bc3611f22565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611bf357611bf3611f22565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110611c4757611c47611f22565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d795906116b09085905f90869030904290600401611f36565b5f825f03611c9b57505f6107b8565b5f611ca68385611e94565b905082611cb38583611f03565b146109465760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e7565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611d53575f80fd5b50565b5f8060408385031215611d67575f80fd5b8235611d7281611d3f565b946020939093013593505050565b5f60208284031215611d90575f80fd5b813561094681611d3f565b5f60208284031215611dab575f80fd5b5035919050565b5f805f60608486031215611dc4575f80fd5b8335611dcf81611d3f565b92506020840135611ddf81611d3f565b929592945050506040919091013590565b8015158114611d53575f80fd5b5f8060408385031215611e0e575f80fd5b8235611e1981611d3f565b91506020830135611e2981611df0565b809150509250929050565b5f8060408385031215611e45575f80fd5b8235611e5081611d3f565b91506020830135611e2981611d3f565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107b8576107b8611e80565b5f60208284031215611ebb575f80fd5b5051919050565b818103818111156107b8576107b8611e80565b808201808211156107b8576107b8611e80565b5f60208284031215611ef8575f80fd5b815161094681611df0565b5f82611f1d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f865783516001600160a01b0316835260209384019390920191600101611f5f565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122010c0c46c25f1ffeae5dd6db2e67ec5fdf47128ebf2cc6280ea194682f87d132e64736f6c634300081a003360a0604052736982508145454ce325ddbe47a25d4ec3d23119336080526ec097ce7bc90715b34b9f10000000006009553480156039575f80fd5b50604051610d04380380610d048339810160408190526056916087565b5f8054336001600160a01b031991821617909155600180549091166001600160a01b039290921691909117905560b2565b5f602082840312156096575f80fd5b81516001600160a01b038116811460ab575f80fd5b9392505050565b608051610c336100d15f395f81816102a7015261070d0152610c335ff3fe6080604052600436106100dc575f3560e01c8063b2bdfa7b1161007c578063d54ad2a111610057578063d54ad2a11461026c578063e2d2e21914610281578063e4fbaecb14610296578063ecd0c0c3146102c9575f80fd5b8063b2bdfa7b146101c1578063b6b55f25146101f8578063ce7c2ac214610217575f80fd5b80633a98ef39116100b75780633a98ef39146101465780635cc33f741461016e5780638ecc37fb1461018d578063997664d7146101ac575f80fd5b80631014edf5146100e757806314b6ca961461010857806315f7e05e14610127575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b50610106610101366004610a8f565b6102e7565b005b348015610113575f80fd5b50610106610122366004610ab9565b610343565b348015610132575f80fd5b50610106610141366004610ae1565b6104b1565b348015610151575f80fd5b5061015b60055481565b6040519081526020015b60405180910390f35b348015610179575f80fd5b5061015b610188366004610ae1565b6104d2565b348015610198575f80fd5b5061015b6101a7366004610ae1565b610563565b3480156101b7575f80fd5b5061015b60065481565b3480156101cc575f80fd5b506001546101e0906001600160a01b031681565b6040516001600160a01b039091168152602001610165565b348015610203575f80fd5b50610106610212366004610afa565b6105e9565b348015610222575f80fd5b50610251610231366004610ae1565b60046020525f908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610165565b348015610277575f80fd5b5061015b60075481565b34801561028c575f80fd5b5061015b60085481565b3480156102a1575f80fd5b506101e07f000000000000000000000000000000000000000000000000000000000000000081565b3480156102d4575f80fd5b505f546101e0906001600160a01b031681565b6001546001600160a01b031633146102fd575f80fd5b476001600160a01b0382166108fc846103165782610318565b845b6040518115909202915f818181858888f1935050505015801561033d573d5f803e3d5ffd5b50505050565b5f546001600160a01b03163314610358575f80fd5b6001600160a01b0382165f908152600460205260409020541561037e5761037e82610641565b5f811180156103a257506001600160a01b0382165f90815260046020526040902054155b1561040757600280546001600160a01b0384165f818152600360205260408120839055600183018455929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319169091179055610439565b8015801561042b57506001600160a01b0382165f9081526004602052604090205415155b15610439576104398261077d565b6001600160a01b0382165f908152600460205260409020546005546104699183916104639161088d565b906108d7565b6005556001600160a01b0382165f90815260046020526040902081905561048f81610935565b6001600160a01b039092165f9081526004602052604090206001019190915550565b5f546001600160a01b031633146104c6575f80fd5b6104cf81610641565b50565b6001600160a01b0381165f908152600460205260408120546105455760405162461bcd60e51b815260206004820152602160248201527f596f75277265206e6f742061205052494e544552207368617265686f6c6465726044820152602160f81b60648201526084015b60405180910390fd5b506001600160a01b03165f9081526004602052604090206002015490565b6001600160a01b0381165f90815260046020526040812054810361058857505f919050565b6001600160a01b0382165f908152600460205260408120546105a990610935565b6001600160a01b0384165f908152600460205260409020600101549091508082116105d757505f9392505050565b6105e1828261088d565b949350505050565b5f546001600160a01b031633146105fe575f80fd5b80156104cf5760065461061190826108d7565b60065560055460095461063b916106329161062c9085610951565b906109cf565b600854906108d7565b60085550565b6001600160a01b0381165f9081526004602052604081205490036106625750565b5f61066c82610563565b905080156107795760075461068190826108d7565b6007556001600160a01b0382165f908152600460205260409020600201546106a990826108d7565b6001600160a01b0383165f9081526004602052604090206002810191909155546106d290610935565b6001600160a01b038381165f81815260046020819052604091829020600101949094555163a9059cbb60e01b815292830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610753573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107779190610b11565b505b5050565b6002805461078d90600190610b44565b8154811061079d5761079d610b57565b5f9182526020808320909101546001600160a01b03848116845260039092526040909220546002805492909316929181106107da576107da610b57565b5f91825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003918290526040812054600280549193929161082590600190610b44565b8154811061083557610835610b57565b5f9182526020808320909101546001600160a01b03168352820192909252604001902055600280548061086a5761086a610b6b565b5f8281526020902081015f1990810180546001600160a01b031916905501905550565b5f6108ce83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a10565b90505b92915050565b5f806108e38385610b7f565b9050838110156108ce5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161053c565b5f6108d160095461062c6008548561095190919063ffffffff16565b5f825f0361096057505f6108d1565b5f61096b8385610b92565b9050826109788583610ba9565b146108ce5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161053c565b5f6108ce83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a48565b5f8184841115610a335760405162461bcd60e51b815260040161053c9190610bc8565b505f610a3f8486610b44565b95945050505050565b5f8183610a685760405162461bcd60e51b815260040161053c9190610bc8565b505f610a3f8486610ba9565b80356001600160a01b0381168114610a8a575f80fd5b919050565b5f8060408385031215610aa0575f80fd5b82359150610ab060208401610a74565b90509250929050565b5f8060408385031215610aca575f80fd5b610ad383610a74565b946020939093013593505050565b5f60208284031215610af1575f80fd5b6108ce82610a74565b5f60208284031215610b0a575f80fd5b5035919050565b5f60208284031215610b21575f80fd5b815180151581146108ce575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108d1576108d1610b30565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b808201808211156108d1576108d1610b30565b80820281158282048414176108d1576108d1610b30565b5f82610bc357634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea264697066735822122048dccc12dd2fc16980dad3af83470c91e62816e67368af76faa07f74e2e280c364736f6c634300081a00330000000000000000000000008010603a01b977e13b94dc293fc17309a9acefb8

Deployed Bytecode

0x60806040526004361061022b575f3560e01c8063736a83a111610129578063bffb691d116100a8578063f0fc6bca1161006d578063f0fc6bca146106cd578063f2fde38b146106e1578063f429389014610700578063f708a64f14610714578063f887ea4014610733575f80fd5b8063bffb691d1461060d578063c9567bf91461062d578063d12a768814610641578063dd62ed3e14610656578063e4fbaecb1461069a575f80fd5b806395d89b41116100ee57806395d89b4114610557578063a8aa1b3114610583578063a9059cbb146105a2578063b1a4e0dc146105c1578063bf56b371146105f8575f80fd5b8063736a83a1146104bd57806375f0a874146104d1578063764ca51214610508578063893d20e81461051c5780638ecc37fb14610538575f80fd5b8063313ce567116101b55780635d098b381161017a5780635d098b3814610418578063658d4b7f1461043757806367ee5f091461045657806369fe0e2d1461046a57806370a0823114610489575f80fd5b8063313ce5671461038c578063342aa8b5146103a75780633e07ce5b146103c6578063571ac8b0146103da5780635cc33f74146103f9575f80fd5b806323b63585116101fb57806323b63585146102ee57806323b872dd1461030d57806329e04b4a1461032c5780632b112e491461034b5780632f54bf6e1461035f575f80fd5b806306fdde0314610236578063095ea7b31461028057806315f7e05e146102af57806318160ddd146102d0575f80fd5b3661023257005b5f80fd5b348015610241575f80fd5b5060408051808201909152601081526f4d696e65722773205065706520e29b8f60801b60208201525b6040516102779190611d0a565b60405180910390f35b34801561028b575f80fd5b5061029f61029a366004611d56565b610752565b6040519015158152602001610277565b3480156102ba575f80fd5b506102ce6102c9366004611d80565b6107be565b005b3480156102db575f80fd5b506004545b604051908152602001610277565b3480156102f9575f80fd5b5061029f610308366004611d9b565b61084d565b348015610318575f80fd5b5061029f610327366004611db2565b61088f565b348015610337575f80fd5b506102ce610346366004611d9b565b61094d565b348015610356575f80fd5b506102e06109d9565b34801561036a575f80fd5b5061029f610379366004611d80565b5f546001600160a01b0391821691161490565b348015610397575f80fd5b5060405160098152602001610277565b3480156103b2575f80fd5b506102ce6103c1366004611dfd565b610a29565b3480156103d1575f80fd5b506102ce610a83565b3480156103e5575f80fd5b5061029f6103f4366004611d80565b610ab9565b348015610404575f80fd5b506102e0610413366004611d80565b610ac5565b348015610423575f80fd5b506102ce610432366004611d80565b610b32565b348015610442575f80fd5b506102ce610451366004611dfd565b610b7d565b348015610461575f80fd5b506102e0610bd0565b348015610475575f80fd5b506102ce610484366004611d9b565b610c3b565b348015610494575f80fd5b506102e06104a3366004611d80565b6001600160a01b03165f9081526006602052604090205490565b3480156104c8575f80fd5b506102e0610cb1565b3480156104dc575f80fd5b50600e546104f0906001600160a01b031681565b6040516001600160a01b039091168152602001610277565b348015610513575f80fd5b506102ce610cf8565b348015610527575f80fd5b505f546001600160a01b03166104f0565b348015610543575f80fd5b506102e0610552366004611d80565b610d90565b348015610562575f80fd5b506040805180820190915260048152634d45504560e01b602082015261026a565b34801561058e575f80fd5b506010546104f0906001600160a01b031681565b3480156105ad575f80fd5b5061029f6105bc366004611d56565b610dc2565b3480156105cc575f80fd5b5061029f6105db366004611d80565b6001600160a01b03165f908152600b602052604090205460ff1690565b348015610603575f80fd5b506102e060115481565b348015610618575f80fd5b5060155461029f90600160a01b900460ff1681565b348015610638575f80fd5b506102ce610dce565b34801561064c575f80fd5b506102e060145481565b348015610661575f80fd5b506102e0610670366004611e34565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156106a5575f80fd5b506104f07f0000000000000000000000006982508145454ce325ddbe47a25d4ec3d231193381565b3480156106d8575f80fd5b506102ce610e0a565b3480156106ec575f80fd5b506102ce6106fb366004611d80565b610e64565b34801561070b575f80fd5b506102ce610ee0565b34801561071f575f80fd5b506102ce61072e366004611dfd565b610f40565b34801561073e575f80fd5b50600f546104f0906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107ac9086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146107f05760405162461bcd60e51b81526004016107e790611e60565b60405180910390fd5b601554604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e906024015f604051808303815f87803b158015610834575f80fd5b505af1158015610846573d5f803e3d5ffd5b5050505050565b5f80546001600160a01b031633146108775760405162461bcd60e51b81526004016107e790611e60565b6002546107b89030906001600160a01b031684610f73565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610938576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600782528381203382529091529190912054610914918490611056565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b61094384848461108e565b90505b9392505050565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016107e790611e60565b60045461098490606461159f565b8111156109c55760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b60448201526064016107e7565b6109d381633b9aca00611e94565b60145550565b6003546001600160a01b03165f90815260066020526040812054610a24906002546001600160a01b03165f90815260066020526040902054610a1e90600454906115e0565b906115e0565b905090565b5f546001600160a01b03163314610a525760405162461bcd60e51b81526004016107e790611e60565b6001600160a01b0382165f908152600b60205260409020805460ff1916821515179055610a7f8282611621565b5050565b5f546001600160a01b03163314610aac5760405162461bcd60e51b81526004016107e790611e60565b6012805461ff0019169055565b5f6107b8825f19610752565b601554604051631730cfdd60e21b81526001600160a01b0383811660048301525f921690635cc33f74906024015b602060405180830381865afa158015610b0e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b89190611eab565b5f546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016107e790611e60565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610ba65760405162461bcd60e51b81526004016107e790611e60565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b6015546040805163997664d760e01b815290515f926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610c17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a249190611eab565b5f546001600160a01b03163314610c645760405162461bcd60e51b81526004016107e790611e60565b6019811115610cac5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642032352560601b60448201526064016107e7565b600c55565b6015546040805163d54ad2a160e01b815290515f926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610c17573d5f803e3d5ffd5b5f546001600160a01b03163314610d215760405162461bcd60e51b81526004016107e790611e60565b601554600160a01b900460ff1615610d7b5760405162461bcd60e51b815260206004820152601760248201527f63616e206f6e6c792062652063616c6c6564206f6e636500000000000000000060448201526064016107e7565b6015805460ff60a01b1916600160a01b179055565b601554604051638ecc37fb60e01b81526001600160a01b0383811660048301525f921690638ecc37fb90602401610af3565b5f61094633848461108e565b5f546001600160a01b03163314610df75760405162461bcd60e51b81526004016107e790611e60565b436011556012805460ff19166001179055565b601554604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e906024015f604051808303815f87803b158015610e4c575f80fd5b505af1158015610e5e573d5f803e3d5ffd5b50505050565b5f546001600160a01b03163314610e8d5760405162461bcd60e51b81526004016107e790611e60565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610f095760405162461bcd60e51b81526004016107e790611e60565b600e5460405147916001600160a01b03169082156108fc029083905f818181858888f19350505050158015610a7f573d5f803e3d5ffd5b5f546001600160a01b03163314610f695760405162461bcd60e51b81526004016107e790611e60565b610a7f8282611621565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054610fc3918490611056565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610ff19083611729565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110449086815260200190565b60405180910390a35060019392505050565b5f81848411156110795760405162461bcd60e51b81526004016107e79190611d0a565b505f6110858486611ec2565b95945050505050565b5f80546001600160a01b038581169116148015906110b957505f546001600160a01b03848116911614155b156111105760125460ff166111105760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107e7565b601554600160a01b900460ff1615611197576001600160a01b0384165f908152600b602052604090205460ff1615801561116257506001600160a01b0383165f908152600b602052604090205460ff16155b6111975760405162461bcd60e51b81526004016107e790602080825260049082015263426f742160e01b604082015260600190565b601254610100900460ff1615611217575f546001600160a01b038581169116148015906111d157505f546001600160a01b03848116911614155b15611217576013548211156112175760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b60448201526064016107e7565b6010546001600160a01b0385811691161480156112425750600f546001600160a01b03848116911614155b801561126657506001600160a01b0383165f9081526009602052604090205460ff16155b156112b1576001600160a01b0383165f90815260086020526040902054421161128d575f80fd5b61129842603c611ed5565b6001600160a01b0384165f908152600860205260409020555b601554600160a81b900460ff16156112d5576112ce848484610f73565b9050610946565b305f90815260066020526040812054601454909190821080159190829061130957506010546001600160a01b038781169116145b80156113215750305f90815260066020526040812054115b9050801561133157611331611787565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a165f90815260069091529190912054611382918790611056565b6001600160a01b0388165f908152600660205260408120919091556113a7888861199e565b6113b157856113bb565b6113bb8887611a11565b6001600160a01b0388165f908152600660205260409020549091506113e09082611729565b6001600160a01b038089165f9081526006602052604090209190915560105489821691161480159061142a57506001600160a01b0388165f908152600a602052604090205460ff16155b1561149c576015546001600160a01b038981165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611489575f80fd5b505af192505050801561149a575060015b505b6010546001600160a01b038881169116148015906114d257506001600160a01b0387165f908152600a602052604090205460ff16155b15611544576015546001600160a01b038881165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044015f604051808303815f87803b158015611531575f80fd5b505af1925050508015611542575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158991815260200190565b60405180910390a3506001979650505050505050565b5f61094683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aba565b5f61094683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611056565b6001600160a01b038216301480159061164857506010546001600160a01b03838116911614155b611650575f80fd5b6001600160a01b0382165f908152600a60205260409020805460ff191682158015919091179091556116e157601554604051630a5b654b60e11b81526001600160a01b0384811660048301525f6024830152909116906314b6ca96906044015b5f604051808303815f87803b1580156116c7575f80fd5b505af11580156116d9573d5f803e3d5ffd5b505050505050565b6015546001600160a01b038381165f8181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016116b0565b5f806117358385611ed5565b9050838110156109465760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e7565b6015805460ff60a81b1916600160a81b179055305f9081526006602052604081205490506117be6117b982600261159f565b611ae6565b6117d16117cc82600261159f565b611b8e565b6040516370a0823160e01b81523060048201525f907f0000000000000000000000006982508145454ce325ddbe47a25d4ec3d23119336001600160a01b0316906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190611eab565b60155460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192505f917f0000000000000000000000006982508145454ce325ddbe47a25d4ec3d23119339091169063a9059cbb906044016020604051808303815f875af11580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190611ee8565b905080156119555760155460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f25906024015f604051808303815f87803b15801561193e575f80fd5b505af1158015611950573d5f803e3d5ffd5b505050505b600e546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561198b573d5f803e3d5ffd5b50506015805460ff60a81b191690555050565b6001600160a01b0382165f9081526009602052604081205460ff16806119db57506001600160a01b0382165f9081526009602052604090205460ff165b15801561094657506010546001600160a01b03848116911614806109465750506010546001600160a01b03908116911614919050565b5f80611a34600d54611a2e600c5486611c8c90919063ffffffff16565b9061159f565b305f90815260066020526040902054909150611a509082611729565b305f81815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611aa09085815260200190565b60405180910390a3611ab283826115e0565b949350505050565b5f8183611ada5760405162461bcd60e51b81526004016107e79190611d0a565b505f6110858486611f03565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b1957611b19611f22565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b4957611b49611f22565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac947906116b09085905f90869030904290600401611f36565b604080516003808252608082019092525f916020820160608036833701905050905030815f81518110611bc357611bc3611f22565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611bf357611bf3611f22565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000006982508145454ce325ddbe47a25d4ec3d231193381600281518110611c4757611c47611f22565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d795906116b09085905f90869030904290600401611f36565b5f825f03611c9b57505f6107b8565b5f611ca68385611e94565b905082611cb38583611f03565b146109465760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e7565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611d53575f80fd5b50565b5f8060408385031215611d67575f80fd5b8235611d7281611d3f565b946020939093013593505050565b5f60208284031215611d90575f80fd5b813561094681611d3f565b5f60208284031215611dab575f80fd5b5035919050565b5f805f60608486031215611dc4575f80fd5b8335611dcf81611d3f565b92506020840135611ddf81611d3f565b929592945050506040919091013590565b8015158114611d53575f80fd5b5f8060408385031215611e0e575f80fd5b8235611e1981611d3f565b91506020830135611e2981611df0565b809150509250929050565b5f8060408385031215611e45575f80fd5b8235611e5081611d3f565b91506020830135611e2981611d3f565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107b8576107b8611e80565b5f60208284031215611ebb575f80fd5b5051919050565b818103818111156107b8576107b8611e80565b808201808211156107b8576107b8611e80565b5f60208284031215611ef8575f80fd5b815161094681611df0565b5f82611f1d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f865783516001600160a01b0316835260209384019390920191600101611f5f565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122010c0c46c25f1ffeae5dd6db2e67ec5fdf47128ebf2cc6280ea194682f87d132e64736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008010603a01b977e13b94dc293fc17309a9acefb8

-----Decoded View---------------
Arg [0] : _owner (address): 0x8010603a01b977e13b94dc293fC17309A9ACEFB8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008010603a01b977e13b94dc293fc17309a9acefb8


Deployed Bytecode Sourcemap

9358:11723:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12104:80;;;;;;;;;;-1:-1:-1;12176:5:0;;;;;;;;;;;;-1:-1:-1;;;12176:5:0;;;;12104:80;;;;;;;:::i;:::-;;;;;;;;12526:216;;;;;;;;;;-1:-1:-1;12526:216:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;12526:216:0;945:187:1;19348:110:0;;;;;;;;;;-1:-1:-1;19348:110:0;;;;;:::i;:::-;;:::i;:::-;;11834:88;;;;;;;;;;-1:-1:-1;11907:12:0;;11834:88;;;1535:25:1;;;1523:2;1508:18;11834:88:0;1389:177:1;19638:139:0;;;;;;;;;;-1:-1:-1;19638:139:0;;;;;:::i;:::-;;:::i;13044:370::-;;;;;;;;;;-1:-1:-1;13044:370:0;;;;;:::i;:::-;;:::i;20866:206::-;;;;;;;;;;-1:-1:-1;20866:206:0;;;;;:::i;:::-;;:::i;19789:142::-;;;;;;;;;;;;;:::i;2886:103::-;;;;;;;;;;-1:-1:-1;2886:103:0;;;;;:::i;:::-;2941:4;2976:5;-1:-1:-1;;;;;2965:16:0;;;2976:5;;2965:16;;2886:103;11928:80;;;;;;;;;;-1:-1:-1;11928:80:0;;9854:1;2457:36:1;;2445:2;2430:18;11928:80:0;2315:184:1;18127:158:0;;;;;;;;;;-1:-1:-1;18127:158:0;;;;;:::i;:::-;;:::i;20495:80::-;;;;;;;;;;;;;:::i;12750:122::-;;;;;;;;;;-1:-1:-1;12750:122:0;;;;;:::i;:::-;;:::i;20330:157::-;;;;;;;;;;-1:-1:-1;20330:157:0;;;;;:::i;:::-;;:::i;19939:135::-;;;;;;;;;;-1:-1:-1;19939:135:0;;;;;:::i;:::-;;:::i;18788:119::-;;;;;;;;;;-1:-1:-1;18788:119:0;;;;;:::i;:::-;;:::i;20083:115::-;;;;;;;;;;;;;:::i;18915:139::-;;;;;;;;;;-1:-1:-1;18915:139:0;;;;;:::i;:::-;;:::i;12274:105::-;;;;;;;;;;-1:-1:-1;12274:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12358:18:0;12340:7;12358:18;;;:9;:18;;;;;;;12274:105;20210:111;;;;;;;;;;;;;:::i;10425:92::-;;;;;;;;;;-1:-1:-1;10425:92:0;;;;-1:-1:-1;;;;;10425:92:0;;;;;;-1:-1:-1;;;;;3194:32:1;;;3176:51;;3164:2;3149:18;10425:92:0;3014:219:1;20693:165:0;;;;;;;;;;;;;:::i;12190:78::-;;;;;;;;;;-1:-1:-1;12242:7:0;12260:5;-1:-1:-1;;;;;12260:5:0;12190:78;;19470:156;;;;;;;;;;-1:-1:-1;19470:156:0;;;;;:::i;:::-;;:::i;12014:84::-;;;;;;;;;;-1:-1:-1;12088:7:0;;;;;;;;;;;;-1:-1:-1;;;12088:7:0;;;;12014:84;;10557:19;;;;;;;;;;-1:-1:-1;10557:19:0;;;;-1:-1:-1;;;;;10557:19:0;;;12880:156;;;;;;;;;;-1:-1:-1;12880:156:0;;;;;:::i;:::-;;:::i;20583:102::-;;;;;;;;;;-1:-1:-1;20583:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;20663:14:0;20639:4;20663:14;;;:5;:14;;;;;;;;;20583:102;10585:25;;;;;;;;;;;;;;;;10870:36;;;;;;;;;;-1:-1:-1;10870:36:0;;;;-1:-1:-1;;;10870:36:0;;;;;;17992:115;;;;;;;;;;;;;:::i;10743:62::-;;;;;;;;;;;;;;;;12385:133;;;;;;;;;;-1:-1:-1;12385:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12487:19:0;;;12469:7;12487:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12385:133;9609:83;;;;;;;;;;;;;;;19246:90;;;;;;;;;;;;;:::i;3114:136::-;;;;;;;;;;-1:-1:-1;3114:136:0;;;;;:::i;:::-;;:::i;19064:174::-;;;;;;;;;;;;;:::i;18648:132::-;;;;;;;;;;-1:-1:-1;18648:132:0;;;;;:::i;:::-;;:::i;10526:24::-;;;;;;;;;;-1:-1:-1;10526:24:0;;;;-1:-1:-1;;;;;10526:24:0;;;12526:216;12630:10;12601:4;12618:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12618:32:0;;;;;;;;;;:41;;;12675:37;12601:4;;12618:32;;12675:37;;;;12653:6;1535:25:1;;1523:2;1508:18;;1389:177;12675:37:0;;;;;;;;-1:-1:-1;12730:4:0;12526:216;;;;;:::o;19348:110::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;;;;;;;;;19417:11:::1;::::0;:33:::1;::::0;-1:-1:-1;;;19417:33:0;;-1:-1:-1;;;;;3194:32:1;;;19417:33:0::1;::::0;::::1;3176:51:1::0;19417:11:0;;::::1;::::0;:25:::1;::::0;3149:18:1;;19417:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19348:110:::0;:::o;19638:139::-;19702:4;2976:5;;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;19756:4:::1;::::0;19726:43:::1;::::0;19749:4:::1;::::0;-1:-1:-1;;;;;19756:4:0::1;19762:6:::0;19726:14:::1;:43::i;13044:370::-:0;-1:-1:-1;;;;;13164:19:0;;13144:4;13164:19;;;:11;:19;;;;;;;;13184:10;13164:31;;;;;;;;-1:-1:-1;;13164:52:0;13161:186;;13266:69;;;;;;;;;;;-1:-1:-1;;;13266:69:0;;;;;;;;-1:-1:-1;;;;;13266:19:0;;-1:-1:-1;13266:19:0;;;:11;:19;;;;;13286:10;13266:31;;;;;;;;;;:69;;13302:6;;13266:35;:69::i;:::-;-1:-1:-1;;;;;13232:19:0;;;;;;:11;:19;;;;;;;;13252:10;13232:31;;;;;;;:103;13161:186;13366:40;13380:6;13388:9;13399:6;13366:13;:40::i;:::-;13359:47;;13044:370;;;;;;:::o;20866:206::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;20964:12:::1;::::0;:21:::1;::::0;20981:3:::1;20964:16;:21::i;:::-;20954:6;:31;;20945:60;;;::::0;-1:-1:-1;;;20945:60:0;;4861:2:1;20945:60:0::1;::::0;::::1;4843:21:1::0;4900:2;4880:18;;;4873:30;-1:-1:-1;;;4919:18:1;;;4912:45;4974:18;;20945:60:0::1;4659:339:1::0;20945:60:0::1;21048:16;:6:::0;21057:7:::1;21048:16;:::i;:::-;21016:29;:48:::0;-1:-1:-1;20866:206:0:o;19789:142::-;19917:4;;-1:-1:-1;;;;;19917:4:0;19842:7;12358:18;;;:9;:18;;;;;;19869:54;;19896:4;;-1:-1:-1;;;;;19896:4:0;12340:7;12358:18;;;:9;:18;;;;;;19869:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19862:61;;19789:142;:::o;18127:158::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18204:15:0;::::1;;::::0;;;:5:::1;:15;::::0;;;;:24;;-1:-1:-1;;18204:24:0::1;::::0;::::1;;;::::0;;18239:38:::1;18204:15:::0;:24;18239:20:::1;:38::i;:::-;18127:158:::0;;:::o;20495:80::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;20551:8:::1;:16:::0;;-1:-1:-1;;20551:16:0::1;::::0;;20495:80::o;12750:122::-;12805:4;12829:35;12837:7;-1:-1:-1;;12829:7:0;:35::i;20330:157::-;20433:11;;:46;;-1:-1:-1;;;20433:46:0;;-1:-1:-1;;;;;3194:32:1;;;20433:46:0;;;3176:51:1;20406:7:0;;20433:11;;:33;;3149:18:1;;20433:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19939:135::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;20023:15:::1;:43:::0;;-1:-1:-1;;;;;;20023:43:0::1;-1:-1:-1::0;;;;;20023:43:0;;;::::1;::::0;;;::::1;::::0;;19939:135::o;18788:119::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18871:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;18871:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18788:119::o;20083:115::-;20162:11;;:28;;;-1:-1:-1;;;20162:28:0;;;;20135:7;;-1:-1:-1;;;;;20162:11:0;;:26;;:28;;;;;;;;;;;;;;:11;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18915:139::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;18993:2:::1;18985:4;:10;;18976:44;;;::::0;-1:-1:-1;;;18976:44:0;;5699:2:1;18976:44:0::1;::::0;::::1;5681:21:1::0;5738:2;5718:18;;;5711:30;-1:-1:-1;;;5757:18:1;;;5750:50;5817:18;;18976:44:0::1;5497:344:1::0;18976:44:0::1;19031:8;:15:::0;18915:139::o;20210:111::-;20287:11;;:26;;;-1:-1:-1;;;20287:26:0;;;;20260:7;;-1:-1:-1;;;;;20287:11:0;;:24;;:26;;;;;;;;;;;;;;:11;:26;;;;;;;;;;;;;;20693:165;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;20763:16:::1;::::0;-1:-1:-1;;;20763:16:0;::::1;;;:25;20754:62;;;::::0;-1:-1:-1;;;20754:62:0;;6048:2:1;20754:62:0::1;::::0;::::1;6030:21:1::0;6087:2;6067:18;;;6060:30;6126:25;6106:18;;;6099:53;6169:18;;20754:62:0::1;5846:347:1::0;20754:62:0::1;20827:16;:23:::0;;-1:-1:-1;;;;20827:23:0::1;-1:-1:-1::0;;;20827:23:0::1;::::0;;20693:165::o;19470:156::-;19571:11;;:47;;-1:-1:-1;;;19571:47:0;;-1:-1:-1;;;;;3194:32:1;;;19571:47:0;;;3176:51:1;19544:7:0;;19571:11;;:34;;3149:18:1;;19571:47:0;3014:219:1;12880:156:0;12960:4;12984:44;12998:10;13010:9;13021:6;12984:13;:44::i;17992:115::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;18058:12:::1;18045:10;:25:::0;18081:11:::1;:18:::0;;-1:-1:-1;;18081:18:0::1;18095:4;18081:18;::::0;;17992:115::o;19246:90::-;19291:11;;:37;;-1:-1:-1;;;19291:37:0;;19317:10;19291:37;;;3176:51:1;-1:-1:-1;;;;;19291:11:0;;;;:25;;3149:18:1;;19291:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19246:90::o;3114:136::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;3190:5:::1;:11:::0;;-1:-1:-1;;;;;;3190:11:0::1;-1:-1:-1::0;;;;;3190:11:0;::::1;::::0;;::::1;::::0;;;3217:25:::1;::::0;3176:51:1;;;3217:25:0::1;::::0;3164:2:1;3149:18;3217:25:0::1;;;;;;;3114:136:::0;:::o;19064:174::-;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;19185:15:::1;::::0;19177:53:::1;::::0;19145:21:::1;::::0;-1:-1:-1;;;;;19185:15:0::1;::::0;19177:53;::::1;;;::::0;19145:21;;19116:26:::1;19177:53:::0;19116:26;19177:53;19145:21;19185:15;19177:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;18648:132:::0;2941:4;2976:5;-1:-1:-1;;;;;2976:5:0;2793:10;2965:16;2777:38;;;;-1:-1:-1;;;2777:38:0;;;;;;;:::i;:::-;18736:36:::1;18757:6;18765;18736:20;:36::i;15186:330::-:0;15316:53;;;;;;;;;;;-1:-1:-1;;;15316:53:0;;;;;;;;-1:-1:-1;;;;;15316:17:0;;15279:4;15316:17;;;:9;:17;;;;;;;:53;;15338:6;;15316:21;:53::i;:::-;-1:-1:-1;;;;;15296:17:0;;;;;;;:9;:17;;;;;;:73;;;;15403:20;;;;;;;:32;;15428:6;15403:24;:32::i;:::-;-1:-1:-1;;;;;15380:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15451:35;;;;;;;;;;15479:6;1535:25:1;;1523:2;1508:18;;1389:177;15451:35:0;;;;;;;;-1:-1:-1;15504:4:0;15186:330;;;;;:::o;548:192::-;634:7;670:12;662:6;;;;654:29;;;;-1:-1:-1;;;654:29:0;;;;;;;;:::i;:::-;-1:-1:-1;694:9:0;706:5;710:1;706;:5;:::i;:::-;694:17;548:192;-1:-1:-1;;;;;548:192:0:o;13422:1752::-;13514:4;13544:5;;-1:-1:-1;;;;;13535:14:0;;;13544:5;;13535:14;;;;:35;;-1:-1:-1;13565:5:0;;-1:-1:-1;;;;;13553:17:0;;;13565:5;;13553:17;;13535:35;13531:89;;;13580:11;;;;13572:48;;;;-1:-1:-1;;;13572:48:0;;6749:2:1;13572:48:0;;;6731:21:1;6788:2;6768:18;;;6761:30;6827:26;6807:18;;;6800:54;6871:18;;13572:48:0;6547:348:1;13572:48:0;13675:16;;-1:-1:-1;;;13675:16:0;;;;13671:102;;;-1:-1:-1;;;;;13718:13:0;;;;;;:5;:13;;;;;;;;13717:14;:35;;;;-1:-1:-1;;;;;;13736:16:0;;;;;;:5;:16;;;;;;;;13735:17;13717:35;13708:53;;;;-1:-1:-1;;;13708:53:0;;;;;;7102:2:1;7084:21;;;7141:1;7121:18;;;7114:29;-1:-1:-1;;;7174:2:1;7159:18;;7152:34;7218:2;7203:18;;6900:327;13708:53:0;13787:8;;;;;;;13783:130;;;13825:5;;-1:-1:-1;;;;;13817:13:0;;;13825:5;;13817:13;;;;:34;;-1:-1:-1;13846:5:0;;-1:-1:-1;;;;;13834:17:0;;;13846:5;;13834:17;;13817:34;13813:80;;;13870:6;;13862;:14;;13853:40;;;;-1:-1:-1;;;13853:40:0;;7434:2:1;13853:40:0;;;7416:21:1;7473:2;7453:18;;;7446:30;-1:-1:-1;;;7492:18:1;;;7485:42;7544:18;;13853:40:0;7232:336:1;13853:40:0;13939:4;;-1:-1:-1;;;;;13929:14:0;;;13939:4;;13929:14;:46;;;;-1:-1:-1;13968:6:0;;-1:-1:-1;;;;;13947:28:0;;;13968:6;;13947:28;;13929:46;:73;;;;-1:-1:-1;;;;;;13980:22:0;;;;;;:11;:22;;;;;;;;13979:23;13929:73;13925:219;;;-1:-1:-1;;;;;14028:19:0;;;;;;:8;:19;;;;;;14050:15;-1:-1:-1;14019:47:0;;;;;;14103:28;:15;14121:10;14103:28;:::i;:::-;-1:-1:-1;;;;;14081:19:0;;;;;;:8;:19;;;;;:50;13925:219;14166:6;;-1:-1:-1;;;14166:6:0;;;;14163:63;;;14182:41;14197:6;14205:9;14216:6;14182:14;:41::i;:::-;14175:48;;;;14163:63;14293:4;14244:28;12358:18;;;:9;:18;;;;;;14363:29;;12358:18;;14339:53;;;;;;14244:28;14339:53;;14432:38;;-1:-1:-1;14466:4:0;;-1:-1:-1;;;;;14455:15:0;;;14466:4;;14455:15;14432:38;:70;;;;-1:-1:-1;14492:4:0;14501:1;12358:18;;;:9;:18;;;;;;14474:28;14432:70;14409:94;;14517:14;14514:33;;;14534:10;:8;:10::i;:::-;14579:53;;;;;;;;;;;-1:-1:-1;;;14579:53:0;;;;;;;;-1:-1:-1;;;;;14579:17:0;;-1:-1:-1;14579:17:0;;;:9;:17;;;;;;;;:53;;14601:6;;14579:21;:53::i;:::-;-1:-1:-1;;;;;14559:17:0;;;;;;:9;:17;;;;;:73;;;;14670:32;14569:6;14692:9;14670:13;:32::i;:::-;:67;;14731:6;14670:67;;;14705:23;14713:6;14721;14705:7;:23::i;:::-;-1:-1:-1;;;;;14781:20:0;;;;;;:9;:20;;;;;;14645:92;;-1:-1:-1;14781:40:0;;14645:92;14781:24;:40::i;:::-;-1:-1:-1;;;;;14758:20:0;;;;;;;:9;:20;;;;;:63;;;;14847:4;;14837:14;;;14847:4;;14837:14;;;;:43;;-1:-1:-1;;;;;;14856:24:0;;;;;;:16;:24;;;;;;;;14855:25;14837:43;14834:114;;;14887:11;;-1:-1:-1;;;;;14916:17:0;;;14887:11;14916:17;;;:9;:17;;;;;;;;14887:47;;-1:-1:-1;;;14887:47:0;;;;;7877:51:1;;;;7944:18;;;7937:34;14887:11:0;;;:20;;7850:18:1;;14887:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14883:63;;14974:4;;-1:-1:-1;;;;;14961:17:0;;;14974:4;;14961:17;;;;:49;;-1:-1:-1;;;;;;14983:27:0;;;;;;:16;:27;;;;;;;;14982:28;14961:49;14958:126;;;15017:11;;-1:-1:-1;;;;;15049:20:0;;;15017:11;15049:20;;;:9;:20;;;;;;;;15017:53;;-1:-1:-1;;;15017:53:0;;;;;7877:51:1;;;;7944:18;;;7937:34;15017:11:0;;;:20;;7850:18:1;;15017:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15013:69;;15118:9;-1:-1:-1;;;;;15101:43:0;15110:6;-1:-1:-1;;;;;15101:43:0;;15129:14;15101:43;;;;1535:25:1;;1523:2;1508:18;;1389:177;15101:43:0;;;;;;;;-1:-1:-1;15162:4:0;;13422:1752;-1:-1:-1;;;;;;;13422:1752:0:o;1002:132::-;1060:7;1087:39;1091:1;1094;1087:39;;;;;;;;;;;;;;;;;:3;:39::i;406:136::-;464:7;491:43;495:1;498;491:43;;;;;;;;;;;;;;;;;:3;:43::i;18303:337::-;-1:-1:-1;;;;;18390:23:0;;18408:4;18390:23;;;;:41;;-1:-1:-1;18427:4:0;;-1:-1:-1;;;;;18417:14:0;;;18427:4;;18417:14;;18390:41;18382:50;;;;;;-1:-1:-1;;;;;18443:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;18443:33:0;;;;;;;;;;;;18487:146;;18512:11;;:31;;-1:-1:-1;;;18512:31:0;;-1:-1:-1;;;;;7895:32:1;;;18512:31:0;;;7877:51:1;18512:11:0;7944:18:1;;;7937:34;18512:11:0;;;;:20;;7850:18:1;;18512:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18127:158;;:::o;18487:146::-;18574:11;;-1:-1:-1;;;;;18603:17:0;;;18574:11;18603:17;;;:9;:17;;;;;;;;18574:47;;-1:-1:-1;;;18574:47:0;;;;;7877:51:1;;;;7944:18;;;7937:34;18574:11:0;;;:20;;7850:18:1;;18574:47:0;7703:274:1;219:181:0;277:7;;309:5;313:1;309;:5;:::i;:::-;297:17;;338:1;333;:6;;325:46;;;;-1:-1:-1;;;325:46:0;;8471:2:1;325:46:0;;;8453:21:1;8510:2;8490:18;;;8483:30;8549:29;8529:18;;;8522:57;8596:18;;325:46:0;8269:351:1;16108:549:0;10961:6;:13;;-1:-1:-1;;;;10961:13:0;-1:-1:-1;;;10961:13:0;;;16200:4:::1;-1:-1:-1::0;12358:18:0;;;:9;:18;;;;;;16159:47;-1:-1:-1;16227:37:0::1;16244:19;16159:47:::0;16261:1:::1;16244:16;:19::i;:::-;16227:16;:37::i;:::-;16275:38;16293:19;:12:::0;16310:1:::1;16293:16;:19::i;:::-;16275:17;:38::i;:::-;16346:37;::::0;-1:-1:-1;;;16346:37:0;;16377:4:::1;16346:37;::::0;::::1;3176:51:1::0;16326:17:0::1;::::0;16353:4:::1;-1:-1:-1::0;;;;;16346:22:0::1;::::0;::::1;::::0;3149:18:1;;16346:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16441:11;::::0;16411:54:::1;::::0;-1:-1:-1;;;16411:54:0;;-1:-1:-1;;;;;16441:11:0;;::::1;16411:54;::::0;::::1;7877:51:1::0;7944:18;;;7937:34;;;16326:57:0;;-1:-1:-1;16396:12:0::1;::::0;16418:4:::1;16411:21:::0;;::::1;::::0;::::1;::::0;7850:18:1;;16411:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16396:69;;16482:7;16478:82;;;16506:11;::::0;:30:::1;::::0;-1:-1:-1;;;16506:30:0;;::::1;::::0;::::1;1535:25:1::0;;;-1:-1:-1;;;;;16506:11:0;;::::1;::::0;:19:::1;::::0;1508:18:1;;16506:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16478:82;16593:15;::::0;16585:56:::1;::::0;-1:-1:-1;;;;;16593:15:0;;::::1;::::0;16619:21:::1;16585:56:::0;::::1;;;::::0;16593:15:::1;16585:56:::0;16593:15;16585:56;16619:21;16593:15;16585:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10979:6:0;:14;;-1:-1:-1;;;;10979:14:0;;;-1:-1:-1;;16108:549:0:o;15527:206::-;-1:-1:-1;;;;;15636:19:0;;15608:4;15636:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;15659:22:0;;;;;;:11;:22;;;;;;;;15636:45;15634:48;:90;;;;-1:-1:-1;15698:4:0;;-1:-1:-1;;;;;15688:14:0;;;15698:4;;15688:14;;:35;;-1:-1:-1;;15719:4:0;;-1:-1:-1;;;;;15719:4:0;;;15706:17;;;;15527:206;-1:-1:-1;15527:206:0:o;15741:354::-;15808:7;15828:17;15868:40;15893:14;;15868:20;15879:8;;15868:6;:10;;:20;;;;:::i;:::-;:24;;:40::i;:::-;15964:4;15946:24;;;;:9;:24;;;;;;15856:52;;-1:-1:-1;15946:39:0;;15856:52;15946:28;:39::i;:::-;15937:4;15919:24;;;;:9;:24;;;;;;;:66;;;;16001:42;;-1:-1:-1;;;;;16001:42:0;;;;;;;16033:9;1535:25:1;;1523:2;1508:18;;1389:177;16001:42:0;;;;;;;;16066:21;:6;16077:9;16066:10;:21::i;:::-;16059:28;15741:354;-1:-1:-1;;;;15741:354:0:o;1140:345::-;1226:7;1328:12;1321:5;1313:28;;;;-1:-1:-1;;;1313:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1352:9:0;1364:5;1368:1;1364;:5;:::i;17111:489::-;17263:16;;;17277:1;17263:16;;;;;;;;17239:21;;17263:16;;;;;;;;;;-1:-1:-1;17263:16:0;17239:40;;17308:4;17290;17295:1;17290:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17290:23:0;;;:7;;;;;;;;;:23;17334:4;;;17324:7;;17334:4;;;17324;;17334;17324:7;;;;;;:::i;:::-;-1:-1:-1;;;;;17324:14:0;;;:7;;;;;;;;;:14;17377:6;;:215;;-1:-1:-1;;;17377:215:0;;:6;;;:57;;:215;;17449:11;;17377:6;;17519:4;;17546;;17566:15;;17377:215;;;:::i;16673:430::-;16766:16;;;16780:1;16766:16;;;;;;;;;16742:21;;16766:16;;;;;;;;;;-1:-1:-1;16766:16:0;16742:40;;16811:4;16793;16798:1;16793:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16793:23:0;;;:7;;;;;;;;;:23;16837:4;;;16827:7;;16837:4;;;16827;;16837;16827:7;;;;;;:::i;:::-;;;;;;:14;-1:-1:-1;;;;;16827:14:0;;;-1:-1:-1;;;;;16827:14:0;;;;;16862:4;16852;16857:1;16852:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16852:14:0;;;:7;;;;;;;;;:14;16905:6;;:190;;-1:-1:-1;;;16905:190:0;;:6;;;:60;;:190;;16980:11;;16905:6;;17022:4;;17049;;17069:15;;16905:190;;;:::i;746:250::-;804:7;828:1;833;828:6;824:47;;-1:-1:-1;858:1:0;851:8;;824:47;883:9;895:5;899:1;895;:5;:::i;:::-;883:17;-1:-1:-1;928:1:0;919:5;923:1;883:17;919:5;:::i;:::-;:10;911:56;;;;-1:-1:-1;;;911:56:0;;10527:2:1;911:56:0;;;10509:21:1;10566:2;10546:18;;;10539:30;10605:34;10585:18;;;10578:62;-1:-1:-1;;;10656:18:1;;;10649:31;10697:19;;911:56:0;10325:397:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1137:247::-;1196:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:52;;;1265:1;1262;1255:12;1217:52;1304:9;1291:23;1323:31;1348:5;1323:31;:::i;1571:226::-;1630:6;1683:2;1671:9;1662:7;1658:23;1654:32;1651:52;;;1699:1;1696;1689:12;1651:52;-1:-1:-1;1744:23:1;;1571:226;-1:-1:-1;1571:226:1:o;1802:508::-;1879:6;1887;1895;1948:2;1936:9;1927:7;1923:23;1919:32;1916:52;;;1964:1;1961;1954:12;1916:52;2003:9;1990:23;2022:31;2047:5;2022:31;:::i;:::-;2072:5;-1:-1:-1;2129:2:1;2114:18;;2101:32;2142:33;2101:32;2142:33;:::i;:::-;1802:508;;2194:7;;-1:-1:-1;;;2274:2:1;2259:18;;;;2246:32;;1802:508::o;2504:118::-;2590:5;2583:13;2576:21;2569:5;2566:32;2556:60;;2612:1;2609;2602:12;2627:382;2692:6;2700;2753:2;2741:9;2732:7;2728:23;2724:32;2721:52;;;2769:1;2766;2759:12;2721:52;2808:9;2795:23;2827:31;2852:5;2827:31;:::i;:::-;2877:5;-1:-1:-1;2934:2:1;2919:18;;2906:32;2947:30;2906:32;2947:30;:::i;:::-;2996:7;2986:17;;;2627:382;;;;;:::o;3446:388::-;3514:6;3522;3575:2;3563:9;3554:7;3550:23;3546:32;3543:52;;;3591:1;3588;3581:12;3543:52;3630:9;3617:23;3649:31;3674:5;3649:31;:::i;:::-;3699:5;-1:-1:-1;3756:2:1;3741:18;;3728:32;3769:33;3728:32;3769:33;:::i;4325:329::-;4527:2;4509:21;;;4566:1;4546:18;;;4539:29;-1:-1:-1;;;4599:2:1;4584:18;;4577:36;4645:2;4630:18;;4325:329::o;5003:127::-;5064:10;5059:3;5055:20;5052:1;5045:31;5095:4;5092:1;5085:15;5119:4;5116:1;5109:15;5135:168;5208:9;;;5239;;5256:15;;;5250:22;;5236:37;5226:71;;5277:18;;:::i;5308:184::-;5378:6;5431:2;5419:9;5410:7;5406:23;5402:32;5399:52;;;5447:1;5444;5437:12;5399:52;-1:-1:-1;5470:16:1;;5308:184;-1:-1:-1;5308:184:1:o;6414:128::-;6481:9;;;6502:11;;;6499:37;;;6516:18;;:::i;7573:125::-;7638:9;;;7659:10;;;7656:36;;;7672:18;;:::i;8625:245::-;8692:6;8745:2;8733:9;8724:7;8720:23;8716:32;8713:52;;;8761:1;8758;8751:12;8713:52;8793:9;8787:16;8812:28;8834:5;8812:28;:::i;8875:217::-;8915:1;8941;8931:132;;8985:10;8980:3;8976:20;8973:1;8966:31;9020:4;9017:1;9010:15;9048:4;9045:1;9038:15;8931:132;-1:-1:-1;9077:9:1;;8875:217::o;9229:127::-;9290:10;9285:3;9281:20;9278:1;9271:31;9321:4;9318:1;9311:15;9345:4;9342:1;9335:15;9361:959;9623:4;9671:3;9660:9;9656:19;9702:6;9691:9;9684:25;9745:6;9740:2;9729:9;9725:18;9718:34;9788:3;9783:2;9772:9;9768:18;9761:31;9812:6;9847;9841:13;9878:6;9870;9863:22;9916:3;9905:9;9901:19;9894:26;;9955:2;9947:6;9943:15;9929:29;;9976:1;9986:195;10000:6;9997:1;9994:13;9986:195;;;10065:13;;-1:-1:-1;;;;;10061:39:1;10049:52;;10130:2;10156:15;;;;10121:12;;;;10097:1;10015:9;9986:195;;;-1:-1:-1;;;;;;;10237:32:1;;;;10232:2;10217:18;;10210:60;-1:-1:-1;;10301:3:1;10286:19;10279:35;10198:3;9361:959;-1:-1:-1;;;9361:959:1:o

Swarm Source

ipfs://48dccc12dd2fc16980dad3af83470c91e62816e67368af76faa07f74e2e280c3
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.