ETH Price: $2,961.47 (-1.70%)
Gas: 3 Gwei

Token

DROIDS (ROIDS)
 

Overview

Max Total Supply

1,000,000,000 ROIDS

Holders

109

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
665,293.964221987196501245 ROIDS

Value
$0.00
0x310e0565b3d000ca4bb4c81cb548f132a35a053d
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:
DROIDS

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-29
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.13;

abstract contract Context {

    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable;
    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
    function removeLiquidityETH(address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external returns (uint amountToken, uint amountETH);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IDexFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

contract DROIDS is Context, IERC20, Ownable {
    
    string constant private _name = "DROIDS";
    string constant private _symbol = "ROIDS";
    uint8 constant private _decimals = 18;

    address public constant  deadAddress = 0x000000000000000000000000000000000000dEaD;
    address payable public marketingWalletAddress = payable(0x6EdC33ba017bf633c5cD576f2a51E81ad5E84D19); // Marketing Address
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isEarlyBuyer;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public buyTax = 50;
    uint256 public sellTax = 50;

    uint256 constant private _totalSupply = 1 * 10**9 * 10**_decimals;
    uint256 public swapThreshold = 250000 * 10**_decimals; 
    uint256 public maxTxAmount = 10 * 10**6 * 10**_decimals;
    uint256 public walletMax = 20 * 10**6 * 10**_decimals;

    IDexRouter public dexRouter;
    address public lpPair;
    
    bool private isInSwap;
    bool public swapEnabled = true;
    bool public swapByLimitOnly = false;
    bool public launched = false;
    bool public checkWalletLimit = true;

    event SwapSettingsUpdated(bool swapEnabled_, uint256 swapThreshold_, bool swapByLimitOnly_);
    event SwapTokensForETH(uint256 amountIn, address[] path);
    event AccountWhitelisted(address account, bool feeExempt, bool walletLimitExempt, bool txLimitExempt);
    event RouterVersionChanged(address newRouterAddress);
    event TaxesChanged(uint256 newBuyTax, uint256 newSellTax);
    event TaxDistributionChanged(uint256 newLpShare, uint256 newMarketingShare, uint256 newOperationsShare);
    event MarketingWalletChanged(address marketingWalletAddress_);
    event OperationsWalletChanged(address operationsWalletAddress_);
    event AutoLiquidityReceiverChanged(address autoLiquidityReceiver_);
    event EarlyBuyerUpdated(address account, bool isEarlyBuyer_);
    event MarketPairUpdated(address account, bool isMarketPair_);
    event WalletLimitChanged(uint256 walletMax_);
    event MaxTxAmountChanged(uint256 maxTxAmount_);
    event MaxWalletCheckChanged(bool checkWalletLimit_);

    modifier lockTheSwap {
        isInSwap = true;
        _;
        isInSwap = false;
    }
    
    constructor () {
        
        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[address(marketingWalletAddress)] = true;

        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(marketingWalletAddress)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(lpPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[address(marketingWalletAddress)] = true;
        
        isMarketPair[address(lpPair)] = true;

        allowances[address(this)][address(dexRouter)] = _totalSupply;
        balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

     //to receive ETH from dexRouter when swapping
    receive() external payable {}

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(deadAddress);
    }

    function balanceOf(address account) public view override returns (uint256) {
        return balances[account];
    }

    function allowance(address owner_, address spender) public view override returns (uint256) {
        return allowances[owner_][spender];
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner_, address spender, uint256 amount) private {
        require(owner_ != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        allowances[owner_][spender] = amount;
        emit Approval(owner_, spender, amount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), allowances[sender][_msgSender()] - amount);
        return true;
    }
    
    function updateRouter(address newRouterAddress) public onlyOwner returns(address newPairAddress) {
        IDexRouter dexRouter_ = IDexRouter(newRouterAddress); 
        newPairAddress = IDexFactory(dexRouter_.factory()).getPair(address(this), dexRouter_.WETH());

        if(newPairAddress == address(0)) { //Create If Doesnt exist
            newPairAddress = IDexFactory(dexRouter_.factory()).
                                createPair(address(this), dexRouter_.WETH());
        }

        lpPair = newPairAddress; //Set new pair address
        dexRouter = dexRouter_; //Set new router address

        isWalletLimitExempt[address(lpPair)] = true;
        isMarketPair[address(lpPair)] = true;
        emit RouterVersionChanged(newRouterAddress);
    }

    function setLaunchStatus(bool launched_) public onlyOwner {
        launched = launched_;
    }

    function setIsEarlyBuyer(address account, bool isEarlyBuyer_) public onlyOwner {
        isEarlyBuyer[account] = isEarlyBuyer_;
        emit EarlyBuyerUpdated(account, isEarlyBuyer_);
    }

    function setMarketPairStatus(address account, bool isMarketPair_) public onlyOwner {
        isMarketPair[account] = isMarketPair_;
        emit MarketPairUpdated(account, isMarketPair_);
    }
    
    function setTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 300, "Cannot exceed 30%");
        require(newSellTax <= 300, "Cannot exceed 30%");
        buyTax = newBuyTax;
        sellTax = newSellTax;
        emit TaxesChanged(newBuyTax, newSellTax);
    }

    function setMaxTxAmount(uint256 maxTxAmount_) external onlyOwner {
        maxTxAmount = maxTxAmount_;
        emit MaxTxAmountChanged(maxTxAmount_);
    }

    function setWalletLimit(uint256 walletMax_) external onlyOwner {
        walletMax  = walletMax_;
        emit WalletLimitChanged(walletMax_);
    }

    function enableDisableWalletLimit(bool checkWalletLimit_) external onlyOwner {
        checkWalletLimit = checkWalletLimit_;
        emit MaxWalletCheckChanged(checkWalletLimit_);
    }

    function whitelistAccount(address account, bool feeExempt, bool walletLimitExempt, bool txLimitExempt) public onlyOwner {
        isExcludedFromFee[account] = feeExempt;
        isWalletLimitExempt[account] = walletLimitExempt;
        isTxLimitExempt[account] = txLimitExempt;
        emit AccountWhitelisted(account, feeExempt, walletLimitExempt, txLimitExempt);
    }

    function updateSwapSettings(bool swapEnabled_, uint256 swapThreshold_, bool swapByLimitOnly_) public onlyOwner {
        swapEnabled = swapEnabled_;
        swapThreshold = swapThreshold_;
        swapByLimitOnly = swapByLimitOnly_;
        emit SwapSettingsUpdated(swapEnabled_, swapThreshold_, swapByLimitOnly_);
    }

    function setMarketingWalletAddress(address marketingWalletAddress_) external onlyOwner {
        require(marketingWalletAddress_ != address(0), "New address cannot be zero address");
        marketingWalletAddress = payable(marketingWalletAddress_);
        emit MarketingWalletChanged(marketingWalletAddress_);
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        bool success;
        (success,) = address(recipient).call{value: amount}("");
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        if(isInSwap) { 
            return _basicTransfer(sender, recipient, amount); 
        } else {
            require(sender != address(0), "ERC20: transfer from the zero address");
            require(recipient != address(0), "ERC20: transfer to the zero address");
            require(!isEarlyBuyer[sender] && !isEarlyBuyer[recipient], "To/from address is blacklisted!");

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(launched, "Not Launched.");
                if(isMarketPair[sender] || isMarketPair[recipient]) {
                    require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
                }
            }

            bool isTaxFree = ((!isMarketPair[sender] && !isMarketPair[recipient]) || 
                                isExcludedFromFee[sender] || isExcludedFromFee[recipient]);

            if (!isTaxFree && !isMarketPair[sender] && swapEnabled && !isInSwap) 
            {
                uint256 contractTokenBalance = balanceOf(address(this));
                bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;
                if(overMinimumTokenBalance) {
                    if(swapByLimitOnly)
                        contractTokenBalance = swapThreshold;
                    swapAndLiquify(contractTokenBalance);    
                }
            }

            balances[sender] = balances[sender] - amount;

            uint256 finalAmount = isTaxFree ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient])
                require((balanceOf(recipient) + finalAmount) <= walletMax);

            balances[recipient] = balances[recipient] + finalAmount;

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balances[sender] = balances[sender] - amount;
        balances[recipient] = balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tokensForSwap) private lockTheSwap {
        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        if(amountReceived > 0) {
            transferToAddressETH(marketingWalletAddress, amountReceived);
        }
    }

    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] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = (amount * buyTax) / 1000;   
        address feeReceiver = address(this);

        if(isMarketPair[recipient]) {
            feeAmount = (amount * sellTax) / 1000;   
        }
        
        if(feeAmount > 0) {
            balances[feeReceiver] = balances[feeReceiver] + feeAmount;
            emit Transfer(sender, feeReceiver, feeAmount);
        }

        return amount - feeAmount;
    }
    
    function airdropToWallets(address[] memory wallets, uint256[] memory amountsInTokens) external onlyOwner {
        require(wallets.length == amountsInTokens.length, "arrays must be the same length");
        require(wallets.length < 600, "Can only airdrop 600 wallets per txn due to gas limits"); // allows for airdrop + launch at the same exact time, reducing delays and reducing sniper input.
        for(uint256 i = 0; i < wallets.length; i++){
            _basicTransfer(msg.sender, wallets[i], amountsInTokens[i]);
        }
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"feeExempt","type":"bool"},{"indexed":false,"internalType":"bool","name":"walletLimitExempt","type":"bool"},{"indexed":false,"internalType":"bool","name":"txLimitExempt","type":"bool"}],"name":"AccountWhitelisted","type":"event"},{"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":"autoLiquidityReceiver_","type":"address"}],"name":"AutoLiquidityReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isEarlyBuyer_","type":"bool"}],"name":"EarlyBuyerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isMarketPair_","type":"bool"}],"name":"MarketPairUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingWalletAddress_","type":"address"}],"name":"MarketingWalletChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmount_","type":"uint256"}],"name":"MaxTxAmountChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"checkWalletLimit_","type":"bool"}],"name":"MaxWalletCheckChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"operationsWalletAddress_","type":"address"}],"name":"OperationsWalletChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"RouterVersionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"swapEnabled_","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold_","type":"uint256"},{"indexed":false,"internalType":"bool","name":"swapByLimitOnly_","type":"bool"}],"name":"SwapSettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newLpShare","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newOperationsShare","type":"uint256"}],"name":"TaxDistributionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"TaxesChanged","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"walletMax_","type":"uint256"}],"name":"WalletLimitChanged","type":"event"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"uint256[]","name":"amountsInTokens","type":"uint256[]"}],"name":"airdropToWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"checkWalletLimit_","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isEarlyBuyer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isEarlyBuyer_","type":"bool"}],"name":"setIsEarlyBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"launched_","type":"bool"}],"name":"setLaunchStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isMarketPair_","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingWalletAddress_","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount_","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"walletMax_","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"updateRouter","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled_","type":"bool"},{"internalType":"uint256","name":"swapThreshold_","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly_","type":"bool"}],"name":"updateSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"feeExempt","type":"bool"},{"internalType":"bool","name":"walletLimitExempt","type":"bool"},{"internalType":"bool","name":"txLimitExempt","type":"bool"}],"name":"whitelistAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b031916736edc33ba017bf633c5cd576f2a51e81ad5e84d1917905560326009819055600a908155620000449060129062000558565b62000053906203d09062000570565b600b55620000646012600a62000558565b62000073906298968062000570565b600c55620000846012600a62000558565b62000094906301312d0062000570565b600d55600f805463ffffffff60a81b1916630100000160a81b179055348015620000bd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018a919062000592565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000213919062000592565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000287919062000592565b600f80546001600160a01b0319166001600160a01b039283161781556000805483168152600460209081526040808320805460ff1990811660019081179092553080865283862080548316841790558254881686528386208054831684179055855488168652600785528386208054831684179055808652838620805483168417905582548816865283862080548316841790558554881686526008855283862080548316841790558654881686528386208054831684179055855282852080548216831790558154871685528285208054821683179055945490951683526005909152902080549091169091179055620003856012600a62000558565b6200039590633b9aca0062000570565b306000908152600360209081526040808320600e546001600160a01b03168452909152902055620003c96012600a62000558565b620003d990633b9aca0062000570565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200041c6012600a62000558565b6200042c90633b9aca0062000570565b60405190815260200160405180910390a3620005bd565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049a5781600019048211156200047e576200047e62000443565b808516156200048c57918102915b93841c93908002906200045e565b509250929050565b600082620004b35750600162000552565b81620004c25750600062000552565b8160018114620004db5760028114620004e65762000506565b600191505062000552565b60ff841115620004fa57620004fa62000443565b50506001821b62000552565b5060208310610133831016604e8410600b84101617156200052b575081810a62000552565b62000537838362000459565b80600019048211156200054e576200054e62000443565b0290505b92915050565b60006200056960ff841683620004a2565b9392505050565b60008160001904831182151516156200058d576200058d62000443565b500290565b600060208284031215620005a557600080fd5b81516001600160a01b03811681146200056957600080fd5b61269b80620005cd6000396000f3fe6080604052600436106102765760003560e01c80638b42507f1161014f578063c851cc32116100c1578063ec28438a1161007a578063ec28438a146107da578063f0ed555b146107fa578063f1d5f5171461081a578063f2fde38b1461083a578063f872858a1461085a578063fe3145241461087b57600080fd5b8063c851cc32146106ee578063c867d60b1461070e578063cc1776d31461073e578063d158272d14610754578063dd62ed3e14610774578063e932ec9a146107ba57600080fd5b806395d89b411161011357806395d89b4114610620578063a457c2d71461064e578063a9059cbb1461066e578063baa16dc31461068e578063c135cc5c146106ae578063c647b20e146106ce57600080fd5b80638b42507f1461056b5780638c0b5e221461059b5780638da5cb5b146105b15780638e3657aa146105cf578063916d6943146105f057600080fd5b806339509351116101e85780635342acb4116101ac5780635342acb4146104a45780636ddd1713146104d457806370a08231146104f5578063715018a6146105155780638091f3bf1461052a578063844d591c1461054b57600080fd5b806339509351146103fe5780633ecad2711461041e578063452ed4f11461044e5780634cb80fd51461046e5780634f7041a51461048e57600080fd5b80632307b4411161023a5780632307b4411461035557806323b872dd146103775780632563ae831461039757806327c8f835146103b75780632b112e49146103cd578063313ce567146103e257600080fd5b80630445b6671461028257806306fdde03146102ab5780630758d924146102e3578063095ea7b31461031057806318160ddd1461034057600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298600b5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5060408051808201909152600681526544524f49445360d01b60208201525b6040516102a29190611f71565b3480156102ef57600080fd5b50600e54610303906001600160a01b031681565b6040516102a29190611fc6565b34801561031c57600080fd5b5061033061032b366004611ff2565b610891565b60405190151581526020016102a2565b34801561034c57600080fd5b506102986108a8565b34801561036157600080fd5b506103756103703660046120f4565b6108c9565b005b34801561038357600080fd5b506103306103923660046121b6565b610a1f565b3480156103a357600080fd5b506103756103b236600461220c565b610a73565b3480156103c357600080fd5b5061030361dead81565b3480156103d957600080fd5b50610298610af5565b3480156103ee57600080fd5b50604051601281526020016102a2565b34801561040a57600080fd5b50610330610419366004611ff2565b610b26565b34801561042a57600080fd5b50610330610439366004612227565b60056020526000908152604090205460ff1681565b34801561045a57600080fd5b50600f54610303906001600160a01b031681565b34801561047a57600080fd5b50610375610489366004612227565b610b5d565b34801561049a57600080fd5b5061029860095481565b3480156104b057600080fd5b506103306104bf366004612227565b60046020526000908152604090205460ff1681565b3480156104e057600080fd5b50600f5461033090600160a81b900460ff1681565b34801561050157600080fd5b50610298610510366004612227565b610c33565b34801561052157600080fd5b50610375610c4e565b34801561053657600080fd5b50600f5461033090600160b81b900460ff1681565b34801561055757600080fd5b50610375610566366004612244565b610cc2565b34801561057757600080fd5b50610330610586366004612227565b60076020526000908152604090205460ff1681565b3480156105a757600080fd5b50610298600c5481565b3480156105bd57600080fd5b506000546001600160a01b0316610303565b3480156105db57600080fd5b50600f5461033090600160b01b900460ff1681565b3480156105fc57600080fd5b5061033061060b366004612227565b60066020526000908152604090205460ff1681565b34801561062c57600080fd5b50604080518082019091526005815264524f49445360d81b60208201526102d6565b34801561065a57600080fd5b50610330610669366004611ff2565b610d50565b34801561067a57600080fd5b50610330610689366004611ff2565b610d87565b34801561069a57600080fd5b506103756106a9366004612244565b610d94565b3480156106ba57600080fd5b506103756106c936600461220c565b610e1a565b3480156106da57600080fd5b506103756106e9366004612279565b610e62565b3480156106fa57600080fd5b50610303610709366004612227565b610f10565b34801561071a57600080fd5b50610330610729366004612227565b60086020526000908152604090205460ff1681565b34801561074a57600080fd5b50610298600a5481565b34801561076057600080fd5b50600154610303906001600160a01b031681565b34801561078057600080fd5b5061029861078f36600461229b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107c657600080fd5b506103756107d53660046122d4565b61127e565b3480156107e657600080fd5b506103756107f5366004612310565b611327565b34801561080657600080fd5b50610375610815366004612329565b611386565b34801561082657600080fd5b50610375610835366004612310565b611449565b34801561084657600080fd5b50610375610855366004612227565b6114a8565b34801561086657600080fd5b50600f5461033090600160c01b900460ff1681565b34801561088757600080fd5b50610298600d5481565b600061089e338484611592565b5060015b92915050565b60006108b66012600a612479565b6108c490633b9aca00612488565b905090565b6000546001600160a01b031633146108fc5760405162461bcd60e51b81526004016108f3906124a7565b60405180910390fd5b805182511461094d5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e677468000060448201526064016108f3565b6102588251106109be5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203630302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b60648201526084016108f3565b60005b8251811015610a1a57610a07338483815181106109e0576109e06124dc565b60200260200101518484815181106109fa576109fa6124dc565b60200260200101516116b6565b5080610a12816124f2565b9150506109c1565b505050565b6000610a2c84848461175e565b506001600160a01b038416600090815260036020908152604080832033808552925290912054610a68918691610a6390869061250b565b611592565b5060015b9392505050565b6000546001600160a01b03163314610a9d5760405162461bcd60e51b81526004016108f3906124a7565b600f8054821515600160c01b0260ff60c01b199091161790556040517fd77f03fb55ba6b94fd92cce5c4299c19942acdde281980bdcd02f132dd27fd3490610aea90831515815260200190565b60405180910390a150565b6000610b0261dead610c33565b610b0e6012600a612479565b610b1c90633b9aca00612488565b6108c4919061250b565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161089e918590610a63908690612522565b6000546001600160a01b03163314610b875760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038116610be85760405162461bcd60e51b815260206004820152602260248201527f4e657720616464726573732063616e6e6f74206265207a65726f206164647265604482015261737360f01b60648201526084016108f3565b600180546001600160a01b0319166001600160a01b0383161790556040517fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b90610aea908390611fc6565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610c785760405162461bcd60e51b81526004016108f3906124a7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610cec5760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f160ff69a72bc70f3e792a86c87d27070e421562197f032d96bcab11c5010222e91015b60405180910390a15050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161089e918590610a6390869061250b565b6000610a6833848461175e565b6000546001600160a01b03163314610dbe5760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f0861ffea819c7470cbefb1765bce78388684cd327b561fd217484236b4cbb2d39101610d44565b6000546001600160a01b03163314610e445760405162461bcd60e51b81526004016108f3906124a7565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610e8c5760405162461bcd60e51b81526004016108f3906124a7565b61012c821115610eae5760405162461bcd60e51b81526004016108f39061253a565b61012c811115610ed05760405162461bcd60e51b81526004016108f39061253a565b6009829055600a81905560408051838152602081018390527f5eee0b95930ee59011f34615b0b7dc6cc58c01d1f07d04a01a3a1e70d2554cf09101610d44565b600080546001600160a01b03163314610f3b5760405162461bcd60e51b81526004016108f3906124a7565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190612565565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190612565565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561105e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110829190612565565b91506001600160a01b0382166111d957806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190612565565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611141573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111659190612565565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156111b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d69190612565565b91505b600f80546001600160a01b038085166001600160a01b031992831681178455600e80548684169416939093179092556000918252600860209081526040808420805460ff19908116600190811790925595549093168452600590915291829020805490931617909155517f267352536b1d9b9f4a233ca70670294dd64e12064915564aad906bc177663d9990611270908590611fc6565b60405180910390a150919050565b6000546001600160a01b031633146112a85760405162461bcd60e51b81526004016108f3906124a7565b600f8054600b84905561ffff60a81b1916600160a81b85151590810260ff60b01b191691909117600160b01b8415159081029190911790925560408051918252602082018590528101919091527f11208aed08835f646702af16c636fb4351554fa2f623991905cadb0293a88afc9060600160405180910390a1505050565b6000546001600160a01b031633146113515760405162461bcd60e51b81526004016108f3906124a7565b600c8190556040518181527fcff95ed354a1a3fcbabf882bfa4a9319f55569c324478c800820398451df187190602001610aea565b6000546001600160a01b031633146113b05760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b0384166000818152600460209081526040808320805488151560ff19918216811790925560088452828520805489151590831681179091556007855294839020805488151592168217905582519586529285015283019190915260608201527f12d9c9f75d95e930caf8a1f18460585ce2349b367898dbf23e394afef2d35d959060800160405180910390a150505050565b6000546001600160a01b031633146114735760405162461bcd60e51b81526004016108f3906124a7565b600d8190556040518181527f7872485612198920508f0a96f4e47084f84df76e33b2b1d76ceff0dc83499aa690602001610aea565b6000546001600160a01b031633146114d25760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b0381166115375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166115f45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f3565b6001600160a01b0382166116555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166000908152600260205260408120546116da90839061250b565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461170a908390612522565b6001600160a01b0380851660008181526002602052604090819020939093559151908616906000805160206126468339815191529061174c9086815260200190565b60405180910390a35060019392505050565b600f54600090600160a01b900460ff16156117855761177e8484846116b6565b9050610a6c565b6001600160a01b0384166117e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f3565b6001600160a01b03831661184b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f3565b6001600160a01b03841660009081526006602052604090205460ff1615801561188d57506001600160a01b03831660009081526006602052604090205460ff16155b6118d95760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016108f3565b6001600160a01b03841660009081526007602052604090205460ff1615801561191b57506001600160a01b03831660009081526007602052604090205460ff16155b15611a1057600f54600160b81b900460ff166119695760405162461bcd60e51b815260206004820152600d60248201526c2737ba102630bab731b432b21760991b60448201526064016108f3565b6001600160a01b03841660009081526005602052604090205460ff16806119a857506001600160a01b03831660009081526005602052604090205460ff165b15611a1057600c54821115611a105760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108f3565b6001600160a01b03841660009081526005602052604081205460ff16158015611a5257506001600160a01b03841660009081526005602052604090205460ff16155b80611a7557506001600160a01b03851660009081526004602052604090205460ff165b80611a9857506001600160a01b03841660009081526004602052604090205460ff165b905080158015611ac157506001600160a01b03851660009081526005602052604090205460ff16155b8015611ad65750600f54600160a81b900460ff165b8015611aec5750600f54600160a01b900460ff16155b15611b2f576000611afc30610c33565b600b549091508110801590611b2c57600f54600160b01b900460ff1615611b2357600b5491505b611b2c82611c5b565b50505b6001600160a01b038516600090815260026020526040902054611b5390849061250b565b6001600160a01b03861660009081526002602052604081209190915581611b8457611b7f868686611ca5565b611b86565b835b600f54909150600160c01b900460ff168015611bbb57506001600160a01b03851660009081526008602052604090205460ff16155b15611be257600d5481611bcd87610c33565b611bd79190612522565b1115611be257600080fd5b6001600160a01b038516600090815260026020526040902054611c06908290612522565b6001600160a01b03808716600081815260026020526040908190209390935591519088169060008051602061264683398151915290611c489085815260200190565b60405180910390a3600192505050610a6c565b600f805460ff60a01b1916600160a01b179055611c7781611d90565b478015611c9457600154611c94906001600160a01b031682611f17565b5050600f805460ff60a01b19169055565b6000806103e860095484611cb99190612488565b611cc39190612582565b6001600160a01b038516600090815260056020526040902054909150309060ff1615611d07576103e8600a5485611cfa9190612488565b611d049190612582565b91505b8115611d7c576001600160a01b038116600090815260026020526040902054611d31908390612522565b6001600160a01b03808316600081815260026020526040908190209390935591519088169060008051602061264683398151915290611d739086815260200190565b60405180910390a35b611d86828561250b565b9695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611dc557611dc56124dc565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e429190612565565b81600181518110611e5557611e556124dc565b6001600160a01b039283166020918202929092010152600e54611e7b9130911684611592565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611eb49085906000908690309042906004016125e8565b600060405180830381600087803b158015611ece57600080fd5b505af1158015611ee2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051610d44929190612624565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f64576040519150601f19603f3d011682016040523d82523d6000602084013e611f69565b606091505b505050505050565b600060208083528351808285015260005b81811015611f9e57858101830151858201604001528201611f82565b81811115611fb0576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611fef57600080fd5b50565b6000806040838503121561200557600080fd5b823561201081611fda565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561205d5761205d61201e565b604052919050565b600067ffffffffffffffff82111561207f5761207f61201e565b5060051b60200190565b600082601f83011261209a57600080fd5b813560206120af6120aa83612065565b612034565b82815260059290921b840181019181810190868411156120ce57600080fd5b8286015b848110156120e957803583529183019183016120d2565b509695505050505050565b6000806040838503121561210757600080fd5b823567ffffffffffffffff8082111561211f57600080fd5b818501915085601f83011261213357600080fd5b813560206121436120aa83612065565b82815260059290921b8401810191818101908984111561216257600080fd5b948201945b8386101561218957853561217a81611fda565b82529482019490820190612167565b9650508601359250508082111561219f57600080fd5b506121ac85828601612089565b9150509250929050565b6000806000606084860312156121cb57600080fd5b83356121d681611fda565b925060208401356121e681611fda565b929592945050506040919091013590565b8035801515811461220757600080fd5b919050565b60006020828403121561221e57600080fd5b610a6c826121f7565b60006020828403121561223957600080fd5b8135610a6c81611fda565b6000806040838503121561225757600080fd5b823561226281611fda565b9150612270602084016121f7565b90509250929050565b6000806040838503121561228c57600080fd5b50508035926020909101359150565b600080604083850312156122ae57600080fd5b82356122b981611fda565b915060208301356122c981611fda565b809150509250929050565b6000806000606084860312156122e957600080fd5b6122f2846121f7565b925060208401359150612307604085016121f7565b90509250925092565b60006020828403121561232257600080fd5b5035919050565b6000806000806080858703121561233f57600080fd5b843561234a81611fda565b9350612358602086016121f7565b9250612366604086016121f7565b9150612374606086016121f7565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156123d05781600019048211156123b6576123b661237f565b808516156123c357918102915b93841c939080029061239a565b509250929050565b6000826123e7575060016108a2565b816123f4575060006108a2565b816001811461240a576002811461241457612430565b60019150506108a2565b60ff8411156124255761242561237f565b50506001821b6108a2565b5060208310610133831016604e8410600b8410161715612453575081810a6108a2565b61245d8383612395565b80600019048211156124715761247161237f565b029392505050565b6000610a6c60ff8416836123d8565b60008160001904831182151516156124a2576124a261237f565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016125045761250461237f565b5060010190565b60008282101561251d5761251d61237f565b500390565b600082198211156125355761253561237f565b500190565b60208082526011908201527043616e6e6f74206578636565642033302560781b604082015260600190565b60006020828403121561257757600080fd5b8151610a6c81611fda565b60008261259f57634e487b7160e01b600052601260045260246000fd5b500490565b600081518084526020808501945080840160005b838110156125dd5781516001600160a01b0316875295820195908201906001016125b8565b509495945050505050565b85815284602082015260a06040820152600061260760a08301866125a4565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061263d60408301846125a4565b94935050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220245e133b77faeac4da36dfc38d240ebd97cb01dd10ef30a7c784903a0cee0c9a64736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106102765760003560e01c80638b42507f1161014f578063c851cc32116100c1578063ec28438a1161007a578063ec28438a146107da578063f0ed555b146107fa578063f1d5f5171461081a578063f2fde38b1461083a578063f872858a1461085a578063fe3145241461087b57600080fd5b8063c851cc32146106ee578063c867d60b1461070e578063cc1776d31461073e578063d158272d14610754578063dd62ed3e14610774578063e932ec9a146107ba57600080fd5b806395d89b411161011357806395d89b4114610620578063a457c2d71461064e578063a9059cbb1461066e578063baa16dc31461068e578063c135cc5c146106ae578063c647b20e146106ce57600080fd5b80638b42507f1461056b5780638c0b5e221461059b5780638da5cb5b146105b15780638e3657aa146105cf578063916d6943146105f057600080fd5b806339509351116101e85780635342acb4116101ac5780635342acb4146104a45780636ddd1713146104d457806370a08231146104f5578063715018a6146105155780638091f3bf1461052a578063844d591c1461054b57600080fd5b806339509351146103fe5780633ecad2711461041e578063452ed4f11461044e5780634cb80fd51461046e5780634f7041a51461048e57600080fd5b80632307b4411161023a5780632307b4411461035557806323b872dd146103775780632563ae831461039757806327c8f835146103b75780632b112e49146103cd578063313ce567146103e257600080fd5b80630445b6671461028257806306fdde03146102ab5780630758d924146102e3578063095ea7b31461031057806318160ddd1461034057600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298600b5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b5060408051808201909152600681526544524f49445360d01b60208201525b6040516102a29190611f71565b3480156102ef57600080fd5b50600e54610303906001600160a01b031681565b6040516102a29190611fc6565b34801561031c57600080fd5b5061033061032b366004611ff2565b610891565b60405190151581526020016102a2565b34801561034c57600080fd5b506102986108a8565b34801561036157600080fd5b506103756103703660046120f4565b6108c9565b005b34801561038357600080fd5b506103306103923660046121b6565b610a1f565b3480156103a357600080fd5b506103756103b236600461220c565b610a73565b3480156103c357600080fd5b5061030361dead81565b3480156103d957600080fd5b50610298610af5565b3480156103ee57600080fd5b50604051601281526020016102a2565b34801561040a57600080fd5b50610330610419366004611ff2565b610b26565b34801561042a57600080fd5b50610330610439366004612227565b60056020526000908152604090205460ff1681565b34801561045a57600080fd5b50600f54610303906001600160a01b031681565b34801561047a57600080fd5b50610375610489366004612227565b610b5d565b34801561049a57600080fd5b5061029860095481565b3480156104b057600080fd5b506103306104bf366004612227565b60046020526000908152604090205460ff1681565b3480156104e057600080fd5b50600f5461033090600160a81b900460ff1681565b34801561050157600080fd5b50610298610510366004612227565b610c33565b34801561052157600080fd5b50610375610c4e565b34801561053657600080fd5b50600f5461033090600160b81b900460ff1681565b34801561055757600080fd5b50610375610566366004612244565b610cc2565b34801561057757600080fd5b50610330610586366004612227565b60076020526000908152604090205460ff1681565b3480156105a757600080fd5b50610298600c5481565b3480156105bd57600080fd5b506000546001600160a01b0316610303565b3480156105db57600080fd5b50600f5461033090600160b01b900460ff1681565b3480156105fc57600080fd5b5061033061060b366004612227565b60066020526000908152604090205460ff1681565b34801561062c57600080fd5b50604080518082019091526005815264524f49445360d81b60208201526102d6565b34801561065a57600080fd5b50610330610669366004611ff2565b610d50565b34801561067a57600080fd5b50610330610689366004611ff2565b610d87565b34801561069a57600080fd5b506103756106a9366004612244565b610d94565b3480156106ba57600080fd5b506103756106c936600461220c565b610e1a565b3480156106da57600080fd5b506103756106e9366004612279565b610e62565b3480156106fa57600080fd5b50610303610709366004612227565b610f10565b34801561071a57600080fd5b50610330610729366004612227565b60086020526000908152604090205460ff1681565b34801561074a57600080fd5b50610298600a5481565b34801561076057600080fd5b50600154610303906001600160a01b031681565b34801561078057600080fd5b5061029861078f36600461229b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107c657600080fd5b506103756107d53660046122d4565b61127e565b3480156107e657600080fd5b506103756107f5366004612310565b611327565b34801561080657600080fd5b50610375610815366004612329565b611386565b34801561082657600080fd5b50610375610835366004612310565b611449565b34801561084657600080fd5b50610375610855366004612227565b6114a8565b34801561086657600080fd5b50600f5461033090600160c01b900460ff1681565b34801561088757600080fd5b50610298600d5481565b600061089e338484611592565b5060015b92915050565b60006108b66012600a612479565b6108c490633b9aca00612488565b905090565b6000546001600160a01b031633146108fc5760405162461bcd60e51b81526004016108f3906124a7565b60405180910390fd5b805182511461094d5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e677468000060448201526064016108f3565b6102588251106109be5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203630302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b60648201526084016108f3565b60005b8251811015610a1a57610a07338483815181106109e0576109e06124dc565b60200260200101518484815181106109fa576109fa6124dc565b60200260200101516116b6565b5080610a12816124f2565b9150506109c1565b505050565b6000610a2c84848461175e565b506001600160a01b038416600090815260036020908152604080832033808552925290912054610a68918691610a6390869061250b565b611592565b5060015b9392505050565b6000546001600160a01b03163314610a9d5760405162461bcd60e51b81526004016108f3906124a7565b600f8054821515600160c01b0260ff60c01b199091161790556040517fd77f03fb55ba6b94fd92cce5c4299c19942acdde281980bdcd02f132dd27fd3490610aea90831515815260200190565b60405180910390a150565b6000610b0261dead610c33565b610b0e6012600a612479565b610b1c90633b9aca00612488565b6108c4919061250b565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161089e918590610a63908690612522565b6000546001600160a01b03163314610b875760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038116610be85760405162461bcd60e51b815260206004820152602260248201527f4e657720616464726573732063616e6e6f74206265207a65726f206164647265604482015261737360f01b60648201526084016108f3565b600180546001600160a01b0319166001600160a01b0383161790556040517fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b90610aea908390611fc6565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610c785760405162461bcd60e51b81526004016108f3906124a7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610cec5760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f160ff69a72bc70f3e792a86c87d27070e421562197f032d96bcab11c5010222e91015b60405180910390a15050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161089e918590610a6390869061250b565b6000610a6833848461175e565b6000546001600160a01b03163314610dbe5760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f0861ffea819c7470cbefb1765bce78388684cd327b561fd217484236b4cbb2d39101610d44565b6000546001600160a01b03163314610e445760405162461bcd60e51b81526004016108f3906124a7565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b03163314610e8c5760405162461bcd60e51b81526004016108f3906124a7565b61012c821115610eae5760405162461bcd60e51b81526004016108f39061253a565b61012c811115610ed05760405162461bcd60e51b81526004016108f39061253a565b6009829055600a81905560408051838152602081018390527f5eee0b95930ee59011f34615b0b7dc6cc58c01d1f07d04a01a3a1e70d2554cf09101610d44565b600080546001600160a01b03163314610f3b5760405162461bcd60e51b81526004016108f3906124a7565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190612565565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190612565565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561105e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110829190612565565b91506001600160a01b0382166111d957806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190612565565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611141573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111659190612565565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156111b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d69190612565565b91505b600f80546001600160a01b038085166001600160a01b031992831681178455600e80548684169416939093179092556000918252600860209081526040808420805460ff19908116600190811790925595549093168452600590915291829020805490931617909155517f267352536b1d9b9f4a233ca70670294dd64e12064915564aad906bc177663d9990611270908590611fc6565b60405180910390a150919050565b6000546001600160a01b031633146112a85760405162461bcd60e51b81526004016108f3906124a7565b600f8054600b84905561ffff60a81b1916600160a81b85151590810260ff60b01b191691909117600160b01b8415159081029190911790925560408051918252602082018590528101919091527f11208aed08835f646702af16c636fb4351554fa2f623991905cadb0293a88afc9060600160405180910390a1505050565b6000546001600160a01b031633146113515760405162461bcd60e51b81526004016108f3906124a7565b600c8190556040518181527fcff95ed354a1a3fcbabf882bfa4a9319f55569c324478c800820398451df187190602001610aea565b6000546001600160a01b031633146113b05760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b0384166000818152600460209081526040808320805488151560ff19918216811790925560088452828520805489151590831681179091556007855294839020805488151592168217905582519586529285015283019190915260608201527f12d9c9f75d95e930caf8a1f18460585ce2349b367898dbf23e394afef2d35d959060800160405180910390a150505050565b6000546001600160a01b031633146114735760405162461bcd60e51b81526004016108f3906124a7565b600d8190556040518181527f7872485612198920508f0a96f4e47084f84df76e33b2b1d76ceff0dc83499aa690602001610aea565b6000546001600160a01b031633146114d25760405162461bcd60e51b81526004016108f3906124a7565b6001600160a01b0381166115375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166115f45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f3565b6001600160a01b0382166116555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166000908152600260205260408120546116da90839061250b565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461170a908390612522565b6001600160a01b0380851660008181526002602052604090819020939093559151908616906000805160206126468339815191529061174c9086815260200190565b60405180910390a35060019392505050565b600f54600090600160a01b900460ff16156117855761177e8484846116b6565b9050610a6c565b6001600160a01b0384166117e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f3565b6001600160a01b03831661184b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f3565b6001600160a01b03841660009081526006602052604090205460ff1615801561188d57506001600160a01b03831660009081526006602052604090205460ff16155b6118d95760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016108f3565b6001600160a01b03841660009081526007602052604090205460ff1615801561191b57506001600160a01b03831660009081526007602052604090205460ff16155b15611a1057600f54600160b81b900460ff166119695760405162461bcd60e51b815260206004820152600d60248201526c2737ba102630bab731b432b21760991b60448201526064016108f3565b6001600160a01b03841660009081526005602052604090205460ff16806119a857506001600160a01b03831660009081526005602052604090205460ff165b15611a1057600c54821115611a105760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108f3565b6001600160a01b03841660009081526005602052604081205460ff16158015611a5257506001600160a01b03841660009081526005602052604090205460ff16155b80611a7557506001600160a01b03851660009081526004602052604090205460ff165b80611a9857506001600160a01b03841660009081526004602052604090205460ff165b905080158015611ac157506001600160a01b03851660009081526005602052604090205460ff16155b8015611ad65750600f54600160a81b900460ff165b8015611aec5750600f54600160a01b900460ff16155b15611b2f576000611afc30610c33565b600b549091508110801590611b2c57600f54600160b01b900460ff1615611b2357600b5491505b611b2c82611c5b565b50505b6001600160a01b038516600090815260026020526040902054611b5390849061250b565b6001600160a01b03861660009081526002602052604081209190915581611b8457611b7f868686611ca5565b611b86565b835b600f54909150600160c01b900460ff168015611bbb57506001600160a01b03851660009081526008602052604090205460ff16155b15611be257600d5481611bcd87610c33565b611bd79190612522565b1115611be257600080fd5b6001600160a01b038516600090815260026020526040902054611c06908290612522565b6001600160a01b03808716600081815260026020526040908190209390935591519088169060008051602061264683398151915290611c489085815260200190565b60405180910390a3600192505050610a6c565b600f805460ff60a01b1916600160a01b179055611c7781611d90565b478015611c9457600154611c94906001600160a01b031682611f17565b5050600f805460ff60a01b19169055565b6000806103e860095484611cb99190612488565b611cc39190612582565b6001600160a01b038516600090815260056020526040902054909150309060ff1615611d07576103e8600a5485611cfa9190612488565b611d049190612582565b91505b8115611d7c576001600160a01b038116600090815260026020526040902054611d31908390612522565b6001600160a01b03808316600081815260026020526040908190209390935591519088169060008051602061264683398151915290611d739086815260200190565b60405180910390a35b611d86828561250b565b9695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611dc557611dc56124dc565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e429190612565565b81600181518110611e5557611e556124dc565b6001600160a01b039283166020918202929092010152600e54611e7b9130911684611592565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611eb49085906000908690309042906004016125e8565b600060405180830381600087803b158015611ece57600080fd5b505af1158015611ee2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051610d44929190612624565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f64576040519150601f19603f3d011682016040523d82523d6000602084013e611f69565b606091505b505050505050565b600060208083528351808285015260005b81811015611f9e57858101830151858201604001528201611f82565b81811115611fb0576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611fef57600080fd5b50565b6000806040838503121561200557600080fd5b823561201081611fda565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561205d5761205d61201e565b604052919050565b600067ffffffffffffffff82111561207f5761207f61201e565b5060051b60200190565b600082601f83011261209a57600080fd5b813560206120af6120aa83612065565b612034565b82815260059290921b840181019181810190868411156120ce57600080fd5b8286015b848110156120e957803583529183019183016120d2565b509695505050505050565b6000806040838503121561210757600080fd5b823567ffffffffffffffff8082111561211f57600080fd5b818501915085601f83011261213357600080fd5b813560206121436120aa83612065565b82815260059290921b8401810191818101908984111561216257600080fd5b948201945b8386101561218957853561217a81611fda565b82529482019490820190612167565b9650508601359250508082111561219f57600080fd5b506121ac85828601612089565b9150509250929050565b6000806000606084860312156121cb57600080fd5b83356121d681611fda565b925060208401356121e681611fda565b929592945050506040919091013590565b8035801515811461220757600080fd5b919050565b60006020828403121561221e57600080fd5b610a6c826121f7565b60006020828403121561223957600080fd5b8135610a6c81611fda565b6000806040838503121561225757600080fd5b823561226281611fda565b9150612270602084016121f7565b90509250929050565b6000806040838503121561228c57600080fd5b50508035926020909101359150565b600080604083850312156122ae57600080fd5b82356122b981611fda565b915060208301356122c981611fda565b809150509250929050565b6000806000606084860312156122e957600080fd5b6122f2846121f7565b925060208401359150612307604085016121f7565b90509250925092565b60006020828403121561232257600080fd5b5035919050565b6000806000806080858703121561233f57600080fd5b843561234a81611fda565b9350612358602086016121f7565b9250612366604086016121f7565b9150612374606086016121f7565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156123d05781600019048211156123b6576123b661237f565b808516156123c357918102915b93841c939080029061239a565b509250929050565b6000826123e7575060016108a2565b816123f4575060006108a2565b816001811461240a576002811461241457612430565b60019150506108a2565b60ff8411156124255761242561237f565b50506001821b6108a2565b5060208310610133831016604e8410600b8410161715612453575081810a6108a2565b61245d8383612395565b80600019048211156124715761247161237f565b029392505050565b6000610a6c60ff8416836123d8565b60008160001904831182151516156124a2576124a261237f565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016125045761250461237f565b5060010190565b60008282101561251d5761251d61237f565b500390565b600082198211156125355761253561237f565b500190565b60208082526011908201527043616e6e6f74206578636565642033302560781b604082015260600190565b60006020828403121561257757600080fd5b8151610a6c81611fda565b60008261259f57634e487b7160e01b600052601260045260246000fd5b500490565b600081518084526020808501945080840160005b838110156125dd5781516001600160a01b0316875295820195908201906001016125b8565b509495945050505050565b85815284602082015260a06040820152600061260760a08301866125a4565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061263d60408301846125a4565b94935050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220245e133b77faeac4da36dfc38d240ebd97cb01dd10ef30a7c784903a0cee0c9a64736f6c634300080d0033

Deployed Bytecode Sourcemap

3297:13556:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:53;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4267:53:0;;;;;;;;6915:83;;;;;;;;;;-1:-1:-1;6985:5:0;;;;;;;;;;;;-1:-1:-1;;;6985:5:0;;;;6915:83;;;;;;;:::i;4452:27::-;;;;;;;;;;-1:-1:-1;4452:27:0;;;;-1:-1:-1;;;;;4452:27:0;;;;;;;;;;:::i;8169:161::-;;;;;;;;;;-1:-1:-1;8169:161:0;;;;;:::i;:::-;;:::i;:::-;;;1645:14:1;;1638:22;1620:41;;1608:2;1593:18;8169:161:0;1480:187:1;7192:100:0;;;;;;;;;;;;;:::i;16303:541::-;;;;;;;;;;-1:-1:-1;16303:541:0;;;;;:::i;:::-;;:::i;:::-;;8861:265;;;;;;;;;;-1:-1:-1;8861:265:0;;;;;:::i;:::-;;:::i;11074:188::-;;;;;;;;;;-1:-1:-1;11074:188:0;;;;;:::i;:::-;;:::i;3495:81::-;;;;;;;;;;;;3534:42;3495:81;;7304:125;;;;;;;;;;;;;:::i;7101:83::-;;;;;;;;;;-1:-1:-1;7101:83:0;;3484:2;5320:36:1;;5308:2;5293:18;7101:83:0;5178:184:1;7715:214:0;;;;;;;;;;-1:-1:-1;7715:214:0;;;;;:::i;:::-;;:::i;3906:45::-;;;;;;;;;;-1:-1:-1;3906:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4486:21;;;;;;;;;;-1:-1:-1;4486:21:0;;;;-1:-1:-1;;;;;4486:21:0;;;11986:321;;;;;;;;;;-1:-1:-1;11986:321:0;;;;;:::i;:::-;;:::i;4126:26::-;;;;;;;;;;;;;;;;3849:50;;;;;;;;;;-1:-1:-1;3849:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4548:30;;;;;;;;;;-1:-1:-1;4548:30:0;;;;-1:-1:-1;;;4548:30:0;;;;;;7437:118;;;;;;;;;;-1:-1:-1;7437:118:0;;;;;:::i;:::-;;:::i;1006:148::-;;;;;;;;;;;;;:::i;4627:28::-;;;;;;;;;;-1:-1:-1;4627:28:0;;;;-1:-1:-1;;;4627:28:0;;;;;;10223:196;;;;;;;;;;-1:-1:-1;10223:196:0;;;;;:::i;:::-;;:::i;4010:48::-;;;;;;;;;;-1:-1:-1;4010:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4328:55;;;;;;;;;;;;;;;;785:79;;;;;;;;;;-1:-1:-1;823:7:0;850:6;-1:-1:-1;;;;;850:6:0;785:79;;4585:35;;;;;;;;;;-1:-1:-1;4585:35:0;;;;-1:-1:-1;;;4585:35:0;;;;;;3958:45;;;;;;;;;;-1:-1:-1;3958:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7006:87;;;;;;;;;;-1:-1:-1;7078:7:0;;;;;;;;;;;;-1:-1:-1;;;7078:7:0;;;;7006:87;;7937:224;;;;;;;;;;-1:-1:-1;7937:224:0;;;;;:::i;:::-;;:::i;8686:167::-;;;;;;;;;;-1:-1:-1;8686:167:0;;;;;:::i;:::-;;:::i;10023:192::-;;;;;;;;;;-1:-1:-1;10023:192:0;;;;;:::i;:::-;;:::i;9918:97::-;;;;;;;;;;-1:-1:-1;9918:97:0;;;;;:::i;:::-;;:::i;10431:310::-;;;;;;;;;;-1:-1:-1;10431:310:0;;;;;:::i;:::-;;:::i;9138:772::-;;;;;;;;;;-1:-1:-1;9138:772:0;;;;;:::i;:::-;;:::i;4065:52::-;;;;;;;;;;-1:-1:-1;4065:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4159:27;;;;;;;;;;;;;;;;3583:99;;;;;;;;;;-1:-1:-1;3583:99:0;;;;-1:-1:-1;;;;;3583:99:0;;;7563:144;;;;;;;;;;-1:-1:-1;7563:144:0;;;;;:::i;:::-;-1:-1:-1;;;;;7672:18:0;;;7645:7;7672:18;;;:10;:18;;;;;;;;:27;;;;;;;;;;;;;7563:144;11653:325;;;;;;;;;;-1:-1:-1;11653:325:0;;;;;:::i;:::-;;:::i;10749:158::-;;;;;;;;;;-1:-1:-1;10749:158:0;;;;;:::i;:::-;;:::i;11270:375::-;;;;;;;;;;-1:-1:-1;11270:375:0;;;;;:::i;:::-;;:::i;10915:151::-;;;;;;;;;;-1:-1:-1;10915:151:0;;;;;:::i;:::-;;:::i;1162:244::-;;;;;;;;;;-1:-1:-1;1162:244:0;;;;;:::i;:::-;;:::i;4662:35::-;;;;;;;;;;-1:-1:-1;4662:35:0;;;;-1:-1:-1;;;4662:35:0;;;;;;4390:53;;;;;;;;;;;;;;;;8169:161;8244:4;8261:39;198:10;8284:7;8293:6;8261:8;:39::i;:::-;-1:-1:-1;8318:4:0;8169:161;;;;;:::o;7192:100::-;7245:7;4247:13;3484:2;4247;:13;:::i;:::-;4235:25;;:9;:25;:::i;:::-;7265:19;;7192:100;:::o;16303:541::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;;;;;;;;;16445:15:::1;:22;16427:7;:14;:40;16419:83;;;::::0;-1:-1:-1;;;16419:83:0;;10023:2:1;16419:83:0::1;::::0;::::1;10005:21:1::0;10062:2;10042:18;;;10035:30;10101:32;10081:18;;;10074:60;10151:18;;16419:83:0::1;9821:354:1::0;16419:83:0::1;16538:3;16521:7;:14;:20;16513:87;;;::::0;-1:-1:-1;;;16513:87:0;;10382:2:1;16513:87:0::1;::::0;::::1;10364:21:1::0;10421:2;10401:18;;;10394:30;10460:34;10440:18;;;10433:62;-1:-1:-1;;;10511:18:1;;;10504:52;10573:19;;16513:87:0::1;10180:418:1::0;16513:87:0::1;16713:9;16709:128;16732:7;:14;16728:1;:18;16709:128;;;16767:58;16782:10;16794:7;16802:1;16794:10;;;;;;;;:::i;:::-;;;;;;;16806:15;16822:1;16806:18;;;;;;;;:::i;:::-;;;;;;;16767:14;:58::i;:::-;-1:-1:-1::0;16748:3:0;::::1;::::0;::::1;:::i;:::-;;;;16709:128;;;;16303:541:::0;;:::o;8861:265::-;8959:4;8976:36;8986:6;8994:9;9005:6;8976:9;:36::i;:::-;-1:-1:-1;;;;;;9054:18:0;;;;;;:10;:18;;;;;;;;198:10;9054:32;;;;;;;;;9023:73;;9032:6;;9054:41;;9089:6;;9054:41;:::i;:::-;9023:8;:73::i;:::-;-1:-1:-1;9114:4:0;8861:265;;;;;;:::o;11074:188::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;11162:16:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;11162:36:0::1;-1:-1:-1::0;;;;11162:36:0;;::::1;;::::0;;11214:40:::1;::::0;::::1;::::0;::::1;::::0;11181:17;1645:14:1;1638:22;1620:41;;1608:2;1593:18;;1480:187;11214:40:0::1;;;;;;;;11074:188:::0;:::o;7304:125::-;7357:7;7399:22;3534:42;7399:9;:22::i;:::-;4247:13;3484:2;4247;:13;:::i;:::-;4235:25;;:9;:25;:::i;:::-;7384:37;;;;:::i;7715:214::-;198:10;7803:4;7852:24;;;:10;:24;;;;;;;;-1:-1:-1;;;;;7852:33:0;;;;;;;;;;7803:4;;7820:79;;7843:7;;7852:46;;7888:10;;7852:46;:::i;11986:321::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12092:37:0;::::1;12084:84;;;::::0;-1:-1:-1;;;12084:84:0;;11340:2:1;12084:84:0::1;::::0;::::1;11322:21:1::0;11379:2;11359:18;;;11352:30;11418:34;11398:18;;;11391:62;-1:-1:-1;;;11469:18:1;;;11462:32;11511:19;;12084:84:0::1;11138:398:1::0;12084:84:0::1;12179:22;:57:::0;;-1:-1:-1;;;;;;12179:57:0::1;-1:-1:-1::0;;;;;12179:57:0;::::1;;::::0;;12252:47:::1;::::0;::::1;::::0;::::1;::::0;12179:57;;12252:47:::1;:::i;7437:118::-:0;-1:-1:-1;;;;;7530:17:0;7503:7;7530:17;;;:8;:17;;;;;;;7437:118::o;1006:148::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;1113:1:::1;1097:6:::0;;1076:40:::1;::::0;-1:-1:-1;;;;;1097:6:0;;::::1;::::0;1076:40:::1;::::0;1113:1;;1076:40:::1;1144:1;1127:19:::0;;-1:-1:-1;;;;;;1127:19:0::1;::::0;;1006:148::o;10223:196::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10317:21:0;::::1;;::::0;;;:12:::1;:21;::::0;;;;;;;;:37;;-1:-1:-1;;10317:37:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10370:41;;11709:51:1;;;11776:18;;;11769:50;10370:41:0::1;::::0;11682:18:1;10370:41:0::1;;;;;;;;10223:196:::0;;:::o;7937:224::-;198:10;8030:4;8079:24;;;:10;:24;;;;;;;;-1:-1:-1;;;;;8079:33:0;;;;;;;;;;8030:4;;8047:84;;8070:7;;8079:51;;8115:15;;8079:51;:::i;8686:167::-;8764:4;8781:42;198:10;8805:9;8816:6;8781:9;:42::i;10023:192::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10113:21:0;::::1;;::::0;;;:12:::1;:21;::::0;;;;;;;;:37;;-1:-1:-1;;10113:37:0::1;::::0;::::1;;::::0;;::::1;::::0;;;10166:41;;11709:51:1;;;11776:18;;;11769:50;10166:41:0::1;::::0;11682:18:1;10166:41:0::1;11541:284:1::0;9918:97:0;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;9987:8:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;9987:20:0::1;-1:-1:-1::0;;;;9987:20:0;;::::1;::::0;;;::::1;::::0;;9918:97::o;10431:310::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;10539:3:::1;10526:9;:16;;10518:46;;;;-1:-1:-1::0;;;10518:46:0::1;;;;;;;:::i;:::-;10597:3;10583:10;:17;;10575:47;;;;-1:-1:-1::0;;;10575:47:0::1;;;;;;;:::i;:::-;10633:6;:18:::0;;;10662:7:::1;:20:::0;;;10698:35:::1;::::0;;12350:25:1;;;12406:2;12391:18;;12384:34;;;10698:35:0::1;::::0;12323:18:1;10698:35:0::1;12176:248:1::0;9138:772:0;9211:22;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;9246:21:::1;9281:16;9246:52;;9339:10;-1:-1:-1::0;;;;;9339:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9327:41:0::1;;9377:4;9384:10;-1:-1:-1::0;;;;;9384:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9327:75;::::0;-1:-1:-1;;;;;;9327:75:0::1;::::0;;;;;;-1:-1:-1;;;;;12915:15:1;;;9327:75:0::1;::::0;::::1;12897:34:1::0;12967:15;;12947:18;;;12940:43;12832:18;;9327:75:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9310:92:::0;-1:-1:-1;;;;;;9418:28:0;::::1;9415:214;;9517:10;-1:-1:-1::0;;;;;9517:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9505:78:0::1;;9592:4;9599:10;-1:-1:-1::0;;;;;9599:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9505:112;::::0;-1:-1:-1;;;;;;9505:112:0::1;::::0;;;;;;-1:-1:-1;;;;;12915:15:1;;;9505:112:0::1;::::0;::::1;12897:34:1::0;12967:15;;12947:18;;;12940:43;12832:18;;9505:112:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9488:129;;9415:214;9641:6;:23:::0;;-1:-1:-1;;;;;9641:23:0;;::::1;-1:-1:-1::0;;;;;;9641:23:0;;::::1;::::0;::::1;::::0;;9698:9:::1;:22:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;9641:6:::1;9758:36:::0;;;:19:::1;:36;::::0;;;;;;;:43;;-1:-1:-1;;9758:43:0;;::::1;9641:23:::0;9758:43;;::::1;::::0;;;9833:6;;;;::::1;9812:29:::0;;:12:::1;:29:::0;;;;;;;:36;;;;::::1;;::::0;;;9864:38;::::1;::::0;::::1;::::0;9885:16;;9864:38:::1;:::i;:::-;;;;;;;;9235:675;9138:772:::0;;;:::o;11653:325::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;11775:11:::1;:26:::0;;11812:13:::1;:30:::0;;;-1:-1:-1;;;;11853:34:0;-1:-1:-1;;;11775:26:0;::::1;;::::0;;::::1;-1:-1:-1::0;;;;11853:34:0;;;;;-1:-1:-1;;;11853:34:0;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;11903:67:::1;::::0;;13184:41:1;;;13256:2;13241:18;;13234:34;;;13284:18;;13277:50;;;;11903:67:0::1;::::0;13172:2:1;13157:18;11903:67:0::1;;;;;;;11653:325:::0;;;:::o;10749:158::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;10825:11:::1;:26:::0;;;10867:32:::1;::::0;160:25:1;;;10867:32:0::1;::::0;148:2:1;133:18;10867:32:0::1;14:177:1::0;11270:375:0;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11401:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;;;;:38;;;::::1;;-1:-1:-1::0;;11401:38:0;;::::1;::::0;::::1;::::0;;;11450:19:::1;:28:::0;;;;;:48;;;::::1;;::::0;;::::1;::::0;::::1;::::0;;;11509:15:::1;:24:::0;;;;;;:40;;;::::1;;::::0;::::1;::::0;::::1;::::0;;11565:72;;13551:51:1;;;13618:18;;;13611:50;13677:18;;13670:50;;;;13751:2;13736:18;;13729:50;11565:72:0::1;::::0;13538:3:1;13523:19;11565:72:0::1;;;;;;;11270:375:::0;;;;:::o;10915:151::-;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;10989:9:::1;:23:::0;;;11028:30:::1;::::0;160:25:1;;;11028:30:0::1;::::0;148:2:1;133:18;11028:30:0::1;14:177:1::0;1162:244:0;919:6;;-1:-1:-1;;;;;919:6:0;198:10;919:22;911:67;;;;-1:-1:-1;;;911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1251:22:0;::::1;1243:73;;;::::0;-1:-1:-1;;;1243:73:0;;13992:2:1;1243:73:0::1;::::0;::::1;13974:21:1::0;14031:2;14011:18;;;14004:30;14070:34;14050:18;;;14043:62;-1:-1:-1;;;14121:18:1;;;14114:36;14167:19;;1243:73:0::1;13790:402:1::0;1243:73:0::1;1353:6;::::0;;1332:38:::1;::::0;-1:-1:-1;;;;;1332:38:0;;::::1;::::0;1353:6;::::1;::::0;1332:38:::1;::::0;::::1;1381:6;:17:::0;;-1:-1:-1;;;;;;1381:17:0::1;-1:-1:-1::0;;;;;1381:17:0;;;::::1;::::0;;;::::1;::::0;;1162:244::o;8338:340::-;-1:-1:-1;;;;;8432:20:0;;8424:69;;;;-1:-1:-1;;;8424:69:0;;14399:2:1;8424:69:0;;;14381:21:1;14438:2;14418:18;;;14411:30;14477:34;14457:18;;;14450:62;-1:-1:-1;;;14528:18:1;;;14521:34;14572:19;;8424:69:0;14197:400:1;8424:69:0;-1:-1:-1;;;;;8512:21:0;;8504:68;;;;-1:-1:-1;;;8504:68:0;;14804:2:1;8504:68:0;;;14786:21:1;14843:2;14823:18;;;14816:30;14882:34;14862:18;;;14855:62;-1:-1:-1;;;14933:18:1;;;14926:32;14975:19;;8504:68:0;14602:398:1;8504:68:0;-1:-1:-1;;;;;8585:18:0;;;;;;;:10;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8637:33;;160:25:1;;;8637:33:0;;133:18:1;8637:33:0;;;;;;;8338:340;;;:::o;14493:296::-;-1:-1:-1;;;;;14622:16:0;;14586:4;14622:16;;;:8;:16;;;;;;:25;;14641:6;;14622:25;:::i;:::-;-1:-1:-1;;;;;14603:16:0;;;;;;;:8;:16;;;;;;:44;;;;14680:19;;;;;;;:28;;14702:6;;14680:28;:::i;:::-;-1:-1:-1;;;;;14658:19:0;;;;;;;:8;:19;;;;;;;:50;;;;14724:35;;;;;;-1:-1:-1;;;;;;;;;;;14724:35:0;;;14752:6;160:25:1;;148:2;133:18;;14:177;14724:35:0;;;;;;;;-1:-1:-1;14777:4:0;14493:296;;;;;:::o;12501:1984::-;12608:8;;12588:4;;-1:-1:-1;;;12608:8:0;;;;12605:1873;;;12641:41;12656:6;12664:9;12675:6;12641:14;:41::i;:::-;12634:48;;;;12605:1873;-1:-1:-1;;;;;12724:20:0;;12716:70;;;;-1:-1:-1;;;12716:70:0;;15207:2:1;12716:70:0;;;15189:21:1;15246:2;15226:18;;;15219:30;15285:34;15265:18;;;15258:62;-1:-1:-1;;;15336:18:1;;;15329:35;15381:19;;12716:70:0;15005:401:1;12716:70:0;-1:-1:-1;;;;;12809:23:0;;12801:71;;;;-1:-1:-1;;;12801:71:0;;15613:2:1;12801:71:0;;;15595:21:1;15652:2;15632:18;;;15625:30;15691:34;15671:18;;;15664:62;-1:-1:-1;;;15742:18:1;;;15735:33;15785:19;;12801:71:0;15411:399:1;12801:71:0;-1:-1:-1;;;;;12896:20:0;;;;;;:12;:20;;;;;;;;12895:21;:49;;;;-1:-1:-1;;;;;;12921:23:0;;;;;;:12;:23;;;;;;;;12920:24;12895:49;12887:93;;;;-1:-1:-1;;;12887:93:0;;16017:2:1;12887:93:0;;;15999:21:1;16056:2;16036:18;;;16029:30;16095:33;16075:18;;;16068:61;16146:18;;12887:93:0;15815:355:1;12887:93:0;-1:-1:-1;;;;;13001:23:0;;;;;;:15;:23;;;;;;;;13000:24;:55;;;;-1:-1:-1;;;;;;13029:26:0;;;;;;:15;:26;;;;;;;;13028:27;13000:55;12997:316;;;13084:8;;-1:-1:-1;;;13084:8:0;;;;13076:34;;;;-1:-1:-1;;;13076:34:0;;16377:2:1;13076:34:0;;;16359:21:1;16416:2;16396:18;;;16389:30;-1:-1:-1;;;16435:18:1;;;16428:43;16488:18;;13076:34:0;16175:337:1;13076:34:0;-1:-1:-1;;;;;13132:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;13156:23:0;;;;;;:12;:23;;;;;;;;13132:47;13129:169;;;13222:11;;13212:6;:21;;13204:74;;;;-1:-1:-1;;;13204:74:0;;16719:2:1;13204:74:0;;;16701:21:1;16758:2;16738:18;;;16731:30;16797:34;16777:18;;;16770:62;-1:-1:-1;;;16848:18:1;;;16841:38;16896:19;;13204:74:0;16517:404:1;13204:74:0;-1:-1:-1;;;;;13349:20:0;;13329:14;13349:20;;;:12;:20;;;;;;;;13348:21;:49;;;;-1:-1:-1;;;;;;13374:23:0;;;;;;:12;:23;;;;;;;;13373:24;13348:49;13347:114;;;-1:-1:-1;;;;;;13436:25:0;;;;;;:17;:25;;;;;;;;13347:114;:146;;;-1:-1:-1;;;;;;13465:28:0;;;;;;:17;:28;;;;;;;;13347:146;13329:165;;13516:9;13515:10;:35;;;;-1:-1:-1;;;;;;13530:20:0;;;;;;:12;:20;;;;;;;;13529:21;13515:35;:50;;;;-1:-1:-1;13554:11:0;;-1:-1:-1;;;13554:11:0;;;;13515:50;:63;;;;-1:-1:-1;13570:8:0;;-1:-1:-1;;;13570:8:0;;;;13569:9;13515:63;13511:493;;;13613:28;13644:24;13662:4;13644:9;:24::i;:::-;13742:13;;13613:55;;-1:-1:-1;13718:37:0;;;;;13774:215;;13828:15;;-1:-1:-1;;;13828:15:0;;;;13825:81;;;13893:13;;13870:36;;13825:81;13929:36;13944:20;13929:14;:36::i;:::-;13594:410;;13511:493;-1:-1:-1;;;;;14039:16:0;;;;;;:8;:16;;;;;;:25;;14058:6;;14039:25;:::i;:::-;-1:-1:-1;;;;;14020:16:0;;;;;;:8;:16;;;;;:44;;;;14103:9;:55;;14124:34;14132:6;14140:9;14151:6;14124:7;:34::i;:::-;14103:55;;;14115:6;14103:55;14178:16;;14081:77;;-1:-1:-1;;;;14178:16:0;;;;:51;;;;-1:-1:-1;;;;;;14199:30:0;;;;;;:19;:30;;;;;;;;14198:31;14178:51;14175:131;;;14296:9;;14280:11;14257:20;14267:9;14257;:20::i;:::-;:34;;;;:::i;:::-;14256:49;;14248:58;;;;;;-1:-1:-1;;;;;14345:19:0;;;;;;:8;:19;;;;;;:33;;14367:11;;14345:33;:::i;:::-;-1:-1:-1;;;;;14323:19:0;;;;;;;:8;:19;;;;;;;:55;;;;14400:40;;;;;;-1:-1:-1;;;;;;;;;;;14400:40:0;;;14428:11;160:25:1;;148:2;133:18;;14:177;14400:40:0;;;;;;;;14462:4;14455:11;;;;;;14797:296;5749:8;:15;;-1:-1:-1;;;;5749:15:0;-1:-1:-1;;;5749:15:0;;;14875:31:::1;14892:13:::0;14875:16:::1;:31::i;:::-;14942:21;14979:18:::0;;14976:110:::1;;15035:22;::::0;15014:60:::1;::::0;-1:-1:-1;;;;;15035:22:0::1;15059:14:::0;15014:20:::1;:60::i;:::-;-1:-1:-1::0;;5787:8:0;:16;;-1:-1:-1;;;;5787:16:0;;;14797:296::o;15757:534::-;15843:7;15863:17;15903:4;15893:6;;15884;:15;;;;:::i;:::-;15883:24;;;;:::i;:::-;-1:-1:-1;;;;;15972:23:0;;15921:19;15972:23;;;:12;:23;;;;;;15863:44;;-1:-1:-1;15951:4:0;;15972:23;;15969:95;;;16045:4;16034:7;;16025:6;:16;;;;:::i;:::-;16024:25;;;;:::i;:::-;16012:37;;15969:95;16087:13;;16084:162;;-1:-1:-1;;;;;16141:21:0;;;;;;:8;:21;;;;;;:33;;16165:9;;16141:33;:::i;:::-;-1:-1:-1;;;;;16117:21:0;;;;;;;:8;:21;;;;;;;:57;;;;16194:40;;;;;;-1:-1:-1;;;;;;;;;;;16194:40:0;;;16224:9;160:25:1;;148:2;133:18;;14:177;16194:40:0;;;;;;;;16084:162;16265:18;16274:9;16265:6;:18;:::i;:::-;16258:25;15757:534;-1:-1:-1;;;;;;15757:534:0:o;15101:648::-;15251:16;;;15265:1;15251:16;;;;;;;;15227:21;;15251:16;;;;;;;;;;-1:-1:-1;15251:16:0;15227:40;;15296:4;15278;15283:1;15278:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15278:23:0;;;:7;;;;;;;;;;:23;;;;15322:9;;:16;;;-1:-1:-1;;;15322:16:0;;;;:9;;;;;:14;;:16;;;;;15278:7;;15322:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15312:4;15317:1;15312:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15312:26:0;;;:7;;;;;;;;;:26;15383:9;;15351:56;;15368:4;;15383:9;15395:11;15351:8;:56::i;:::-;15446:9;;:234;;-1:-1:-1;;;15446:234:0;;-1:-1:-1;;;;;15446:9:0;;;;:60;;:234;;15521:11;;15446:9;;15591:4;;15618;;15654:15;;15446:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15706:35;15723:11;15736:4;15706:35;;;;;;;:::i;12315:178::-;12407:12;12451:9;-1:-1:-1;;;;;12443:23:0;12474:6;12443:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12315:178:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:221::-;-1:-1:-1;;;;;980:32:1;;;;962:51;;950:2;935:18;;798:221::o;1024:131::-;-1:-1:-1;;;;;1099:31:1;;1089:42;;1079:70;;1145:1;1142;1135:12;1079:70;1024:131;:::o;1160:315::-;1228:6;1236;1289:2;1277:9;1268:7;1264:23;1260:32;1257:52;;;1305:1;1302;1295:12;1257:52;1344:9;1331:23;1363:31;1388:5;1363:31;:::i;:::-;1413:5;1465:2;1450:18;;;;1437:32;;-1:-1:-1;;;1160:315:1:o;1672:127::-;1733:10;1728:3;1724:20;1721:1;1714:31;1764:4;1761:1;1754:15;1788:4;1785:1;1778:15;1804:275;1875:2;1869:9;1940:2;1921:13;;-1:-1:-1;;1917:27:1;1905:40;;1975:18;1960:34;;1996:22;;;1957:62;1954:88;;;2022:18;;:::i;:::-;2058:2;2051:22;1804:275;;-1:-1:-1;1804:275:1:o;2084:183::-;2144:4;2177:18;2169:6;2166:30;2163:56;;;2199:18;;:::i;:::-;-1:-1:-1;2244:1:1;2240:14;2256:4;2236:25;;2084:183::o;2272:662::-;2326:5;2379:3;2372:4;2364:6;2360:17;2356:27;2346:55;;2397:1;2394;2387:12;2346:55;2433:6;2420:20;2459:4;2483:60;2499:43;2539:2;2499:43;:::i;:::-;2483:60;:::i;:::-;2577:15;;;2663:1;2659:10;;;;2647:23;;2643:32;;;2608:12;;;;2687:15;;;2684:35;;;2715:1;2712;2705:12;2684:35;2751:2;2743:6;2739:15;2763:142;2779:6;2774:3;2771:15;2763:142;;;2845:17;;2833:30;;2883:12;;;;2796;;2763:142;;;-1:-1:-1;2923:5:1;2272:662;-1:-1:-1;;;;;;2272:662:1:o;2939:1215::-;3057:6;3065;3118:2;3106:9;3097:7;3093:23;3089:32;3086:52;;;3134:1;3131;3124:12;3086:52;3174:9;3161:23;3203:18;3244:2;3236:6;3233:14;3230:34;;;3260:1;3257;3250:12;3230:34;3298:6;3287:9;3283:22;3273:32;;3343:7;3336:4;3332:2;3328:13;3324:27;3314:55;;3365:1;3362;3355:12;3314:55;3401:2;3388:16;3423:4;3447:60;3463:43;3503:2;3463:43;:::i;3447:60::-;3541:15;;;3623:1;3619:10;;;;3611:19;;3607:28;;;3572:12;;;;3647:19;;;3644:39;;;3679:1;3676;3669:12;3644:39;3703:11;;;;3723:217;3739:6;3734:3;3731:15;3723:217;;;3819:3;3806:17;3836:31;3861:5;3836:31;:::i;:::-;3880:18;;3756:12;;;;3918;;;;3723:217;;;3959:5;-1:-1:-1;;4002:18:1;;3989:32;;-1:-1:-1;;4033:16:1;;;4030:36;;;4062:1;4059;4052:12;4030:36;;4085:63;4140:7;4129:8;4118:9;4114:24;4085:63;:::i;:::-;4075:73;;;2939:1215;;;;;:::o;4159:456::-;4236:6;4244;4252;4305:2;4293:9;4284:7;4280:23;4276:32;4273:52;;;4321:1;4318;4311:12;4273:52;4360:9;4347:23;4379:31;4404:5;4379:31;:::i;:::-;4429:5;-1:-1:-1;4486:2:1;4471:18;;4458:32;4499:33;4458:32;4499:33;:::i;:::-;4159:456;;4551:7;;-1:-1:-1;;;4605:2:1;4590:18;;;;4577:32;;4159:456::o;4620:160::-;4685:20;;4741:13;;4734:21;4724:32;;4714:60;;4770:1;4767;4760:12;4714:60;4620:160;;;:::o;4785:180::-;4841:6;4894:2;4882:9;4873:7;4869:23;4865:32;4862:52;;;4910:1;4907;4900:12;4862:52;4933:26;4949:9;4933:26;:::i;5367:247::-;5426:6;5479:2;5467:9;5458:7;5454:23;5450:32;5447:52;;;5495:1;5492;5485:12;5447:52;5534:9;5521:23;5553:31;5578:5;5553:31;:::i;5619:315::-;5684:6;5692;5745:2;5733:9;5724:7;5720:23;5716:32;5713:52;;;5761:1;5758;5751:12;5713:52;5800:9;5787:23;5819:31;5844:5;5819:31;:::i;:::-;5869:5;-1:-1:-1;5893:35:1;5924:2;5909:18;;5893:35;:::i;:::-;5883:45;;5619:315;;;;;:::o;5939:248::-;6007:6;6015;6068:2;6056:9;6047:7;6043:23;6039:32;6036:52;;;6084:1;6081;6074:12;6036:52;-1:-1:-1;;6107:23:1;;;6177:2;6162:18;;;6149:32;;-1:-1:-1;5939:248:1:o;6416:388::-;6484:6;6492;6545:2;6533:9;6524:7;6520:23;6516:32;6513:52;;;6561:1;6558;6551:12;6513:52;6600:9;6587:23;6619:31;6644:5;6619:31;:::i;:::-;6669:5;-1:-1:-1;6726:2:1;6711:18;;6698:32;6739:33;6698:32;6739:33;:::i;:::-;6791:7;6781:17;;;6416:388;;;;;:::o;6809:316::-;6880:6;6888;6896;6949:2;6937:9;6928:7;6924:23;6920:32;6917:52;;;6965:1;6962;6955:12;6917:52;6988:26;7004:9;6988:26;:::i;:::-;6978:36;;7061:2;7050:9;7046:18;7033:32;7023:42;;7084:35;7115:2;7104:9;7100:18;7084:35;:::i;:::-;7074:45;;6809:316;;;;;:::o;7130:180::-;7189:6;7242:2;7230:9;7221:7;7217:23;7213:32;7210:52;;;7258:1;7255;7248:12;7210:52;-1:-1:-1;7281:23:1;;7130:180;-1:-1:-1;7130:180:1:o;7315:452::-;7392:6;7400;7408;7416;7469:3;7457:9;7448:7;7444:23;7440:33;7437:53;;;7486:1;7483;7476:12;7437:53;7525:9;7512:23;7544:31;7569:5;7544:31;:::i;:::-;7594:5;-1:-1:-1;7618:35:1;7649:2;7634:18;;7618:35;:::i;:::-;7608:45;;7672:35;7703:2;7692:9;7688:18;7672:35;:::i;:::-;7662:45;;7726:35;7757:2;7746:9;7742:18;7726:35;:::i;:::-;7716:45;;7315:452;;;;;;;:::o;7772:127::-;7833:10;7828:3;7824:20;7821:1;7814:31;7864:4;7861:1;7854:15;7888:4;7885:1;7878:15;7904:422;7993:1;8036:5;7993:1;8050:270;8071:7;8061:8;8058:21;8050:270;;;8130:4;8126:1;8122:6;8118:17;8112:4;8109:27;8106:53;;;8139:18;;:::i;:::-;8189:7;8179:8;8175:22;8172:55;;;8209:16;;;;8172:55;8288:22;;;;8248:15;;;;8050:270;;;8054:3;7904:422;;;;;:::o;8331:806::-;8380:5;8410:8;8400:80;;-1:-1:-1;8451:1:1;8465:5;;8400:80;8499:4;8489:76;;-1:-1:-1;8536:1:1;8550:5;;8489:76;8581:4;8599:1;8594:59;;;;8667:1;8662:130;;;;8574:218;;8594:59;8624:1;8615:10;;8638:5;;;8662:130;8699:3;8689:8;8686:17;8683:43;;;8706:18;;:::i;:::-;-1:-1:-1;;8762:1:1;8748:16;;8777:5;;8574:218;;8876:2;8866:8;8863:16;8857:3;8851:4;8848:13;8844:36;8838:2;8828:8;8825:16;8820:2;8814:4;8811:12;8807:35;8804:77;8801:159;;;-1:-1:-1;8913:19:1;;;8945:5;;8801:159;8992:34;9017:8;9011:4;8992:34;:::i;:::-;9062:6;9058:1;9054:6;9050:19;9041:7;9038:32;9035:58;;;9073:18;;:::i;:::-;9111:20;;8331:806;-1:-1:-1;;;8331:806:1:o;9142:140::-;9200:5;9229:47;9270:4;9260:8;9256:19;9250:4;9229:47;:::i;9287:168::-;9327:7;9393:1;9389;9385:6;9381:14;9378:1;9375:21;9370:1;9363:9;9356:17;9352:45;9349:71;;;9400:18;;:::i;:::-;-1:-1:-1;9440:9:1;;9287:168::o;9460:356::-;9662:2;9644:21;;;9681:18;;;9674:30;9740:34;9735:2;9720:18;;9713:62;9807:2;9792:18;;9460:356::o;10603:127::-;10664:10;10659:3;10655:20;10652:1;10645:31;10695:4;10692:1;10685:15;10719:4;10716:1;10709:15;10735:135;10774:3;10795:17;;;10792:43;;10815:18;;:::i;:::-;-1:-1:-1;10862:1:1;10851:13;;10735:135::o;10875:125::-;10915:4;10943:1;10940;10937:8;10934:34;;;10948:18;;:::i;:::-;-1:-1:-1;10985:9:1;;10875:125::o;11005:128::-;11045:3;11076:1;11072:6;11069:1;11066:13;11063:39;;;11082:18;;:::i;:::-;-1:-1:-1;11118:9:1;;11005:128::o;11830:341::-;12032:2;12014:21;;;12071:2;12051:18;;;12044:30;-1:-1:-1;;;12105:2:1;12090:18;;12083:47;12162:2;12147:18;;11830:341::o;12429:251::-;12499:6;12552:2;12540:9;12531:7;12527:23;12523:32;12520:52;;;12568:1;12565;12558:12;12520:52;12600:9;12594:16;12619:31;12644:5;12619:31;:::i;16926:217::-;16966:1;16992;16982:132;;17036:10;17031:3;17027:20;17024:1;17017:31;17071:4;17068:1;17061:15;17099:4;17096:1;17089:15;16982:132;-1:-1:-1;17128:9:1;;16926:217::o;17148:461::-;17201:3;17239:5;17233:12;17266:6;17261:3;17254:19;17292:4;17321:2;17316:3;17312:12;17305:19;;17358:2;17351:5;17347:14;17379:1;17389:195;17403:6;17400:1;17397:13;17389:195;;;17468:13;;-1:-1:-1;;;;;17464:39:1;17452:52;;17524:12;;;;17559:15;;;;17500:1;17418:9;17389:195;;;-1:-1:-1;17600:3:1;;17148:461;-1:-1:-1;;;;;17148:461:1:o;17614:582::-;17913:6;17902:9;17895:25;17956:6;17951:2;17940:9;17936:18;17929:34;17999:3;17994:2;17983:9;17979:18;17972:31;17876:4;18020:57;18072:3;18061:9;18057:19;18049:6;18020:57;:::i;:::-;-1:-1:-1;;;;;18113:32:1;;;;18108:2;18093:18;;18086:60;-1:-1:-1;18177:3:1;18162:19;18155:35;18012:65;17614:582;-1:-1:-1;;;17614:582:1:o;18201:332::-;18408:6;18397:9;18390:25;18451:2;18446;18435:9;18431:18;18424:30;18371:4;18471:56;18523:2;18512:9;18508:18;18500:6;18471:56;:::i;:::-;18463:64;18201:332;-1:-1:-1;;;;18201:332:1:o

Swarm Source

ipfs://245e133b77faeac4da36dfc38d240ebd97cb01dd10ef30a7c784903a0cee0c9a
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.