ETH Price: $2,346.79 (-1.47%)

Token

Print The Pepe 2.0 (PP2.0)
 

Overview

Max Total Supply

69,696,969 PP2.0

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.127933216 PP2.0

Value
$0.00
0x6d73d8307b10E80440F2bc8A0FE990e0B4B0a522
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:
PrintThePepe20

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-29
*/

/*

Website: https://printthepepe20.com
Twitter: https://twitter.com/PrintThePepe20
Telegram: https://t.me/PrintThePepe2

*/


// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.13;

/**
 * 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 PEPE20 = address(0xfb66321D7C674995dFcC2cb67A30bC978dc862AD); //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(PEPE20).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 PrintThePepe20 is IERC20, Auth {
    using SafeMath for uint256;

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

    address public immutable PEPE20 = address(0xfb66321D7C674995dFcC2cb67A30bC978dc862AD); //UNI

    string private constant  _name = "Print The Pepe 2.0";
    string private constant _symbol = "PP2.0";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 69696969 * (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 = 14;
    uint256 private feeDenominator = 100;

    address payable public marketingWallet = payable(0xCb1a15d1675f26b960e91661864Ae666E7Da6204);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 1393939 * (10 ** _decimals);
    uint256 public numTokensSellToAddToLiquidity = 278787 * 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));
        swapTokensForPEPE20(amountToSwap.div(2));

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

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

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

    

    function swapTokensForPEPE20(uint256 tokenAmount) private {

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

        // 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 _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 <= 14, "Fee can't exceed 14%");
        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 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":"PEPE20","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":[{"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"}]

60a0604052600280546001600160a01b031990811661dead1790915560038054909116905573fb66321d7c674995dfcc2cb67a30bc978dc862ad6080526200004a6009600a62000519565b6200005a906304277dc962000531565b6004819055600555600e600c8190556064600d5580546001600160a01b03191673cb1a15d1675f26b960e91661864ae666e7da62041790556012805461ff001916610100179055620000af6009600a62000519565b620000be906215451362000531565b60135565fd8e281a5e006014556015805460ff60a01b19169055348015620000e557600080fd5b50604051620032f1380380620032f1833981016040819052620001089162000553565b600080546001600160a01b03199081166001600160a01b03841617909155600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000181573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a7919062000553565b600180546001600160a01b0319166001600160a01b03928316179055600f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000206573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022c919062000553565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a4919062000553565b601080546001600160a01b0319166001600160a01b03928316179055306000908152600760209081526040808320600f5490941683529290528190206000199055518190620002f390620003f6565b6001600160a01b039091168152602001604051809103906000f08015801562000320573d6000803e3d6000fd5b50601580546001600160a01b0319166001600160a01b039283161790558181166000818152600960209081526040808320805460ff199081166001908117909255600e5487168552828520805482168317905560105487168552600a8452828520805482168317905530855282852080548216831790556002549096168452818420805490961617909455600454838352600682528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200057e565b610da0806200255183390190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200045b5781600019048211156200043f576200043f62000404565b808516156200044d57918102915b93841c93908002906200041f565b509250929050565b600082620004745750600162000513565b81620004835750600062000513565b81600181146200049c5760028114620004a757620004c7565b600191505062000513565b60ff841115620004bb57620004bb62000404565b50506001821b62000513565b5060208310610133831016604e8410600b8410161715620004ec575081810a62000513565b620004f883836200041a565b80600019048211156200050f576200050f62000404565b0290505b92915050565b60006200052a60ff84168362000463565b9392505050565b60008160001904831182151516156200054e576200054e62000404565b500290565b6000602082840312156200056657600080fd5b81516001600160a01b03811681146200052a57600080fd5b608051611fa2620005af6000396000818161036f01528181611743015281816117e50152611b8a0152611fa26000f3fe60806040526004361061021e5760003560e01c806370a0823111610123578063bf56b371116100ab578063f0fc6bca1161006f578063f0fc6bca146106b6578063f2fde38b146106cb578063f4293890146106eb578063f708a64f14610700578063f887ea401461072057600080fd5b8063bf56b3711461060e578063bffb691d14610624578063c9567bf914610645578063d12a76881461065a578063dd62ed3e1461067057600080fd5b80638ecc37fb116100f25780638ecc37fb1461054757806395d89b4114610567578063a8aa1b3114610595578063a9059cbb146105b5578063b1a4e0dc146105d557600080fd5b806370a08231146104be578063736a83a1146104f457806375f0a87414610509578063893d20e81461052957600080fd5b80632f54bf6e116101a65780635cc33f74116101755780635cc33f74146104295780635d098b3814610449578063658d4b7f1461046957806367ee5f091461048957806369fe0e2d1461049e57600080fd5b80632f54bf6e146103a9578063313ce567146103d85780633e07ce5b146103f4578063571ac8b01461040957600080fd5b806323b63585116101ed57806323b63585146102e857806323b872dd1461030857806329e04b4a146103285780632b112e49146103485780632becb9a11461035d57600080fd5b806306fdde031461022a578063095ea7b31461027757806315f7e05e146102a757806318160ddd146102c957600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5060408051808201909152601281527105072696e7420546865205065706520322e360741b60208201525b60405161026e9190611c84565b60405180910390f35b34801561028357600080fd5b50610297610292366004611cf1565b610740565b604051901515815260200161026e565b3480156102b357600080fd5b506102c76102c2366004611d1d565b6107ad565b005b3480156102d557600080fd5b506004545b60405190815260200161026e565b3480156102f457600080fd5b50610297610303366004611d3a565b610842565b34801561031457600080fd5b50610297610323366004611d53565b610885565b34801561033457600080fd5b506102c7610343366004611d3a565b610947565b34801561035457600080fd5b506102da6109d4565b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026e565b3480156103b557600080fd5b506102976103c4366004611d1d565b6000546001600160a01b0391821691161490565b3480156103e457600080fd5b506040516009815260200161026e565b34801561040057600080fd5b506102c7610a26565b34801561041557600080fd5b50610297610424366004611d1d565b610a5d565b34801561043557600080fd5b506102da610444366004611d1d565b610a6b565b34801561045557600080fd5b506102c7610464366004611d1d565b610adb565b34801561047557600080fd5b506102c7610484366004611da2565b610b27565b34801561049557600080fd5b506102da610b7c565b3480156104aa57600080fd5b506102c76104b9366004611d3a565b610bea565b3480156104ca57600080fd5b506102da6104d9366004611d1d565b6001600160a01b031660009081526006602052604090205490565b34801561050057600080fd5b506102da610c61565b34801561051557600080fd5b50600e54610391906001600160a01b031681565b34801561053557600080fd5b506000546001600160a01b0316610391565b34801561055357600080fd5b506102da610562366004611d1d565b610cab565b34801561057357600080fd5b5060408051808201909152600581526405050322e360dc1b6020820152610261565b3480156105a157600080fd5b50601054610391906001600160a01b031681565b3480156105c157600080fd5b506102976105d0366004611cf1565b610cde565b3480156105e157600080fd5b506102976105f0366004611d1d565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561061a57600080fd5b506102da60115481565b34801561063057600080fd5b5060155461029790600160a01b900460ff1681565b34801561065157600080fd5b506102c7610ceb565b34801561066657600080fd5b506102da60145481565b34801561067c57600080fd5b506102da61068b366004611ddb565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106c257600080fd5b506102c7610d28565b3480156106d757600080fd5b506102c76106e6366004611d1d565b610d87565b3480156106f757600080fd5b506102c7610e05565b34801561070c57600080fd5b506102c761071b366004611da2565b610e6d565b34801561072c57600080fd5b50600f54610391906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079b9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107e05760405162461bcd60e51b81526004016107d790611e09565b60405180910390fd5b601554604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b5050505050565b600080546001600160a01b0316331461086d5760405162461bcd60e51b81526004016107d790611e09565b6002546107a79030906001600160a01b031684610ea1565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610932576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260078252838120338252909152919091205461090d918490610f87565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61093d848484610fc1565b90505b9392505050565b6000546001600160a01b031633146109715760405162461bcd60e51b81526004016107d790611e09565b60045461097f9060646114ec565b8111156109c05760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b60448201526064016107d7565b6109ce81633b9aca00611e3f565b60145550565b6003546001600160a01b0316600090815260066020526040812054610a21906002546001600160a01b0316600090815260066020526040902054610a1b906004549061152e565b9061152e565b905090565b6000546001600160a01b03163314610a505760405162461bcd60e51b81526004016107d790611e09565b6012805461ff0019169055565b60006107a782600019610740565b601554604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190611e5e565b6000546001600160a01b03163314610b055760405162461bcd60e51b81526004016107d790611e09565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b515760405162461bcd60e51b81526004016107d790611e09565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6015546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190611e5e565b6000546001600160a01b03163314610c145760405162461bcd60e51b81526004016107d790611e09565b600e811115610c5c5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b60448201526064016107d7565b600c55565b6015546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610bc6573d6000803e3d6000fd5b601554604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610a9a565b6000610940338484610fc1565b6000546001600160a01b03163314610d155760405162461bcd60e51b81526004016107d790611e09565b436011556012805460ff19166001179055565b601554604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610d6d57600080fd5b505af1158015610d81573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610db15760405162461bcd60e51b81526004016107d790611e09565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610e2f5760405162461bcd60e51b81526004016107d790611e09565b600e5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e69573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610e975760405162461bcd60e51b81526004016107d790611e09565b610e698282611570565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ef2918490610f87565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f219083611681565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f759086815260200190565b60405180910390a35060019392505050565b60008184841115610fab5760405162461bcd60e51b81526004016107d79190611c84565b506000610fb88486611e77565b95945050505050565b600080546001600160a01b03858116911614801590610fee57506000546001600160a01b03848116911614155b156110455760125460ff166110455760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107d7565b601554600160a01b900460ff16156110ce576001600160a01b0384166000908152600b602052604090205460ff1615801561109957506001600160a01b0383166000908152600b602052604090205460ff16155b6110ce5760405162461bcd60e51b81526004016107d790602080825260049082015263426f742160e01b604082015260600190565b601254610100900460ff1615611150576000546001600160a01b0385811691161480159061110a57506000546001600160a01b03848116911614155b15611150576013548211156111505760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b60448201526064016107d7565b6010546001600160a01b03858116911614801561117b5750600f546001600160a01b03848116911614155b80156111a057506001600160a01b03831660009081526009602052604090205460ff16155b156111ee576001600160a01b03831660009081526008602052604090205442116111c957600080fd5b6111d442603c611e8e565b6001600160a01b0384166000908152600860205260409020555b601554600160a81b900460ff16156112125761120b848484610ea1565b9050610940565b30600090815260066020526040812054601454909190821080159190829061124757506010546001600160a01b038781169116145b8015611260575030600090815260066020526040812054115b90508015611270576112706116e0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600690915291909120546112c2918790610f87565b6001600160a01b0388166000908152600660205260408120919091556112e88888611907565b6112f257856112fc565b6112fc888761197c565b6001600160a01b0388166000908152600660205260409020549091506113229082611681565b6001600160a01b0380891660009081526006602052604090209190915560105489821691161480159061136e57506001600160a01b0388166000908152600a602052604090205460ff16155b156113e4576015546001600160a01b0389811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156113d157600080fd5b505af19250505080156113e2575060015b505b6010546001600160a01b0388811691161480159061141b57506001600160a01b0387166000908152600a602052604090205460ff16155b15611491576015546001600160a01b0388811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561147e57600080fd5b505af192505050801561148f575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d691815260200190565b60405180910390a3506001979650505050505050565b600061094083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a28565b600061094083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f87565b6001600160a01b038216301480159061159757506010546001600160a01b03838116911614155b6115a057600080fd5b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561163857601554604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b505050505050565b6015546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401611602565b60008061168e8385611e8e565b9050838110156109405760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107d7565b6015805460ff60a81b1916600160a81b1790553060009081526006602052604081205490506117186117138260026114ec565b611a56565b61172b6117268260026114ec565b611b01565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b69190611e5e565b60155460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118549190611ea6565b905080156118bb5760155460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b505050505b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156118f4573d6000803e3d6000fd5b50506015805460ff60a81b191690555050565b6001600160a01b03821660009081526009602052604081205460ff168061194657506001600160a01b03821660009081526009602052604090205460ff165b15801561094057506010546001600160a01b03848116911614806109405750506010546001600160a01b03908116911614919050565b6000806119a0600d5461199a600c5486611c0290919063ffffffff16565b906114ec565b306000908152600660205260409020549091506119bd9082611681565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a0e9085815260200190565b60405180910390a3611a20838261152e565b949350505050565b60008183611a495760405162461bcd60e51b81526004016107d79190611c84565b506000610fb88486611ec3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a8b57611a8b611ee5565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611abb57611abb611ee5565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac94790611602908590600090869030904290600401611efb565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611b3857611b38611ee5565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b6857611b68611ee5565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600281518110611bbc57611bbc611ee5565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d79590611602908590600090869030904290600401611efb565b600082600003611c14575060006107a7565b6000611c208385611e3f565b905082611c2d8583611ec3565b146109405760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107d7565b600060208083528351808285015260005b81811015611cb157858101830151858201604001528201611c95565b81811115611cc3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611cee57600080fd5b50565b60008060408385031215611d0457600080fd5b8235611d0f81611cd9565b946020939093013593505050565b600060208284031215611d2f57600080fd5b813561094081611cd9565b600060208284031215611d4c57600080fd5b5035919050565b600080600060608486031215611d6857600080fd5b8335611d7381611cd9565b92506020840135611d8381611cd9565b929592945050506040919091013590565b8015158114611cee57600080fd5b60008060408385031215611db557600080fd5b8235611dc081611cd9565b91506020830135611dd081611d94565b809150509250929050565b60008060408385031215611dee57600080fd5b8235611df981611cd9565b91506020830135611dd081611cd9565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611e5957611e59611e29565b500290565b600060208284031215611e7057600080fd5b5051919050565b600082821015611e8957611e89611e29565b500390565b60008219821115611ea157611ea1611e29565b500190565b600060208284031215611eb857600080fd5b815161094081611d94565b600082611ee057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f4b5784516001600160a01b031683529383019391830191600101611f26565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220148c50fcce40737a626a6859143ceec213a9838adc86b4df981c6fde1b6ed7e564736f6c634300080d003360a060405273fb66321d7c674995dfcc2cb67a30bc978dc862ad6080526ec097ce7bc90715b34b9f100000000060095534801561003b57600080fd5b50604051610da0380380610da083398101604081905261005a9161008d565b60008054336001600160a01b031991821617909155600180549091166001600160a01b03929092169190911790556100bd565b60006020828403121561009f57600080fd5b81516001600160a01b03811681146100b657600080fd5b9392505050565b608051610cc16100df6000396000818161016101526107410152610cc16000f3fe6080604052600436106100e15760003560e01c8063997664d71161007f578063ce7c2ac211610059578063ce7c2ac21461025a578063d54ad2a1146102b1578063e2d2e219146102c7578063ecd0c0c3146102dd57600080fd5b8063997664d714610204578063b2bdfa7b1461021a578063b6b55f251461023a57600080fd5b80632becb9a1116100bb5780632becb9a11461014f5780633a98ef39146101a05780635cc33f74146101c45780638ecc37fb146101e457600080fd5b80631014edf5146100ed57806314b6ca961461010f57806315f7e05e1461012f57600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610ad8565b6102fd565b005b34801561011b57600080fd5b5061010d61012a366004610b04565b61035d565b34801561013b57600080fd5b5061010d61014a366004610b2e565b6104d5565b34801561015b57600080fd5b506101837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac57600080fd5b506101b660055481565b604051908152602001610197565b3480156101d057600080fd5b506101b66101df366004610b2e565b6104f8565b3480156101f057600080fd5b506101b66101ff366004610b2e565b61058b565b34801561021057600080fd5b506101b660065481565b34801561022657600080fd5b50600154610183906001600160a01b031681565b34801561024657600080fd5b5061010d610255366004610b49565b610616565b34801561026657600080fd5b50610296610275366004610b2e565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610197565b3480156102bd57600080fd5b506101b660075481565b3480156102d357600080fd5b506101b660085481565b3480156102e957600080fd5b50600054610183906001600160a01b031681565b6001546001600160a01b0316331461031457600080fd5b476001600160a01b0382166108fc8461032d578261032f565b845b6040518115909202916000818181858888f19350505050158015610357573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331461037457600080fd5b6001600160a01b0382166000908152600460205260409020541561039b5761039b82610670565b6000811180156103c157506001600160a01b038216600090815260046020526040902054155b1561042757600280546001600160a01b0384166000818152600360205260408120839055600183018455929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905561045a565b8015801561044c57506001600160a01b03821660009081526004602052604090205415155b1561045a5761045a826107b4565b6001600160a01b03821660009081526004602052604090205460055461048b918391610485916108c9565b90610914565b6005556001600160a01b03821660009081526004602052604090208190556104b281610973565b6001600160a01b0390921660009081526004602052604090206001019190915550565b6000546001600160a01b031633146104ec57600080fd5b6104f581610670565b50565b6001600160a01b03811660009081526004602052604081205461056c5760405162461bcd60e51b815260206004820152602160248201527f596f75277265206e6f742061205052494e544552207368617265686f6c6465726044820152602160f81b60648201526084015b60405180910390fd5b506001600160a01b031660009081526004602052604090206002015490565b6001600160a01b03811660009081526004602052604081205481036105b257506000919050565b6001600160a01b0382166000908152600460205260408120546105d490610973565b6001600160a01b038416600090815260046020526040902060010154909150808211610604575060009392505050565b61060e82826108c9565b949350505050565b6000546001600160a01b0316331461062d57600080fd5b80156104f5576006546106409082610914565b60065560055460095461066a916106619161065b9085610990565b90610a12565b60085490610914565b60085550565b6001600160a01b03811660009081526004602052604081205490036106925750565b600061069d8261058b565b905080156107b0576007546106b29082610914565b6007556001600160a01b0382166000908152600460205260409020600201546106db9082610914565b6001600160a01b038316600090815260046020526040902060028101919091555461070590610973565b6001600160a01b03838116600081815260046020819052604091829020600101949094555163a9059cbb60e01b815292830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190610b62565b505b5050565b600280546107c490600190610b9a565b815481106107d4576107d4610bb1565b60009182526020808320909101546001600160a01b038481168452600390925260409092205460028054929093169291811061081257610812610bb1565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003918290526040812054600280549193929161085e90600190610b9a565b8154811061086e5761086e610bb1565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560028054806108a4576108a4610bc7565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061090b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a54565b90505b92915050565b6000806109218385610bdd565b90508381101561090b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610563565b600061090e60095461065b6008548561099090919063ffffffff16565b6000826000036109a25750600061090e565b60006109ae8385610bf5565b9050826109bb8583610c14565b1461090b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610563565b600061090b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a8e565b60008184841115610a785760405162461bcd60e51b81526004016105639190610c36565b506000610a858486610b9a565b95945050505050565b60008183610aaf5760405162461bcd60e51b81526004016105639190610c36565b506000610a858486610c14565b80356001600160a01b0381168114610ad357600080fd5b919050565b60008060408385031215610aeb57600080fd5b82359150610afb60208401610abc565b90509250929050565b60008060408385031215610b1757600080fd5b610b2083610abc565b946020939093013593505050565b600060208284031215610b4057600080fd5b61090b82610abc565b600060208284031215610b5b57600080fd5b5035919050565b600060208284031215610b7457600080fd5b8151801515811461090b57600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015610bac57610bac610b84565b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60008219821115610bf057610bf0610b84565b500190565b6000816000190483118215151615610c0f57610c0f610b84565b500290565b600082610c3157634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015610c6357858101830151858201604001528201610c47565b81811115610c75576000604083870101525b50601f01601f191692909201604001939250505056fea264697066735822122096612461e3ee66cbe6e73a86e59ee9353618c3a84f9850beb79f29ee23e2e96e64736f6c634300080d0033000000000000000000000000bfbbd14acc9eb2b55e2fa3623c85435e438119af

Deployed Bytecode

0x60806040526004361061021e5760003560e01c806370a0823111610123578063bf56b371116100ab578063f0fc6bca1161006f578063f0fc6bca146106b6578063f2fde38b146106cb578063f4293890146106eb578063f708a64f14610700578063f887ea401461072057600080fd5b8063bf56b3711461060e578063bffb691d14610624578063c9567bf914610645578063d12a76881461065a578063dd62ed3e1461067057600080fd5b80638ecc37fb116100f25780638ecc37fb1461054757806395d89b4114610567578063a8aa1b3114610595578063a9059cbb146105b5578063b1a4e0dc146105d557600080fd5b806370a08231146104be578063736a83a1146104f457806375f0a87414610509578063893d20e81461052957600080fd5b80632f54bf6e116101a65780635cc33f74116101755780635cc33f74146104295780635d098b3814610449578063658d4b7f1461046957806367ee5f091461048957806369fe0e2d1461049e57600080fd5b80632f54bf6e146103a9578063313ce567146103d85780633e07ce5b146103f4578063571ac8b01461040957600080fd5b806323b63585116101ed57806323b63585146102e857806323b872dd1461030857806329e04b4a146103285780632b112e49146103485780632becb9a11461035d57600080fd5b806306fdde031461022a578063095ea7b31461027757806315f7e05e146102a757806318160ddd146102c957600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5060408051808201909152601281527105072696e7420546865205065706520322e360741b60208201525b60405161026e9190611c84565b60405180910390f35b34801561028357600080fd5b50610297610292366004611cf1565b610740565b604051901515815260200161026e565b3480156102b357600080fd5b506102c76102c2366004611d1d565b6107ad565b005b3480156102d557600080fd5b506004545b60405190815260200161026e565b3480156102f457600080fd5b50610297610303366004611d3a565b610842565b34801561031457600080fd5b50610297610323366004611d53565b610885565b34801561033457600080fd5b506102c7610343366004611d3a565b610947565b34801561035457600080fd5b506102da6109d4565b34801561036957600080fd5b506103917f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad81565b6040516001600160a01b03909116815260200161026e565b3480156103b557600080fd5b506102976103c4366004611d1d565b6000546001600160a01b0391821691161490565b3480156103e457600080fd5b506040516009815260200161026e565b34801561040057600080fd5b506102c7610a26565b34801561041557600080fd5b50610297610424366004611d1d565b610a5d565b34801561043557600080fd5b506102da610444366004611d1d565b610a6b565b34801561045557600080fd5b506102c7610464366004611d1d565b610adb565b34801561047557600080fd5b506102c7610484366004611da2565b610b27565b34801561049557600080fd5b506102da610b7c565b3480156104aa57600080fd5b506102c76104b9366004611d3a565b610bea565b3480156104ca57600080fd5b506102da6104d9366004611d1d565b6001600160a01b031660009081526006602052604090205490565b34801561050057600080fd5b506102da610c61565b34801561051557600080fd5b50600e54610391906001600160a01b031681565b34801561053557600080fd5b506000546001600160a01b0316610391565b34801561055357600080fd5b506102da610562366004611d1d565b610cab565b34801561057357600080fd5b5060408051808201909152600581526405050322e360dc1b6020820152610261565b3480156105a157600080fd5b50601054610391906001600160a01b031681565b3480156105c157600080fd5b506102976105d0366004611cf1565b610cde565b3480156105e157600080fd5b506102976105f0366004611d1d565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561061a57600080fd5b506102da60115481565b34801561063057600080fd5b5060155461029790600160a01b900460ff1681565b34801561065157600080fd5b506102c7610ceb565b34801561066657600080fd5b506102da60145481565b34801561067c57600080fd5b506102da61068b366004611ddb565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106c257600080fd5b506102c7610d28565b3480156106d757600080fd5b506102c76106e6366004611d1d565b610d87565b3480156106f757600080fd5b506102c7610e05565b34801561070c57600080fd5b506102c761071b366004611da2565b610e6d565b34801561072c57600080fd5b50600f54610391906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079b9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107e05760405162461bcd60e51b81526004016107d790611e09565b60405180910390fd5b601554604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e90602401600060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b5050505050565b600080546001600160a01b0316331461086d5760405162461bcd60e51b81526004016107d790611e09565b6002546107a79030906001600160a01b031684610ea1565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610932576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260078252838120338252909152919091205461090d918490610f87565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61093d848484610fc1565b90505b9392505050565b6000546001600160a01b031633146109715760405162461bcd60e51b81526004016107d790611e09565b60045461097f9060646114ec565b8111156109c05760405162461bcd60e51b815260206004820152600f60248201526e63616e27742065786365656420312560881b60448201526064016107d7565b6109ce81633b9aca00611e3f565b60145550565b6003546001600160a01b0316600090815260066020526040812054610a21906002546001600160a01b0316600090815260066020526040902054610a1b906004549061152e565b9061152e565b905090565b6000546001600160a01b03163314610a505760405162461bcd60e51b81526004016107d790611e09565b6012805461ff0019169055565b60006107a782600019610740565b601554604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190611e5e565b6000546001600160a01b03163314610b055760405162461bcd60e51b81526004016107d790611e09565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b515760405162461bcd60e51b81526004016107d790611e09565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6015546040805163997664d760e01b815290516000926001600160a01b03169163997664d79160048083019260209291908290030181865afa158015610bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190611e5e565b6000546001600160a01b03163314610c145760405162461bcd60e51b81526004016107d790611e09565b600e811115610c5c5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031342560601b60448201526064016107d7565b600c55565b6015546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a19160048083019260209291908290030181865afa158015610bc6573d6000803e3d6000fd5b601554604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610a9a565b6000610940338484610fc1565b6000546001600160a01b03163314610d155760405162461bcd60e51b81526004016107d790611e09565b436011556012805460ff19166001179055565b601554604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610d6d57600080fd5b505af1158015610d81573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610db15760405162461bcd60e51b81526004016107d790611e09565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610e2f5760405162461bcd60e51b81526004016107d790611e09565b600e5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e69573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610e975760405162461bcd60e51b81526004016107d790611e09565b610e698282611570565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ef2918490610f87565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f219083611681565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f759086815260200190565b60405180910390a35060019392505050565b60008184841115610fab5760405162461bcd60e51b81526004016107d79190611c84565b506000610fb88486611e77565b95945050505050565b600080546001600160a01b03858116911614801590610fee57506000546001600160a01b03848116911614155b156110455760125460ff166110455760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107d7565b601554600160a01b900460ff16156110ce576001600160a01b0384166000908152600b602052604090205460ff1615801561109957506001600160a01b0383166000908152600b602052604090205460ff16155b6110ce5760405162461bcd60e51b81526004016107d790602080825260049082015263426f742160e01b604082015260600190565b601254610100900460ff1615611150576000546001600160a01b0385811691161480159061110a57506000546001600160a01b03848116911614155b15611150576013548211156111505760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b60448201526064016107d7565b6010546001600160a01b03858116911614801561117b5750600f546001600160a01b03848116911614155b80156111a057506001600160a01b03831660009081526009602052604090205460ff16155b156111ee576001600160a01b03831660009081526008602052604090205442116111c957600080fd5b6111d442603c611e8e565b6001600160a01b0384166000908152600860205260409020555b601554600160a81b900460ff16156112125761120b848484610ea1565b9050610940565b30600090815260066020526040812054601454909190821080159190829061124757506010546001600160a01b038781169116145b8015611260575030600090815260066020526040812054115b90508015611270576112706116e0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600690915291909120546112c2918790610f87565b6001600160a01b0388166000908152600660205260408120919091556112e88888611907565b6112f257856112fc565b6112fc888761197c565b6001600160a01b0388166000908152600660205260409020549091506113229082611681565b6001600160a01b0380891660009081526006602052604090209190915560105489821691161480159061136e57506001600160a01b0388166000908152600a602052604090205460ff16155b156113e4576015546001600160a01b0389811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156113d157600080fd5b505af19250505080156113e2575060015b505b6010546001600160a01b0388811691161480159061141b57506001600160a01b0387166000908152600a602052604090205460ff16155b15611491576015546001600160a01b0388811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561147e57600080fd5b505af192505050801561148f575060015b505b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d691815260200190565b60405180910390a3506001979650505050505050565b600061094083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a28565b600061094083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f87565b6001600160a01b038216301480159061159757506010546001600160a01b03838116911614155b6115a057600080fd5b6001600160a01b0382166000908152600a60205260409020805460ff1916821580159190911790915561163857601554604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b505050505050565b6015546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401611602565b60008061168e8385611e8e565b9050838110156109405760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107d7565b6015805460ff60a81b1916600160a81b1790553060009081526006602052604081205490506117186117138260026114ec565b611a56565b61172b6117268260026114ec565b611b01565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad6001600160a01b0316906370a0823190602401602060405180830381865afa158015611792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b69190611e5e565b60155460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529192506000917f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad9091169063a9059cbb906044016020604051808303816000875af1158015611830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118549190611ea6565b905080156118bb5760155460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b505050505b600e546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156118f4573d6000803e3d6000fd5b50506015805460ff60a81b191690555050565b6001600160a01b03821660009081526009602052604081205460ff168061194657506001600160a01b03821660009081526009602052604090205460ff165b15801561094057506010546001600160a01b03848116911614806109405750506010546001600160a01b03908116911614919050565b6000806119a0600d5461199a600c5486611c0290919063ffffffff16565b906114ec565b306000908152600660205260409020549091506119bd9082611681565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a0e9085815260200190565b60405180910390a3611a20838261152e565b949350505050565b60008183611a495760405162461bcd60e51b81526004016107d79190611c84565b506000610fb88486611ec3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a8b57611a8b611ee5565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611abb57611abb611ee5565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac94790611602908590600090869030904290600401611efb565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611b3857611b38611ee5565b6001600160a01b0392831660209182029290920101526001805483519216918391908110611b6857611b68611ee5565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000fb66321d7c674995dfcc2cb67a30bc978dc862ad81600281518110611bbc57611bbc611ee5565b6001600160a01b039283166020918202929092010152600f54604051635c11d79560e01b8152911690635c11d79590611602908590600090869030904290600401611efb565b600082600003611c14575060006107a7565b6000611c208385611e3f565b905082611c2d8583611ec3565b146109405760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107d7565b600060208083528351808285015260005b81811015611cb157858101830151858201604001528201611c95565b81811115611cc3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611cee57600080fd5b50565b60008060408385031215611d0457600080fd5b8235611d0f81611cd9565b946020939093013593505050565b600060208284031215611d2f57600080fd5b813561094081611cd9565b600060208284031215611d4c57600080fd5b5035919050565b600080600060608486031215611d6857600080fd5b8335611d7381611cd9565b92506020840135611d8381611cd9565b929592945050506040919091013590565b8015158114611cee57600080fd5b60008060408385031215611db557600080fd5b8235611dc081611cd9565b91506020830135611dd081611d94565b809150509250929050565b60008060408385031215611dee57600080fd5b8235611df981611cd9565b91506020830135611dd081611cd9565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611e5957611e59611e29565b500290565b600060208284031215611e7057600080fd5b5051919050565b600082821015611e8957611e89611e29565b500390565b60008219821115611ea157611ea1611e29565b500190565b600060208284031215611eb857600080fd5b815161094081611d94565b600082611ee057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f4b5784516001600160a01b031683529383019391830191600101611f26565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220148c50fcce40737a626a6859143ceec213a9838adc86b4df981c6fde1b6ed7e564736f6c634300080d0033

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

000000000000000000000000bfbbd14acc9eb2b55e2fa3623c85435e438119af

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bfbbd14acc9eb2b55e2fa3623c85435e438119af


Deployed Bytecode Sourcemap

9443:11383:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12188:80;;;;;;;;;;-1:-1:-1;12260:5:0;;;;;;;;;;;;-1:-1:-1;;;12260:5:0;;;;12188:80;;;;;;;:::i;:::-;;;;;;;;12610:216;;;;;;;;;;-1:-1:-1;12610:216:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;12610:216:0;1072:187:1;19266:110:0;;;;;;;;;;-1:-1:-1;19266:110:0;;;;;:::i;:::-;;:::i;:::-;;11918:88;;;;;;;;;;-1:-1:-1;11991:12:0;;11918:88;;;1662:25:1;;;1650:2;1635:18;11918:88:0;1516:177:1;19556:139:0;;;;;;;;;;-1:-1:-1;19556:139:0;;;;;:::i;:::-;;:::i;13128:370::-;;;;;;;;;;-1:-1:-1;13128:370:0;;;;;:::i;:::-;;:::i;20611:206::-;;;;;;;;;;-1:-1:-1;20611:206:0;;;;;:::i;:::-;;:::i;19707:142::-;;;;;;;;;;;;;:::i;9698:85::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2508:32:1;;;2490:51;;2478:2;2463:18;9698:85:0;2344:203:1;2967:103:0;;;;;;;;;;-1:-1:-1;2967:103:0;;;;;:::i;:::-;3022:4;3057:5;-1:-1:-1;;;;;3046:16:0;;;3057:5;;3046:16;;2967:103;12012:80;;;;;;;;;;-1:-1:-1;12012:80:0;;9941:1;2694:36:1;;2682:2;2667:18;12012:80:0;2552:184:1;20413:80:0;;;;;;;;;;;;;:::i;12834:122::-;;;;;;;;;;-1:-1:-1;12834:122:0;;;;;:::i;:::-;;:::i;20248:157::-;;;;;;;;;;-1:-1:-1;20248:157:0;;;;;:::i;:::-;;:::i;19857:135::-;;;;;;;;;;-1:-1:-1;19857:135:0;;;;;:::i;:::-;;:::i;18706:119::-;;;;;;;;;;-1:-1:-1;18706:119:0;;;;;:::i;:::-;;:::i;20001:115::-;;;;;;;;;;;;;:::i;18833:139::-;;;;;;;;;;-1:-1:-1;18833:139:0;;;;;:::i;:::-;;:::i;12358:105::-;;;;;;;;;;-1:-1:-1;12358:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12442:18:0;12424:7;12442:18;;;:9;:18;;;;;;;12358:105;20128:111;;;;;;;;;;;;;:::i;10511:92::-;;;;;;;;;;-1:-1:-1;10511:92:0;;;;-1:-1:-1;;;;;10511:92:0;;;12274:78;;;;;;;;;;-1:-1:-1;12326:7:0;12344:5;-1:-1:-1;;;;;12344:5:0;12274:78;;19388:156;;;;;;;;;;-1:-1:-1;19388:156:0;;;;;:::i;:::-;;:::i;12098:84::-;;;;;;;;;;-1:-1:-1;12172:7:0;;;;;;;;;;;;-1:-1:-1;;;12172:7:0;;;;12098:84;;10643:19;;;;;;;;;;-1:-1:-1;10643:19:0;;;;-1:-1:-1;;;;;10643:19:0;;;12964:156;;;;;;;;;;-1:-1:-1;12964:156:0;;;;;:::i;:::-;;:::i;20501:102::-;;;;;;;;;;-1:-1:-1;20501:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;20581:14:0;20557:4;20581:14;;;:5;:14;;;;;;;;;20501:102;10671:25;;;;;;;;;;;;;;;;10954:36;;;;;;;;;;-1:-1:-1;10954:36:0;;;;-1:-1:-1;;;10954:36:0;;;;;;18086:115;;;;;;;;;;;;;:::i;10828:61::-;;;;;;;;;;;;;;;;12469:133;;;;;;;;;;-1:-1:-1;12469:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12571:19:0;;;12553:7;12571:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12469:133;19164:90;;;;;;;;;;;;;:::i;3195:136::-;;;;;;;;;;-1:-1:-1;3195:136:0;;;;;:::i;:::-;;:::i;18982:174::-;;;;;;;;;;;;;:::i;18566:132::-;;;;;;;;;;-1:-1:-1;18566:132:0;;;;;:::i;:::-;;:::i;10612:24::-;;;;;;;;;;-1:-1:-1;10612:24:0;;;;-1:-1:-1;;;;;10612:24:0;;;12610:216;12714:10;12685:4;12702:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12702:32:0;;;;;;;;;;:41;;;12759:37;12685:4;;12702:32;;12759:37;;;;12737:6;1662:25:1;;1650:2;1635:18;;1516:177;12759:37:0;;;;;;;;-1:-1:-1;12814:4:0;12610:216;;;;;:::o;19266:110::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;;;;;;;;;19335:11:::1;::::0;:33:::1;::::0;-1:-1:-1;;;19335:33:0;;-1:-1:-1;;;;;2508:32:1;;;19335:33:0::1;::::0;::::1;2490:51:1::0;19335:11:0;;::::1;::::0;:25:::1;::::0;2463:18:1;;19335:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19266:110:::0;:::o;19556:139::-;19620:4;3057:5;;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;19674:4:::1;::::0;19644:43:::1;::::0;19667:4:::1;::::0;-1:-1:-1;;;;;19674:4:0::1;19680:6:::0;19644:14:::1;:43::i;13128:370::-:0;-1:-1:-1;;;;;13248:19:0;;13228:4;13248:19;;;:11;:19;;;;;;;;13268:10;13248:31;;;;;;;;-1:-1:-1;;13248:52:0;13245:186;;13350:69;;;;;;;;;;;-1:-1:-1;;;13350:69:0;;;;;;;;-1:-1:-1;;;;;13350:19:0;;-1:-1:-1;13350:19:0;;;:11;:19;;;;;13370:10;13350:31;;;;;;;;;;:69;;13386:6;;13350:35;:69::i;:::-;-1:-1:-1;;;;;13316:19:0;;;;;;:11;:19;;;;;;;;13336:10;13316:31;;;;;;;:103;13245:186;13450:40;13464:6;13472:9;13483:6;13450:13;:40::i;:::-;13443:47;;13128:370;;;;;;:::o;20611:206::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;20709:12:::1;::::0;:21:::1;::::0;20726:3:::1;20709:16;:21::i;:::-;20699:6;:31;;20690:60;;;::::0;-1:-1:-1;;;20690:60:0;;4890:2:1;20690:60:0::1;::::0;::::1;4872:21:1::0;4929:2;4909:18;;;4902:30;-1:-1:-1;;;4948:18:1;;;4941:45;5003:18;;20690:60:0::1;4688:339:1::0;20690:60:0::1;20793:16;:6:::0;20802:7:::1;20793:16;:::i;:::-;20761:29;:48:::0;-1:-1:-1;20611:206:0:o;19707:142::-;19835:4;;-1:-1:-1;;;;;19835:4:0;19760:7;12442:18;;;:9;:18;;;;;;19787:54;;19814:4;;-1:-1:-1;;;;;19814:4:0;12424:7;12442:18;;;:9;:18;;;;;;19787:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;19780:61;;19707:142;:::o;20413:80::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;20469:8:::1;:16:::0;;-1:-1:-1;;20469:16:0::1;::::0;;20413:80::o;12834:122::-;12889:4;12913:35;12921:7;-1:-1:-1;;12913:7:0;:35::i;20248:157::-;20351:11;;:46;;-1:-1:-1;;;20351:46:0;;-1:-1:-1;;;;;2508:32:1;;;20351:46:0;;;2490:51:1;20324:7:0;;20351:11;;:33;;2463:18:1;;20351:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19857:135::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;19941:15:::1;:43:::0;;-1:-1:-1;;;;;;19941:43:0::1;-1:-1:-1::0;;;;;19941:43:0;;;::::1;::::0;;;::::1;::::0;;19857:135::o;18706:119::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18789:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;18789:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18706:119::o;20001:115::-;20080:11;;:28;;;-1:-1:-1;;;20080:28:0;;;;20053:7;;-1:-1:-1;;;;;20080:11:0;;:26;;:28;;;;;;;;;;;;;;:11;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18833:139::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;18911:2:::1;18903:4;:10;;18894:44;;;::::0;-1:-1:-1;;;18894:44:0;;5728:2:1;18894:44:0::1;::::0;::::1;5710:21:1::0;5767:2;5747:18;;;5740:30;-1:-1:-1;;;5786:18:1;;;5779:50;5846:18;;18894:44:0::1;5526:344:1::0;18894:44:0::1;18949:8;:15:::0;18833:139::o;20128:111::-;20205:11;;:26;;;-1:-1:-1;;;20205:26:0;;;;20178:7;;-1:-1:-1;;;;;20205:11:0;;:24;;:26;;;;;;;;;;;;;;:11;:26;;;;;;;;;;;;;;19388:156;19489:11;;:47;;-1:-1:-1;;;19489:47:0;;-1:-1:-1;;;;;2508:32:1;;;19489:47:0;;;2490:51:1;19462:7:0;;19489:11;;:34;;2463:18:1;;19489:47:0;2344:203:1;12964:156:0;13044:4;13068:44;13082:10;13094:9;13105:6;13068:13;:44::i;18086:115::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;18152:12:::1;18139:10;:25:::0;18175:11:::1;:18:::0;;-1:-1:-1;;18175:18:0::1;18189:4;18175:18;::::0;;18086:115::o;19164:90::-;19209:11;;:37;;-1:-1:-1;;;19209:37:0;;19235:10;19209:37;;;2490:51:1;-1:-1:-1;;;;;19209:11:0;;;;:25;;2463:18:1;;19209:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19164:90::o;3195:136::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;3271:5:::1;:11:::0;;-1:-1:-1;;;;;;3271:11:0::1;-1:-1:-1::0;;;;;3271:11:0;::::1;::::0;;::::1;::::0;;;3298:25:::1;::::0;2490:51:1;;;3298:25:0::1;::::0;2478:2:1;2463:18;3298:25:0::1;;;;;;;3195:136:::0;:::o;18982:174::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;19103:15:::1;::::0;19095:53:::1;::::0;19063:21:::1;::::0;-1:-1:-1;;;;;19103:15:0::1;::::0;19095:53;::::1;;;::::0;19063:21;;19034:26:::1;19095:53:::0;19034:26;19095:53;19063:21;19103:15;19095:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19023:133;18982:174::o:0;18566:132::-;3022:4;3057:5;-1:-1:-1;;;;;3057:5:0;2874:10;3046:16;2858:38;;;;-1:-1:-1;;;2858:38:0;;;;;;;:::i;:::-;18654:36:::1;18675:6;18683;18654:20;:36::i;15270:330::-:0;15400:53;;;;;;;;;;;-1:-1:-1;;;15400:53:0;;;;;;;;-1:-1:-1;;;;;15400:17:0;;15363:4;15400:17;;;:9;:17;;;;;;;:53;;15422:6;;15400:21;:53::i;:::-;-1:-1:-1;;;;;15380:17:0;;;;;;;:9;:17;;;;;;:73;;;;15487:20;;;;;;;:32;;15512:6;15487:24;:32::i;:::-;-1:-1:-1;;;;;15464:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15535:35;;;;;;;;;;15563:6;1662:25:1;;1650:2;1635:18;;1516:177;15535:35:0;;;;;;;;-1:-1:-1;15588:4:0;15270:330;;;;;:::o;629:192::-;715:7;751:12;743:6;;;;735:29;;;;-1:-1:-1;;;735:29:0;;;;;;;;:::i;:::-;-1:-1:-1;775:9:0;787:5;791:1;787;:5;:::i;:::-;775:17;629:192;-1:-1:-1;;;;;629:192:0:o;13506:1752::-;13598:4;13628:5;;-1:-1:-1;;;;;13619:14:0;;;13628:5;;13619:14;;;;:35;;-1:-1:-1;13649:5:0;;-1:-1:-1;;;;;13637:17:0;;;13649:5;;13637:17;;13619:35;13615:89;;;13664:11;;;;13656:48;;;;-1:-1:-1;;;13656:48:0;;6423:2:1;13656:48:0;;;6405:21:1;6462:2;6442:18;;;6435:30;6501:26;6481:18;;;6474:54;6545:18;;13656:48:0;6221:348:1;13656:48:0;13759:16;;-1:-1:-1;;;13759:16:0;;;;13755:102;;;-1:-1:-1;;;;;13802:13:0;;;;;;:5;:13;;;;;;;;13801:14;:35;;;;-1:-1:-1;;;;;;13820:16:0;;;;;;:5;:16;;;;;;;;13819:17;13801:35;13792:53;;;;-1:-1:-1;;;13792:53:0;;;;;;6776:2:1;6758:21;;;6815:1;6795:18;;;6788:29;-1:-1:-1;;;6848:2:1;6833:18;;6826:34;6892:2;6877:18;;6574:327;13792:53:0;13871:8;;;;;;;13867:130;;;13909:5;;-1:-1:-1;;;;;13901:13:0;;;13909:5;;13901:13;;;;:34;;-1:-1:-1;13930:5:0;;-1:-1:-1;;;;;13918:17:0;;;13930:5;;13918:17;;13901:34;13897:80;;;13954:6;;13946;:14;;13937:40;;;;-1:-1:-1;;;13937:40:0;;7108:2:1;13937:40:0;;;7090:21:1;7147:2;7127:18;;;7120:30;-1:-1:-1;;;7166:18:1;;;7159:42;7218:18;;13937:40:0;6906:336:1;13937:40:0;14023:4;;-1:-1:-1;;;;;14013:14:0;;;14023:4;;14013:14;:46;;;;-1:-1:-1;14052:6:0;;-1:-1:-1;;;;;14031:28:0;;;14052:6;;14031:28;;14013:46;:73;;;;-1:-1:-1;;;;;;14064:22:0;;;;;;:11;:22;;;;;;;;14063:23;14013:73;14009:219;;;-1:-1:-1;;;;;14112:19:0;;;;;;:8;:19;;;;;;14134:15;-1:-1:-1;14103:47:0;;;;;;14187:28;:15;14205:10;14187:28;:::i;:::-;-1:-1:-1;;;;;14165:19:0;;;;;;:8;:19;;;;;:50;14009:219;14250:6;;-1:-1:-1;;;14250:6:0;;;;14247:63;;;14266:41;14281:6;14289:9;14300:6;14266:14;:41::i;:::-;14259:48;;;;14247:63;14377:4;14328:28;12442:18;;;:9;:18;;;;;;14447:29;;12442:18;;14423:53;;;;;;14328:28;14423:53;;14516:38;;-1:-1:-1;14550:4:0;;-1:-1:-1;;;;;14539:15:0;;;14550:4;;14539:15;14516:38;:70;;;;-1:-1:-1;14576:4:0;14585:1;12442:18;;;:9;:18;;;;;;14558:28;14516:70;14493:94;;14601:14;14598:33;;;14618:10;:8;:10::i;:::-;14663:53;;;;;;;;;;;-1:-1:-1;;;14663:53:0;;;;;;;;-1:-1:-1;;;;;14663:17:0;;-1:-1:-1;14663:17:0;;;:9;:17;;;;;;;;:53;;14685:6;;14663:21;:53::i;:::-;-1:-1:-1;;;;;14643:17:0;;;;;;:9;:17;;;;;:73;;;;14754:32;14653:6;14776:9;14754:13;:32::i;:::-;:67;;14815:6;14754:67;;;14789:23;14797:6;14805;14789:7;:23::i;:::-;-1:-1:-1;;;;;14865:20:0;;;;;;:9;:20;;;;;;14729:92;;-1:-1:-1;14865:40:0;;14729:92;14865:24;:40::i;:::-;-1:-1:-1;;;;;14842:20:0;;;;;;;:9;:20;;;;;:63;;;;14931:4;;14921:14;;;14931:4;;14921:14;;;;:43;;-1:-1:-1;;;;;;14940:24:0;;;;;;:16;:24;;;;;;;;14939:25;14921:43;14918:114;;;14971:11;;-1:-1:-1;;;;;15000:17:0;;;14971:11;15000:17;;;:9;:17;;;;;;;;14971:47;;-1:-1:-1;;;14971:47:0;;;;;7554:51:1;;;;7621:18;;;7614:34;14971:11:0;;;:20;;7527:18:1;;14971:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14967:63;;15058:4;;-1:-1:-1;;;;;15045:17:0;;;15058:4;;15045:17;;;;:49;;-1:-1:-1;;;;;;15067:27:0;;;;;;:16;:27;;;;;;;;15066:28;15045:49;15042:126;;;15101:11;;-1:-1:-1;;;;;15133:20:0;;;15101:11;15133:20;;;:9;:20;;;;;;;;15101:53;;-1:-1:-1;;;15101:53:0;;;;;7554:51:1;;;;7621:18;;;7614:34;15101:11:0;;;:20;;7527:18:1;;15101:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15097:69;;15202:9;-1:-1:-1;;;;;15185:43:0;15194:6;-1:-1:-1;;;;;15185:43:0;;15213:14;15185:43;;;;1662:25:1;;1650:2;1635:18;;1516:177;15185:43:0;;;;;;;;-1:-1:-1;15246:4:0;;13506:1752;-1:-1:-1;;;;;;;13506:1752:0:o;1083:132::-;1141:7;1168:39;1172:1;1175;1168:39;;;;;;;;;;;;;;;;;:3;:39::i;487:136::-;545:7;572:43;576:1;579;572:43;;;;;;;;;;;;;;;;;:3;:43::i;18221:337::-;-1:-1:-1;;;;;18308:23:0;;18326:4;18308:23;;;;:41;;-1:-1:-1;18345:4:0;;-1:-1:-1;;;;;18335:14:0;;;18345:4;;18335:14;;18308:41;18300:50;;;;;;-1:-1:-1;;;;;18361:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;18361:33:0;;;;;;;;;;;;18405:146;;18430:11;;:31;;-1:-1:-1;;;18430:31:0;;-1:-1:-1;;;;;7572:32:1;;;18430:31:0;;;7554:51:1;18430:11:0;7621:18:1;;;7614:34;18430:11:0;;;;:20;;7527:18:1;;18430:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19095:53:::1;19023:133;18982:174::o:0;18405:146::-;18492:11;;-1:-1:-1;;;;;18521:17:0;;;18492:11;18521:17;;;:9;:17;;;;;;;;18492:47;;-1:-1:-1;;;18492:47:0;;;;;7554:51:1;;;;7621:18;;;7614:34;18492:11:0;;;:20;;7527:18:1;;18492:47:0;7380:274:1;300:181:0;358:7;;390:5;394:1;390;:5;:::i;:::-;378:17;;419:1;414;:6;;406:46;;;;-1:-1:-1;;;406:46:0;;8148:2:1;406:46:0;;;8130:21:1;8187:2;8167:18;;;8160:30;8226:29;8206:18;;;8199:57;8273:18;;406:46:0;7946:351:1;16192:555:0;11045:6;:13;;-1:-1:-1;;;;11045:13:0;-1:-1:-1;;;11045:13:0;;;16284:4:::1;-1:-1:-1::0;12442:18:0;;;:9;:18;;;;;;16243:47;-1:-1:-1;16311:37:0::1;16328:19;16243:47:::0;16345:1:::1;16328:16;:19::i;:::-;16311:16;:37::i;:::-;16359:40;16379:19;:12:::0;16396:1:::1;16379:16;:19::i;:::-;16359;:40::i;:::-;16432:39;::::0;-1:-1:-1;;;16432:39:0;;16465:4:::1;16432:39;::::0;::::1;2490:51:1::0;16412:17:0::1;::::0;16439:6:::1;-1:-1:-1::0;;;;;16432:24:0::1;::::0;::::1;::::0;2463:18:1;;16432:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16531:11;::::0;16499:56:::1;::::0;-1:-1:-1;;;16499:56:0;;-1:-1:-1;;;;;16531:11:0;;::::1;16499:56;::::0;::::1;7554:51:1::0;7621:18;;;7614:34;;;16412:59:0;;-1:-1:-1;16484:12:0::1;::::0;16506:6:::1;16499:23:::0;;::::1;::::0;::::1;::::0;7527:18:1;;16499:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16484:71;;16572:7;16568:82;;;16596:11;::::0;:30:::1;::::0;-1:-1:-1;;;16596:30:0;;::::1;::::0;::::1;1662:25:1::0;;;-1:-1:-1;;;;;16596:11:0;;::::1;::::0;:19:::1;::::0;1635:18:1;;16596:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16568:82;16683:15;::::0;16675:56:::1;::::0;-1:-1:-1;;;;;16683:15:0;;::::1;::::0;16709:21:::1;16675:56:::0;::::1;;;::::0;16683:15:::1;16675:56:::0;16683:15;16675:56;16709:21;16683:15;16675:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11063:6:0;:14;;-1:-1:-1;;;;11063:14:0;;;-1:-1:-1;;16192:555:0:o;15611:206::-;-1:-1:-1;;;;;15720:19:0;;15692:4;15720:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;15743:22:0;;;;;;:11;:22;;;;;;;;15720:45;15718:48;:90;;;;-1:-1:-1;15782:4:0;;-1:-1:-1;;;;;15772:14:0;;;15782:4;;15772:14;;:35;;-1:-1:-1;;15803:4:0;;-1:-1:-1;;;;;15803:4:0;;;15790:17;;;;15611:206;-1:-1:-1;15611:206:0:o;15825:354::-;15892:7;15912:17;15952:40;15977:14;;15952:20;15963:8;;15952:6;:10;;:20;;;;:::i;:::-;:24;;:40::i;:::-;16048:4;16030:24;;;;:9;:24;;;;;;15940:52;;-1:-1:-1;16030:39:0;;15940:52;16030:28;:39::i;:::-;16021:4;16003:24;;;;:9;:24;;;;;;;:66;;;;16085:42;;-1:-1:-1;;;;;16085:42:0;;;;;;;16117:9;1662:25:1;;1650:2;1635:18;;1516:177;16085:42:0;;;;;;;;16150:21;:6;16161:9;16150:10;:21::i;:::-;16143:28;15825:354;-1:-1:-1;;;;15825:354:0:o;1221:345::-;1307:7;1409:12;1402:5;1394:28;;;;-1:-1:-1;;;1394:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1433:9:0;1445:5;1449:1;1445;:5;:::i;17205:489::-;17357:16;;;17371:1;17357:16;;;;;;;;17333:21;;17357:16;;;;;;;;;;-1:-1:-1;17357:16:0;17333:40;;17402:4;17384;17389:1;17384:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17384:23:0;;;:7;;;;;;;;;:23;17428:4;;;17418:7;;17428:4;;;17418;;17428;17418:7;;;;;;:::i;:::-;-1:-1:-1;;;;;17418:14:0;;;:7;;;;;;;;;:14;17471:6;;:215;;-1:-1:-1;;;17471:215:0;;:6;;;:57;;:215;;17543:11;;17471:6;;17613:4;;17640;;17660:15;;17471:215;;;:::i;16763:434::-;16858:16;;;16872:1;16858:16;;;;;;;;;16834:21;;16858:16;;;;;;;;;;-1:-1:-1;16858:16:0;16834:40;;16903:4;16885;16890:1;16885:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16885:23:0;;;:7;;;;;;;;;:23;16929:4;;;16919:7;;16929:4;;;16919;;16929;16919:7;;;;;;:::i;:::-;;;;;;:14;-1:-1:-1;;;;;16919:14:0;;;-1:-1:-1;;;;;16919:14:0;;;;;16954:6;16944:4;16949:1;16944:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16944:16:0;;;:7;;;;;;;;;:16;16999:6;;:190;;-1:-1:-1;;;16999:190:0;;:6;;;:60;;:190;;17074:11;;16999:6;;17116:4;;17143;;17163:15;;16999:190;;;:::i;827:250::-;885:7;909:1;914;909:6;905:47;;-1:-1:-1;939:1:0;932:8;;905:47;964:9;976:5;980:1;976;:5;:::i;:::-;964:17;-1:-1:-1;1009:1:0;1000:5;1004:1;964:17;1000:5;:::i;:::-;:10;992:56;;;;-1:-1:-1;;;992:56:0;;10225:2:1;992:56:0;;;10207:21:1;10264:2;10244:18;;;10237:30;10303:34;10283:18;;;10276:62;-1:-1:-1;;;10354:18:1;;;10347:31;10395:19;;992:56:0;10023:397:1;14:597;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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:247::-;1323:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:52;;;1392:1;1389;1382:12;1344:52;1431:9;1418:23;1450:31;1475:5;1450:31;:::i;1698:180::-;1757:6;1810:2;1798:9;1789:7;1785:23;1781:32;1778:52;;;1826:1;1823;1816:12;1778:52;-1:-1:-1;1849:23:1;;1698:180;-1:-1:-1;1698:180:1:o;1883:456::-;1960:6;1968;1976;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;:::-;2153:5;-1:-1:-1;2210:2:1;2195:18;;2182:32;2223:33;2182:32;2223:33;:::i;:::-;1883:456;;2275:7;;-1:-1:-1;;;2329:2:1;2314:18;;;;2301:32;;1883:456::o;2741:118::-;2827:5;2820:13;2813:21;2806:5;2803:32;2793:60;;2849:1;2846;2839:12;2864:382;2929:6;2937;2990:2;2978:9;2969:7;2965:23;2961:32;2958:52;;;3006:1;3003;2996:12;2958:52;3045:9;3032:23;3064:31;3089:5;3064:31;:::i;:::-;3114:5;-1:-1:-1;3171:2:1;3156:18;;3143:32;3184:30;3143:32;3184:30;:::i;:::-;3233:7;3223:17;;;2864:382;;;;;:::o;3475:388::-;3543:6;3551;3604:2;3592:9;3583:7;3579:23;3575:32;3572:52;;;3620:1;3617;3610:12;3572:52;3659:9;3646:23;3678:31;3703:5;3678:31;:::i;:::-;3728:5;-1:-1:-1;3785:2:1;3770:18;;3757:32;3798:33;3757:32;3798:33;:::i;4354:329::-;4556:2;4538:21;;;4595:1;4575:18;;;4568:29;-1:-1:-1;;;4628:2:1;4613:18;;4606:36;4674:2;4659:18;;4354:329::o;5032:127::-;5093:10;5088:3;5084:20;5081:1;5074:31;5124:4;5121:1;5114:15;5148:4;5145:1;5138:15;5164:168;5204:7;5270:1;5266;5262:6;5258:14;5255:1;5252:21;5247:1;5240:9;5233:17;5229:45;5226:71;;;5277:18;;:::i;:::-;-1:-1:-1;5317:9:1;;5164:168::o;5337:184::-;5407:6;5460:2;5448:9;5439:7;5435:23;5431:32;5428:52;;;5476:1;5473;5466:12;5428:52;-1:-1:-1;5499:16:1;;5337:184;-1:-1:-1;5337:184:1:o;6091:125::-;6131:4;6159:1;6156;6153:8;6150:34;;;6164:18;;:::i;:::-;-1:-1:-1;6201:9:1;;6091:125::o;7247:128::-;7287:3;7318:1;7314:6;7311:1;7308:13;7305:39;;;7324:18;;:::i;:::-;-1:-1:-1;7360:9:1;;7247:128::o;8302:245::-;8369:6;8422:2;8410:9;8401:7;8397:23;8393:32;8390:52;;;8438:1;8435;8428:12;8390:52;8470:9;8464:16;8489:28;8511:5;8489:28;:::i;8552:217::-;8592:1;8618;8608:132;;8662:10;8657:3;8653:20;8650:1;8643:31;8697:4;8694:1;8687:15;8725:4;8722:1;8715:15;8608:132;-1:-1:-1;8754:9:1;;8552:217::o;8906:127::-;8967:10;8962:3;8958:20;8955:1;8948:31;8998:4;8995:1;8988:15;9022:4;9019:1;9012:15;9038:980;9300:4;9348:3;9337:9;9333:19;9379:6;9368:9;9361:25;9405:2;9443:6;9438:2;9427:9;9423:18;9416:34;9486:3;9481:2;9470:9;9466:18;9459:31;9510:6;9545;9539:13;9576:6;9568;9561:22;9614:3;9603:9;9599:19;9592:26;;9653:2;9645:6;9641:15;9627:29;;9674:1;9684:195;9698:6;9695:1;9692:13;9684:195;;;9763:13;;-1:-1:-1;;;;;9759:39:1;9747:52;;9854:15;;;;9819:12;;;;9795:1;9713:9;9684:195;;;-1:-1:-1;;;;;;;9935:32:1;;;;9930:2;9915:18;;9908:60;-1:-1:-1;;;9999:3:1;9984:19;9977:35;9896:3;9038:980;-1:-1:-1;;;9038:980:1:o

Swarm Source

ipfs://96612461e3ee66cbe6e73a86e59ee9353618c3a84f9850beb79f29ee23e2e96e
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.