ETH Price: $2,455.92 (+2.54%)

Token

BabyGROK (BabyGROK)
 

Overview

Max Total Supply

69,000,000 BabyGROK

Holders

742

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
572,072.13202752592688803 BabyGROK

Value
$0.00
0x899d57ff4d0eb5901fed688f6563c27742915c47
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:
BabyGROKToken

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.23;

abstract contract Context {

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

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

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data,
     uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address public _owner;

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


    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

}

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

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

contract BabyGROKToken is Context, IERC20, Ownable {
     using SafeMath for uint256;
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable public marketingWalletAddress = payable(0x000000000000000000000000000000000000dEaD);
    address payable public teamWalletAddress = payable(0x000000000000000000000000000000000000dEaD);
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

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

    mapping (address => bool) public isMarketPair;

    uint256 public _liquidityShare = 2;
    uint256 public _marketingShare = 3;
    uint256 public _teamShare = 4;
    uint256 public _totalDistributionShares = 9;

    uint256 public _totalTaxIfBuying = 0;
    uint256 public _totalTaxIfSelling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;


    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    bool public swapAndLiquifyByLimitOnly;
    bool inSwapAndLiquify;
    bool public andLiquifyEnabled ;

    event AndLiquifyEnabledUpdated(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 (
        uint256 supply,
        address owner
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _owner = owner;
        _name = "BabyGROK";
        _symbol = "BabyGROK";
        _decimals = 18;
        _totalSupply = supply  * 10 ** _decimals;

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        
        _balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _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));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

    function changeSwap(address newRouterAddress) public onlyOwner returns(address newPairAddress) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(uniswapV2Router);

        newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());

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

        uniswapPair = newPairAddress; //Set new pair address
        uniswapV2Router = IUniswapV2Router02(newRouterAddress); //Set new router address
        andLiquifyEnabled = true;
        isMarketPair[address(uniswapPair)] = true;
    }

    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 _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");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(inSwapAndLiquify)
        {
            return _basicTransfer(sender, recipient, amount);
        }
        else
        {

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

            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && andLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly){
                    contractTokenBalance = _minimumTokensBeforeSwap;
                }
                swapAndLiquify(contractTokenBalance,sender);
            }

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

            uint256 finalAmount = takeFee(sender, recipient, amount);

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

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

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

    function swapAndLiquify(uint256 tAmount,address from) private lockTheSwap {

        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap,from);
        uint256 amountReceived = address(this).balance;

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


    }

    function swapTokensForEth(uint256 tokenAmount,address from) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](3);
        path[0] = address(this);
        path[1] = from;
        path[2] = 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
            owner(),
            block.timestamp
        );
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"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":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","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":[],"name":"andLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeSwap","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","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":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","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":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","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":[{"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060026009556003600a556004600b556009600c555f600d555f600e555f60105560405162003c3338038062003c33833981810160405281019062000110919062000473565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600881526020017f4261627947524f4b00000000000000000000000000000000000000000000000081525060019081620001ad919062000713565b506040518060400160405280600881526020017f4261627947524f4b00000000000000000000000000000000000000000000000081525060029081620001f4919062000713565b50601260035f6101000a81548160ff021916908360ff16021790555060035f9054906101000a900460ff16600a6200022d919062000980565b836200023a9190620009d0565b600f819055508060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600f5460065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620003c5919062000a2b565b60405180910390a350505062000a46565b5f80fd5b5f819050919050565b620003ee81620003da565b8114620003f9575f80fd5b50565b5f815190506200040c81620003e3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200043d8262000412565b9050919050565b6200044f8162000431565b81146200045a575f80fd5b50565b5f815190506200046d8162000444565b92915050565b5f80604083850312156200048c576200048b620003d6565b5b5f6200049b85828601620003fc565b9250506020620004ae858286016200045d565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200053457607f821691505b6020821081036200054a5762000549620004ef565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000571565b620005ba868362000571565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620005fb620005f5620005ef84620003da565b620005d2565b620003da565b9050919050565b5f819050919050565b6200061683620005db565b6200062e620006258262000602565b8484546200057d565b825550505050565b5f90565b6200064462000636565b620006518184846200060b565b505050565b5b8181101562000678576200066c5f826200063a565b60018101905062000657565b5050565b601f821115620006c757620006918162000550565b6200069c8462000562565b81016020851015620006ac578190505b620006c4620006bb8562000562565b83018262000656565b50505b505050565b5f82821c905092915050565b5f620006e95f1984600802620006cc565b1980831691505092915050565b5f620007038383620006d8565b9150826002028217905092915050565b6200071e82620004b8565b67ffffffffffffffff8111156200073a5762000739620004c2565b5b6200074682546200051c565b620007538282856200067c565b5f60209050601f83116001811462000789575f841562000774578287015190505b620007808582620006f6565b865550620007ef565b601f198416620007998662000550565b5f5b82811015620007c2578489015182556001820191506020850194506020810190506200079b565b86831015620007e25784890151620007de601f891682620006d8565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200088157808604811115620008595762000858620007f7565b5b6001851615620008695780820291505b8081029050620008798562000824565b945062000839565b94509492505050565b5f826200089b57600190506200096d565b81620008aa575f90506200096d565b8160018114620008c35760028114620008ce5762000904565b60019150506200096d565b60ff841115620008e357620008e2620007f7565b5b8360020a915084821115620008fd57620008fc620007f7565b5b506200096d565b5060208310610133831016604e8410600b84101617156200093e5782820a905083811115620009385762000937620007f7565b5b6200096d565b6200094d848484600162000830565b92509050818404811115620009675762000966620007f7565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200098c82620003da565b9150620009998362000974565b9250620009c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200088a565b905092915050565b5f620009dc82620003da565b9150620009e983620003da565b9250828202620009f981620003da565b9150828204841483151762000a135762000a12620007f7565b5b5092915050565b62000a2581620003da565b82525050565b5f60208201905062000a405f83018462000a1a565b92915050565b6131df8062000a545f395ff3fe6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063c816841b11610094578063dd62ed3e11610063578063dd62ed3e14610705578063f039c69f14610741578063f0cd1dac1461076b578063f2fde38b14610795576101ed565b8063c816841b1461064b578063d158272d14610675578063d59c58be1461069f578063da00097d146106db576101ed565b8063a457c2d7116100d0578063a457c2d71461057f578063a83f53a7146105bb578063a9059cbb146105e5578063b2bdfa7b14610621576101ed565b80638da5cb5b146104eb578063914eb66a1461051557806395d89b411461052b578063a08e671f14610555576101ed565b8063313ce5671161017957806357a5802f1161014857806357a5802f1461043157806361a23c691461045b57806370a082311461048557806382eefb43146104c1576101ed565b8063313ce56714610365578063395093511461038f5780633ecad271146103cb578063557ed1ba14610407576101ed565b806318160ddd116101b557806318160ddd146102ab57806323b872dd146102d557806327c8f835146103115780632b112e491461033b576101ed565b806306fdde03146101f1578063095ea7b31461021b5780631245e347146102575780631694505e14610281576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b506102056107bd565b60405161021291906125da565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061268b565b61084d565b60405161024e91906126e3565b60405180910390f35b348015610262575f80fd5b5061026b61086a565b604051610278919061271c565b60405180910390f35b34801561028c575f80fd5b5061029561088f565b6040516102a29190612790565b60405180910390f35b3480156102b6575f80fd5b506102bf6108b4565b6040516102cc91906127b8565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f691906127d1565b6108bd565b60405161030891906126e3565b60405180910390f35b34801561031c575f80fd5b50610325610992565b6040516103329190612830565b60405180910390f35b348015610346575f80fd5b5061034f6109b7565b60405161035c91906127b8565b60405180910390f35b348015610370575f80fd5b506103796109fb565b6040516103869190612864565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b0919061268b565b610a10565b6040516103c291906126e3565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec919061287d565b610abe565b6040516103fe91906126e3565b60405180910390f35b348015610412575f80fd5b5061041b610adb565b60405161042891906127b8565b60405180910390f35b34801561043c575f80fd5b50610445610ae2565b60405161045291906127b8565b60405180910390f35b348015610466575f80fd5b5061046f610ae8565b60405161047c91906127b8565b60405180910390f35b348015610490575f80fd5b506104ab60048036038101906104a6919061287d565b610aee565b6040516104b891906127b8565b60405180910390f35b3480156104cc575f80fd5b506104d5610b34565b6040516104e291906127b8565b60405180910390f35b3480156104f6575f80fd5b506104ff610b3a565b60405161050c9190612830565b60405180910390f35b348015610520575f80fd5b50610529610b61565b005b348015610536575f80fd5b5061053f610caf565b60405161054c91906125da565b60405180910390f35b348015610560575f80fd5b50610569610d3f565b60405161057691906127b8565b60405180910390f35b34801561058a575f80fd5b506105a560048036038101906105a0919061268b565b610d45565b6040516105b291906126e3565b60405180910390f35b3480156105c6575f80fd5b506105cf610e0d565b6040516105dc91906127b8565b60405180910390f35b3480156105f0575f80fd5b5061060b6004803603810190610606919061268b565b610e13565b60405161061891906126e3565b60405180910390f35b34801561062c575f80fd5b50610635610e31565b6040516106429190612830565b60405180910390f35b348015610656575f80fd5b5061065f610e54565b60405161066c9190612830565b60405180910390f35b348015610680575f80fd5b50610689610e79565b604051610696919061271c565b60405180910390f35b3480156106aa575f80fd5b506106c560048036038101906106c0919061287d565b610e9f565b6040516106d29190612830565b60405180910390f35b3480156106e6575f80fd5b506106ef61134d565b6040516106fc91906126e3565b60405180910390f35b348015610710575f80fd5b5061072b600480360381019061072691906128a8565b611360565b60405161073891906127b8565b60405180910390f35b34801561074c575f80fd5b506107556113e2565b60405161076291906126e3565b60405180910390f35b348015610776575f80fd5b5061077f6113f5565b60405161078c91906127b8565b60405180910390f35b3480156107a0575f80fd5b506107bb60048036038101906107b6919061287d565b6113fb565b005b6060600180546107cc90612913565b80601f01602080910402602001604051908101604052809291908181526020018280546107f890612913565b80156108435780601f1061081a57610100808354040283529160200191610843565b820191905f5260205f20905b81548152906001019060200180831161082657829003601f168201915b5050505050905090565b5f6108606108596115b8565b84846115bf565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600f54905090565b5f6108c9848484611782565b50610987846108d66115b8565b6109828560405180606001604052806028815260200161315d6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109396115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b6115bf565b600190509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6109f66109e560055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aee565b600f54611bca90919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610ab4610a1c6115b8565b84610aaf8560075f610a2c6115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b6115bf565b6001905092915050565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f42905090565b60095481565b600a5481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b696115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec9061298d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610cbe90612913565b80601f0160208091040260200160405190810160405280929190818152602001828054610cea90612913565b8015610d355780601f10610d0c57610100808354040283529160200191610d35565b820191905f5260205f20905b815481529060010190602001808311610d1857829003601f168201915b5050505050905090565b600c5481565b5f610e03610d516115b8565b84610dfe856040518060600160405280602581526020016131856025913960075f610d7a6115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b6115bf565b6001905092915050565b600b5481565b5f610e26610e1f6115b8565b8484611782565b506001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ea86115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b9061298d565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc691906129bf565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906129bf565b6040518363ffffffff1660e01b815260040161106c9291906129ea565b602060405180830381865afa158015611087573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ab91906129bf565b91505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611236578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611129573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114d91906129bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d691906129bf565b6040518363ffffffff1660e01b81526004016111f39291906129ea565b6020604051808303815f875af115801561120f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123391906129bf565b91505b8160125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601260166101000a81548160ff021916908315150217905550600160085f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050919050565b601260149054906101000a900460ff1681565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b601260169054906101000a900460ff1681565b600d5481565b6114036115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114869061298d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490612a81565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162490612b0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290612b9d565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161177591906127b8565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e890612c2b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361185f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185690612cb9565b60405180910390fd5b5f82116118a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189890612d47565b60405180910390fd5b601260159054906101000a900460ff16156118c8576118c1848484611c70565b9050611b61565b5f6118d230610aee565b90505f60105482101590508080156118f75750601260159054906101000a900460ff16155b801561194a575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156119625750601260169054906101000a900460ff165b1561198d57601260149054906101000a900460ff16156119825760105491505b61198c8287611e3a565b5b611a14846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f611a61878787611f0e565b9050611ab38160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b5191906127b8565b60405180910390a3600193505050505b9392505050565b5f838311158290611baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba691906125da565b60405180910390fd5b505f8385611bbd9190612d92565b9050809150509392505050565b5f611c0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b68565b905092915050565b5f808284611c219190612dc5565b905083811015611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d90612e42565b60405180910390fd5b8091505092915050565b5f611cf8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d898260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e2791906127b8565b60405180910390a3600190509392505050565b6001601260156101000a81548160ff0219169083151502179055505f611e926002611e84600c54611e766009548861212890919063ffffffff16565b61219f90919063ffffffff16565b61219f90919063ffffffff16565b90505f611ea88285611bca90919063ffffffff16565b9050611eb481846121e8565b5f4790505f811115611eed57611eec600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826124a7565b5b5050505f601260156101000a81548160ff0219169083151502179055505050565b5f805f905060085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611f9157611f8a6064611f7c600d548661212890919063ffffffff16565b61219f90919063ffffffff16565b905061200c565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561200b576120086064611ffa600e548661212890919063ffffffff16565b61219f90919063ffffffff16565b90505b5b5f81111561210b576120648160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210291906127b8565b60405180910390a35b61211e8184611bca90919063ffffffff16565b9150509392505050565b5f808303612138575f9050612199565b5f82846121459190612e60565b90508284826121549190612ece565b14612194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218b90612f6e565b60405180910390fd5b809150505b92915050565b5f6121e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124ef565b905092915050565b5f600367ffffffffffffffff81111561220457612203612f8c565b5b6040519080825280602002602001820160405280156122325781602001602082028036833780820191505090505b50905030815f8151811061224957612248612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061229857612297612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561233c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236091906129bf565b8160028151811061237457612373612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123da3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856115bf565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b815260040161243c9594939291906130d6565b5f604051808303815f87803b158015612453575f80fd5b505af1158015612465573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7838260405161249a92919061312e565b60405180910390a1505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156124ea573d5f803e3d5ffd5b505050565b5f8083118290612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c91906125da565b60405180910390fd5b505f83856125439190612ece565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561258757808201518184015260208101905061256c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6125ac82612550565b6125b6818561255a565b93506125c681856020860161256a565b6125cf81612592565b840191505092915050565b5f6020820190508181035f8301526125f281846125a2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612627826125fe565b9050919050565b6126378161261d565b8114612641575f80fd5b50565b5f813590506126528161262e565b92915050565b5f819050919050565b61266a81612658565b8114612674575f80fd5b50565b5f8135905061268581612661565b92915050565b5f80604083850312156126a1576126a06125fa565b5b5f6126ae85828601612644565b92505060206126bf85828601612677565b9150509250929050565b5f8115159050919050565b6126dd816126c9565b82525050565b5f6020820190506126f65f8301846126d4565b92915050565b5f612706826125fe565b9050919050565b612716816126fc565b82525050565b5f60208201905061272f5f83018461270d565b92915050565b5f819050919050565b5f61275861275361274e846125fe565b612735565b6125fe565b9050919050565b5f6127698261273e565b9050919050565b5f61277a8261275f565b9050919050565b61278a81612770565b82525050565b5f6020820190506127a35f830184612781565b92915050565b6127b281612658565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b5f805f606084860312156127e8576127e76125fa565b5b5f6127f586828701612644565b935050602061280686828701612644565b925050604061281786828701612677565b9150509250925092565b61282a8161261d565b82525050565b5f6020820190506128435f830184612821565b92915050565b5f60ff82169050919050565b61285e81612849565b82525050565b5f6020820190506128775f830184612855565b92915050565b5f60208284031215612892576128916125fa565b5b5f61289f84828501612644565b91505092915050565b5f80604083850312156128be576128bd6125fa565b5b5f6128cb85828601612644565b92505060206128dc85828601612644565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061292a57607f821691505b60208210810361293d5761293c6128e6565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61297760208361255a565b915061298282612943565b602082019050919050565b5f6020820190508181035f8301526129a48161296b565b9050919050565b5f815190506129b98161262e565b92915050565b5f602082840312156129d4576129d36125fa565b5b5f6129e1848285016129ab565b91505092915050565b5f6040820190506129fd5f830185612821565b612a0a6020830184612821565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a6b60268361255a565b9150612a7682612a11565b604082019050919050565b5f6020820190508181035f830152612a9881612a5f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612af960248361255a565b9150612b0482612a9f565b604082019050919050565b5f6020820190508181035f830152612b2681612aed565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b8760228361255a565b9150612b9282612b2d565b604082019050919050565b5f6020820190508181035f830152612bb481612b7b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1560258361255a565b9150612c2082612bbb565b604082019050919050565b5f6020820190508181035f830152612c4281612c09565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ca360238361255a565b9150612cae82612c49565b604082019050919050565b5f6020820190508181035f830152612cd081612c97565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3160298361255a565b9150612d3c82612cd7565b604082019050919050565b5f6020820190508181035f830152612d5e81612d25565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d9c82612658565b9150612da783612658565b9250828203905081811115612dbf57612dbe612d65565b5b92915050565b5f612dcf82612658565b9150612dda83612658565b9250828201905080821115612df257612df1612d65565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b8361255a565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b9050919050565b5f612e6a82612658565b9150612e7583612658565b9250828202612e8381612658565b91508282048414831517612e9a57612e99612d65565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ed882612658565b9150612ee383612658565b925082612ef357612ef2612ea1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5860218361255a565b9150612f6382612efe565b604082019050919050565b5f6020820190508181035f830152612f8581612f4c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f613009613004612fff84612fe6565b612735565b612658565b9050919050565b61301981612fef565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130518161261d565b82525050565b5f6130628383613048565b60208301905092915050565b5f602082019050919050565b5f6130848261301f565b61308e8185613029565b935061309983613039565b805f5b838110156130c95781516130b08882613057565b97506130bb8361306e565b92505060018101905061309c565b5085935050505092915050565b5f60a0820190506130e95f8301886127a9565b6130f66020830187613010565b8181036040830152613108818661307a565b90506131176060830185612821565b61312460808301846127a9565b9695505050505050565b5f6040820190506131415f8301856127a9565b8181036020830152613153818461307a565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122056c2522d8d97ac14cf15feec5950ca28dbee3ea2158304de034102d464cf2d2664736f6c6343000817003300000000000000000000000000000000000000000000000000000000041cdb4000000000000000000000000089b2c821e287c5710c4ead8c4709b78da4729500

Deployed Bytecode

0x6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063c816841b11610094578063dd62ed3e11610063578063dd62ed3e14610705578063f039c69f14610741578063f0cd1dac1461076b578063f2fde38b14610795576101ed565b8063c816841b1461064b578063d158272d14610675578063d59c58be1461069f578063da00097d146106db576101ed565b8063a457c2d7116100d0578063a457c2d71461057f578063a83f53a7146105bb578063a9059cbb146105e5578063b2bdfa7b14610621576101ed565b80638da5cb5b146104eb578063914eb66a1461051557806395d89b411461052b578063a08e671f14610555576101ed565b8063313ce5671161017957806357a5802f1161014857806357a5802f1461043157806361a23c691461045b57806370a082311461048557806382eefb43146104c1576101ed565b8063313ce56714610365578063395093511461038f5780633ecad271146103cb578063557ed1ba14610407576101ed565b806318160ddd116101b557806318160ddd146102ab57806323b872dd146102d557806327c8f835146103115780632b112e491461033b576101ed565b806306fdde03146101f1578063095ea7b31461021b5780631245e347146102575780631694505e14610281576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b506102056107bd565b60405161021291906125da565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061268b565b61084d565b60405161024e91906126e3565b60405180910390f35b348015610262575f80fd5b5061026b61086a565b604051610278919061271c565b60405180910390f35b34801561028c575f80fd5b5061029561088f565b6040516102a29190612790565b60405180910390f35b3480156102b6575f80fd5b506102bf6108b4565b6040516102cc91906127b8565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f691906127d1565b6108bd565b60405161030891906126e3565b60405180910390f35b34801561031c575f80fd5b50610325610992565b6040516103329190612830565b60405180910390f35b348015610346575f80fd5b5061034f6109b7565b60405161035c91906127b8565b60405180910390f35b348015610370575f80fd5b506103796109fb565b6040516103869190612864565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b0919061268b565b610a10565b6040516103c291906126e3565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec919061287d565b610abe565b6040516103fe91906126e3565b60405180910390f35b348015610412575f80fd5b5061041b610adb565b60405161042891906127b8565b60405180910390f35b34801561043c575f80fd5b50610445610ae2565b60405161045291906127b8565b60405180910390f35b348015610466575f80fd5b5061046f610ae8565b60405161047c91906127b8565b60405180910390f35b348015610490575f80fd5b506104ab60048036038101906104a6919061287d565b610aee565b6040516104b891906127b8565b60405180910390f35b3480156104cc575f80fd5b506104d5610b34565b6040516104e291906127b8565b60405180910390f35b3480156104f6575f80fd5b506104ff610b3a565b60405161050c9190612830565b60405180910390f35b348015610520575f80fd5b50610529610b61565b005b348015610536575f80fd5b5061053f610caf565b60405161054c91906125da565b60405180910390f35b348015610560575f80fd5b50610569610d3f565b60405161057691906127b8565b60405180910390f35b34801561058a575f80fd5b506105a560048036038101906105a0919061268b565b610d45565b6040516105b291906126e3565b60405180910390f35b3480156105c6575f80fd5b506105cf610e0d565b6040516105dc91906127b8565b60405180910390f35b3480156105f0575f80fd5b5061060b6004803603810190610606919061268b565b610e13565b60405161061891906126e3565b60405180910390f35b34801561062c575f80fd5b50610635610e31565b6040516106429190612830565b60405180910390f35b348015610656575f80fd5b5061065f610e54565b60405161066c9190612830565b60405180910390f35b348015610680575f80fd5b50610689610e79565b604051610696919061271c565b60405180910390f35b3480156106aa575f80fd5b506106c560048036038101906106c0919061287d565b610e9f565b6040516106d29190612830565b60405180910390f35b3480156106e6575f80fd5b506106ef61134d565b6040516106fc91906126e3565b60405180910390f35b348015610710575f80fd5b5061072b600480360381019061072691906128a8565b611360565b60405161073891906127b8565b60405180910390f35b34801561074c575f80fd5b506107556113e2565b60405161076291906126e3565b60405180910390f35b348015610776575f80fd5b5061077f6113f5565b60405161078c91906127b8565b60405180910390f35b3480156107a0575f80fd5b506107bb60048036038101906107b6919061287d565b6113fb565b005b6060600180546107cc90612913565b80601f01602080910402602001604051908101604052809291908181526020018280546107f890612913565b80156108435780601f1061081a57610100808354040283529160200191610843565b820191905f5260205f20905b81548152906001019060200180831161082657829003601f168201915b5050505050905090565b5f6108606108596115b8565b84846115bf565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600f54905090565b5f6108c9848484611782565b50610987846108d66115b8565b6109828560405180606001604052806028815260200161315d6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109396115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b6115bf565b600190509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6109f66109e560055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aee565b600f54611bca90919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610ab4610a1c6115b8565b84610aaf8560075f610a2c6115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b6115bf565b6001905092915050565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f42905090565b60095481565b600a5481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b696115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec9061298d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610cbe90612913565b80601f0160208091040260200160405190810160405280929190818152602001828054610cea90612913565b8015610d355780601f10610d0c57610100808354040283529160200191610d35565b820191905f5260205f20905b815481529060010190602001808311610d1857829003601f168201915b5050505050905090565b600c5481565b5f610e03610d516115b8565b84610dfe856040518060600160405280602581526020016131856025913960075f610d7a6115b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b6115bf565b6001905092915050565b600b5481565b5f610e26610e1f6115b8565b8484611782565b506001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ea86115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b9061298d565b60405180910390fd5b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc691906129bf565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906129bf565b6040518363ffffffff1660e01b815260040161106c9291906129ea565b602060405180830381865afa158015611087573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ab91906129bf565b91505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611236578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611129573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114d91906129bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d691906129bf565b6040518363ffffffff1660e01b81526004016111f39291906129ea565b6020604051808303815f875af115801561120f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123391906129bf565b91505b8160125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601260166101000a81548160ff021916908315150217905550600160085f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050919050565b601260149054906101000a900460ff1681565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b601260169054906101000a900460ff1681565b600d5481565b6114036115b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114869061298d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490612a81565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162490612b0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290612b9d565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161177591906127b8565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e890612c2b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361185f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185690612cb9565b60405180910390fd5b5f82116118a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189890612d47565b60405180910390fd5b601260159054906101000a900460ff16156118c8576118c1848484611c70565b9050611b61565b5f6118d230610aee565b90505f60105482101590508080156118f75750601260159054906101000a900460ff16155b801561194a575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156119625750601260169054906101000a900460ff165b1561198d57601260149054906101000a900460ff16156119825760105491505b61198c8287611e3a565b5b611a14846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f611a61878787611f0e565b9050611ab38160065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b5191906127b8565b60405180910390a3600193505050505b9392505050565b5f838311158290611baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba691906125da565b60405180910390fd5b505f8385611bbd9190612d92565b9050809150509392505050565b5f611c0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b68565b905092915050565b5f808284611c219190612dc5565b905083811015611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d90612e42565b60405180910390fd5b8091505092915050565b5f611cf8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b689092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d898260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e2791906127b8565b60405180910390a3600190509392505050565b6001601260156101000a81548160ff0219169083151502179055505f611e926002611e84600c54611e766009548861212890919063ffffffff16565b61219f90919063ffffffff16565b61219f90919063ffffffff16565b90505f611ea88285611bca90919063ffffffff16565b9050611eb481846121e8565b5f4790505f811115611eed57611eec600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826124a7565b5b5050505f601260156101000a81548160ff0219169083151502179055505050565b5f805f905060085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611f9157611f8a6064611f7c600d548661212890919063ffffffff16565b61219f90919063ffffffff16565b905061200c565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561200b576120086064611ffa600e548661212890919063ffffffff16565b61219f90919063ffffffff16565b90505b5b5f81111561210b576120648160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1390919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210291906127b8565b60405180910390a35b61211e8184611bca90919063ffffffff16565b9150509392505050565b5f808303612138575f9050612199565b5f82846121459190612e60565b90508284826121549190612ece565b14612194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218b90612f6e565b60405180910390fd5b809150505b92915050565b5f6121e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124ef565b905092915050565b5f600367ffffffffffffffff81111561220457612203612f8c565b5b6040519080825280602002602001820160405280156122325781602001602082028036833780820191505090505b50905030815f8151811061224957612248612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061229857612297612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561233c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236091906129bf565b8160028151811061237457612373612fb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123da3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856115bf565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b815260040161243c9594939291906130d6565b5f604051808303815f87803b158015612453575f80fd5b505af1158015612465573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7838260405161249a92919061312e565b60405180910390a1505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156124ea573d5f803e3d5ffd5b505050565b5f8083118290612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c91906125da565b60405180910390fd5b505f83856125439190612ece565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561258757808201518184015260208101905061256c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6125ac82612550565b6125b6818561255a565b93506125c681856020860161256a565b6125cf81612592565b840191505092915050565b5f6020820190508181035f8301526125f281846125a2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612627826125fe565b9050919050565b6126378161261d565b8114612641575f80fd5b50565b5f813590506126528161262e565b92915050565b5f819050919050565b61266a81612658565b8114612674575f80fd5b50565b5f8135905061268581612661565b92915050565b5f80604083850312156126a1576126a06125fa565b5b5f6126ae85828601612644565b92505060206126bf85828601612677565b9150509250929050565b5f8115159050919050565b6126dd816126c9565b82525050565b5f6020820190506126f65f8301846126d4565b92915050565b5f612706826125fe565b9050919050565b612716816126fc565b82525050565b5f60208201905061272f5f83018461270d565b92915050565b5f819050919050565b5f61275861275361274e846125fe565b612735565b6125fe565b9050919050565b5f6127698261273e565b9050919050565b5f61277a8261275f565b9050919050565b61278a81612770565b82525050565b5f6020820190506127a35f830184612781565b92915050565b6127b281612658565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b5f805f606084860312156127e8576127e76125fa565b5b5f6127f586828701612644565b935050602061280686828701612644565b925050604061281786828701612677565b9150509250925092565b61282a8161261d565b82525050565b5f6020820190506128435f830184612821565b92915050565b5f60ff82169050919050565b61285e81612849565b82525050565b5f6020820190506128775f830184612855565b92915050565b5f60208284031215612892576128916125fa565b5b5f61289f84828501612644565b91505092915050565b5f80604083850312156128be576128bd6125fa565b5b5f6128cb85828601612644565b92505060206128dc85828601612644565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061292a57607f821691505b60208210810361293d5761293c6128e6565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61297760208361255a565b915061298282612943565b602082019050919050565b5f6020820190508181035f8301526129a48161296b565b9050919050565b5f815190506129b98161262e565b92915050565b5f602082840312156129d4576129d36125fa565b5b5f6129e1848285016129ab565b91505092915050565b5f6040820190506129fd5f830185612821565b612a0a6020830184612821565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a6b60268361255a565b9150612a7682612a11565b604082019050919050565b5f6020820190508181035f830152612a9881612a5f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612af960248361255a565b9150612b0482612a9f565b604082019050919050565b5f6020820190508181035f830152612b2681612aed565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b8760228361255a565b9150612b9282612b2d565b604082019050919050565b5f6020820190508181035f830152612bb481612b7b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1560258361255a565b9150612c2082612bbb565b604082019050919050565b5f6020820190508181035f830152612c4281612c09565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ca360238361255a565b9150612cae82612c49565b604082019050919050565b5f6020820190508181035f830152612cd081612c97565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3160298361255a565b9150612d3c82612cd7565b604082019050919050565b5f6020820190508181035f830152612d5e81612d25565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d9c82612658565b9150612da783612658565b9250828203905081811115612dbf57612dbe612d65565b5b92915050565b5f612dcf82612658565b9150612dda83612658565b9250828201905080821115612df257612df1612d65565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b8361255a565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b9050919050565b5f612e6a82612658565b9150612e7583612658565b9250828202612e8381612658565b91508282048414831517612e9a57612e99612d65565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ed882612658565b9150612ee383612658565b925082612ef357612ef2612ea1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5860218361255a565b9150612f6382612efe565b604082019050919050565b5f6020820190508181035f830152612f8581612f4c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f613009613004612fff84612fe6565b612735565b612658565b9050919050565b61301981612fef565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130518161261d565b82525050565b5f6130628383613048565b60208301905092915050565b5f602082019050919050565b5f6130848261301f565b61308e8185613029565b935061309983613039565b805f5b838110156130c95781516130b08882613057565b97506130bb8361306e565b92505060018101905061309c565b5085935050505092915050565b5f60a0820190506130e95f8301886127a9565b6130f66020830187613010565b8181036040830152613108818661307a565b90506131176060830185612821565b61312460808301846127a9565b9695505050505050565b5f6040820190506131415f8301856127a9565b8181036020830152613153818461307a565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122056c2522d8d97ac14cf15feec5950ca28dbee3ea2158304de034102d464cf2d2664736f6c63430008170033

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

00000000000000000000000000000000000000000000000000000000041cdb4000000000000000000000000089b2c821e287c5710c4ead8c4709b78da4729500

-----Decoded View---------------
Arg [0] : supply (uint256): 69000000
Arg [1] : owner (address): 0x89b2C821E287c5710c4ead8c4709B78Da4729500

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000041cdb40
Arg [1] : 00000000000000000000000089b2c821e287c5710c4ead8c4709b78da4729500


Deployed Bytecode Sourcemap

14115:9603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16419:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17580:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14433:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15140:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16696:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19429:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14534:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18096:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16605:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17082:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14737:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6199:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14791:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14832;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16804:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15004:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5589:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5803:136;;;;;;;;;;;;;:::i;:::-;;16510:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14909:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17308:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14873:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18460:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5465:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15188:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14327:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18631:790;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15221:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16931:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15293:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14961:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5947:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16419:83;16456:13;16489:5;16482:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16419:83;:::o;17580:161::-;17655:4;17672:39;17681:12;:10;:12::i;:::-;17695:7;17704:6;17672:8;:39::i;:::-;17729:4;17722:11;;17580:161;;;;:::o;14433:94::-;;;;;;;;;;;;;:::o;15140:41::-;;;;;;;;;;;;;:::o;16696:100::-;16749:7;16776:12;;16769:19;;16696:100;:::o;19429:313::-;19527:4;19544:36;19554:6;19562:9;19573:6;19544:9;:36::i;:::-;;19591:121;19600:6;19608:12;:10;:12::i;:::-;19622:89;19660:6;19622:89;;;;;;;;;;;;;;;;;:11;:19;19634:6;19622:19;;;;;;;;;;;;;;;:33;19642:12;:10;:12::i;:::-;19622:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19591:8;:121::i;:::-;19730:4;19723:11;;19429:313;;;;;:::o;14534:71::-;;;;;;;;;;;;;:::o;18096:128::-;18149:7;18176:40;18193:22;18203:11;;;;;;;;;;;18193:9;:22::i;:::-;18176:12;;:16;;:40;;;;:::i;:::-;18169:47;;18096:128;:::o;16605:83::-;16646:5;16671:9;;;;;;;;;;;16664:16;;16605:83;:::o;17082:218::-;17170:4;17187:83;17196:12;:10;:12::i;:::-;17210:7;17219:50;17258:10;17219:11;:25;17231:12;:10;:12::i;:::-;17219:25;;;;;;;;;;;;;;;:34;17245:7;17219:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17187:8;:83::i;:::-;17288:4;17281:11;;17082:218;;;;:::o;14737:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6199:90::-;6239:7;6266:15;6259:22;;6199:90;:::o;14791:34::-;;;;:::o;14832:::-;;;;:::o;16804:119::-;16870:7;16897:9;:18;16907:7;16897:18;;;;;;;;;;;;;;;;16890:25;;16804:119;;;:::o;15004:37::-;;;;:::o;5589:79::-;5627:7;5654:6;;;;;;;;;;;5647:13;;5589:79;:::o;5803:136::-;5726:12;:10;:12::i;:::-;5716:22;;:6;;;;;;;;;;:22;;;5708:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5907:1:::1;5870:40;;5891:6;::::0;::::1;;;;;;;;5870:40;;;;;;;;;;;;5929:1;5912:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5803:136::o:0;16510:87::-;16549:13;16582:7;16575:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16510:87;:::o;14909:43::-;;;;:::o;17308:264::-;17401:4;17418:129;17427:12;:10;:12::i;:::-;17441:7;17450:96;17489:15;17450:96;;;;;;;;;;;;;;;;;:11;:25;17462:12;:10;:12::i;:::-;17450:25;;;;;;;;;;;;;;;:34;17476:7;17450:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17418:8;:129::i;:::-;17565:4;17558:11;;17308:264;;;;:::o;14873:29::-;;;;:::o;18460:163::-;18538:4;18555:42;18565:12;:10;:12::i;:::-;18579:9;18590:6;18555:9;:42::i;:::-;;18615:4;18608:11;;18460:163;;;;:::o;5465:21::-;;;;;;;;;;;;:::o;15188:26::-;;;;;;;;;;;;;:::o;14327:99::-;;;;;;;;;;;;;:::o;18631:790::-;18702:22;5726:12;:10;:12::i;:::-;5716:22;;:6;;;;;;;;;;:22;;;5708:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18739:35:::1;18796:15;;;;;;;;;;;18739:73;;18860:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18842:53;;;18904:4;18911:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18842:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18825:110;;18977:1;18951:28;;:14;:28;;::::0;18948:225:::1;;19065:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19047:74;;;19130:4;19137:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19047:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19030:131;;18948:225;19199:14;19185:11;;:28;;;;;;;;;;;;;;;;;;19284:16;19247:15;;:54;;;;;;;;;;;;;;;;;;19357:4;19337:17;;:24;;;;;;;;;;;;;;;;;;19409:4;19372:12;:34;19393:11;;;;;;;;;;;19372:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;18726:695;18631:790:::0;;;:::o;15221:37::-;;;;;;;;;;;;;:::o;16931:143::-;17012:7;17039:11;:18;17051:5;17039:18;;;;;;;;;;;;;;;:27;17058:7;17039:27;;;;;;;;;;;;;;;;17032:34;;16931:143;;;;:::o;15293:29::-;;;;;;;;;;;;;:::o;14961:36::-;;;;:::o;5947:244::-;5726:12;:10;:12::i;:::-;5716:22;;:6;;;;;;;;;;:22;;;5708:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6056:1:::1;6036:22;;:8;:22;;::::0;6028:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6146:8;6117:38;;6138:6;::::0;::::1;;;;;;;;6117:38;;;;;;;;;;;;6175:8;6166:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5947:244:::0;:::o;103:115::-;156:15;199:10;184:26;;103:115;:::o;17749:337::-;17859:1;17842:19;;:5;:19;;;17834:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17940:1;17921:21;;:7;:21;;;17913:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18024:6;17994:11;:18;18006:5;17994:18;;;;;;;;;;;;;;;:27;18013:7;17994:27;;;;;;;;;;;;;;;:36;;;;18062:7;18046:32;;18055:5;18046:32;;;18071:6;18046:32;;;;;;:::i;:::-;;;;;;;;17749:337;;;:::o;19750:1326::-;19837:4;19882:1;19864:20;;:6;:20;;;19856:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19966:1;19945:23;;:9;:23;;;19937:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20036:1;20027:6;:10;20019:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20097:16;;;;;;;;;;;20094:975;;;20146:41;20161:6;20169:9;20180:6;20146:14;:41::i;:::-;20139:48;;;;20094:975;20240:28;20271:24;20289:4;20271:9;:24::i;:::-;20240:55;;20310:28;20365:24;;20341:20;:48;;20310:79;;20410:23;:44;;;;;20438:16;;;;;;;;;;;20437:17;20410:44;:69;;;;;20459:12;:20;20472:6;20459:20;;;;;;;;;;;;;;;;;;;;;;;;;20458:21;20410:69;:90;;;;;20483:17;;;;;;;;;;;20410:90;20406:324;;;20537:25;;;;;;;;;;;20534:119;;;20609:24;;20586:47;;20534:119;20671:43;20686:20;20707:6;20671:14;:43::i;:::-;20406:324;20766:53;20788:6;20766:53;;;;;;;;;;;;;;;;;:9;:17;20776:6;20766:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;20746:9;:17;20756:6;20746:17;;;;;;;;;;;;;;;:73;;;;20836:19;20858:34;20866:6;20874:9;20885:6;20858:7;:34::i;:::-;20836:56;;20932:37;20957:11;20932:9;:20;20942:9;20932:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;20909:9;:20;20919:9;20909:20;;;;;;;;;;;;;;;:60;;;;21008:9;20991:40;;21000:6;20991:40;;;21019:11;20991:40;;;;;;:::i;:::-;;;;;;;;21053:4;21046:11;;;;;19750:1326;;;;;;:::o;1529:192::-;1615:7;1648:1;1643;:6;;1651:12;1635:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1675:9;1691:1;1687;:5;;;;:::i;:::-;1675:17;;1712:1;1705:8;;;1529:192;;;;;:::o;1385:136::-;1443:7;1470:43;1474:1;1477;1470:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1463:50;;1385:136;;;;:::o;1196:181::-;1254:7;1274:9;1290:1;1286;:5;;;;:::i;:::-;1274:17;;1315:1;1310;:6;;1302:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1368:1;1361:8;;;1196:181;;;;:::o;21084:330::-;21177:4;21214:53;21236:6;21214:53;;;;;;;;;;;;;;;;;:9;:17;21224:6;21214:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21194:9;:17;21204:6;21194:17;;;;;;;;;;;;;;;:73;;;;21301:32;21326:6;21301:9;:20;21311:9;21301:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21278:9;:20;21288:9;21278:20;;;;;;;;;;;;;;;:55;;;;21366:9;21349:35;;21358:6;21349:35;;;21377:6;21349:35;;;;;;:::i;:::-;;;;;;;;21402:4;21395:11;;21084:330;;;;;:::o;21422:472::-;15749:4;15730:16;;:23;;;;;;;;;;;;;;;;;;21509:19:::1;21531:65;21594:1;21531:58;21564:24;;21531:28;21543:15;;21531:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;21509:87;;21607:21;21631:24;21643:11;21631:7;:11;;:24;;;;:::i;:::-;21607:48;;21668:36;21685:13;21699:4;21668:16;:36::i;:::-;21715:22;21740:21;21715:46;;21794:1;21777:14;:18;21774:109;;;21811:60;21832:22;;;;;;;;;;;21856:14;21811:20;:60::i;:::-;21774:109;21496:398;;;15795:5:::0;15776:16;;:24;;;;;;;;;;;;;;;;;;21422:472;;:::o;23117:598::-;23203:7;23225:17;23245:1;23225:21;;23262:12;:20;23275:6;23262:20;;;;;;;;;;;;;;;;;;;;;;;;;23259:223;;;23311:38;23345:3;23311:29;23322:17;;23311:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;23299:50;;23259:223;;;23379:12;:23;23392:9;23379:23;;;;;;;;;;;;;;;;;;;;;;;;;23376:106;;;23431:39;23466:3;23431:30;23442:18;;23431:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;23419:51;;23376:106;23259:223;23509:1;23497:9;:13;23494:173;;;23554:39;23583:9;23554;:24;23572:4;23554:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;23527:9;:24;23545:4;23527:24;;;;;;;;;;;;;;;:66;;;;23638:4;23613:42;;23622:6;23613:42;;;23645:9;23613:42;;;;;;:::i;:::-;;;;;;;;23494:173;23686:21;23697:9;23686:6;:10;;:21;;;;:::i;:::-;23679:28;;;23117:598;;;;;:::o;1729:250::-;1787:7;1816:1;1811;:6;1807:47;;1841:1;1834:8;;;;1807:47;1866:9;1882:1;1878;:5;;;;:::i;:::-;1866:17;;1911:1;1906;1902;:5;;;;:::i;:::-;:10;1894:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1970:1;1963:8;;;1729:250;;;;;:::o;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2065:46;;1987:132;;;;:::o;21902:696::-;22041:21;22079:1;22065:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22041:40;;22110:4;22092;22097:1;22092:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22136:4;22126;22131:1;22126:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;22161:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22151:4;22156:1;22151:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22196:62;22213:4;22228:15;;;;;;;;;;;22246:11;22196:8;:62::i;:::-;22297:15;;;;;;;;;;;:66;;;22378:11;22404:1;22448:4;22475;22511:15;22297:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22555:35;22572:11;22585:4;22555:35;;;;;;;:::i;:::-;;;;;;;;21970:628;21902:696;;:::o;18232:126::-;18324:9;:18;;:26;18343:6;18324:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18232:126;;:::o;2127:278::-;2213:7;2245:1;2241;:5;2248:12;2233:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2272:9;2288:1;2284;:5;;;;:::i;:::-;2272:17;;2396:1;2389:8;;;2127:278;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:104::-;3491:7;3520:24;3538:5;3520:24;:::i;:::-;3509:35;;3446:104;;;:::o;3556:142::-;3659:32;3685:5;3659:32;:::i;:::-;3654:3;3647:45;3556:142;;:::o;3704:254::-;3813:4;3851:2;3840:9;3836:18;3828:26;;3864:87;3948:1;3937:9;3933:17;3924:6;3864:87;:::i;:::-;3704:254;;;;:::o;3964:60::-;3992:3;4013:5;4006:12;;3964:60;;;:::o;4030:142::-;4080:9;4113:53;4131:34;4140:24;4158:5;4140:24;:::i;:::-;4131:34;:::i;:::-;4113:53;:::i;:::-;4100:66;;4030:142;;;:::o;4178:126::-;4228:9;4261:37;4292:5;4261:37;:::i;:::-;4248:50;;4178:126;;;:::o;4310:153::-;4387:9;4420:37;4451:5;4420:37;:::i;:::-;4407:50;;4310:153;;;:::o;4469:185::-;4583:64;4641:5;4583:64;:::i;:::-;4578:3;4571:77;4469:185;;:::o;4660:276::-;4780:4;4818:2;4807:9;4803:18;4795:26;;4831:98;4926:1;4915:9;4911:17;4902:6;4831:98;:::i;:::-;4660:276;;;;:::o;4942:118::-;5029:24;5047:5;5029:24;:::i;:::-;5024:3;5017:37;4942:118;;:::o;5066:222::-;5159:4;5197:2;5186:9;5182:18;5174:26;;5210:71;5278:1;5267:9;5263:17;5254:6;5210:71;:::i;:::-;5066:222;;;;:::o;5294:619::-;5371:6;5379;5387;5436:2;5424:9;5415:7;5411:23;5407:32;5404:119;;;5442:79;;:::i;:::-;5404:119;5562:1;5587:53;5632:7;5623:6;5612:9;5608:22;5587:53;:::i;:::-;5577:63;;5533:117;5689:2;5715:53;5760:7;5751:6;5740:9;5736:22;5715:53;:::i;:::-;5705:63;;5660:118;5817:2;5843:53;5888:7;5879:6;5868:9;5864:22;5843:53;:::i;:::-;5833:63;;5788:118;5294:619;;;;;:::o;5919:118::-;6006:24;6024:5;6006:24;:::i;:::-;6001:3;5994:37;5919:118;;:::o;6043:222::-;6136:4;6174:2;6163:9;6159:18;6151:26;;6187:71;6255:1;6244:9;6240:17;6231:6;6187:71;:::i;:::-;6043:222;;;;:::o;6271:86::-;6306:7;6346:4;6339:5;6335:16;6324:27;;6271:86;;;:::o;6363:112::-;6446:22;6462:5;6446:22;:::i;:::-;6441:3;6434:35;6363:112;;:::o;6481:214::-;6570:4;6608:2;6597:9;6593:18;6585:26;;6621:67;6685:1;6674:9;6670:17;6661:6;6621:67;:::i;:::-;6481:214;;;;:::o;6701:329::-;6760:6;6809:2;6797:9;6788:7;6784:23;6780:32;6777:119;;;6815:79;;:::i;:::-;6777:119;6935:1;6960:53;7005:7;6996:6;6985:9;6981:22;6960:53;:::i;:::-;6950:63;;6906:117;6701:329;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:180::-;7564:77;7561:1;7554:88;7661:4;7658:1;7651:15;7685:4;7682:1;7675:15;7702:320;7746:6;7783:1;7777:4;7773:12;7763:22;;7830:1;7824:4;7820:12;7851:18;7841:81;;7907:4;7899:6;7895:17;7885:27;;7841:81;7969:2;7961:6;7958:14;7938:18;7935:38;7932:84;;7988:18;;:::i;:::-;7932:84;7753:269;7702:320;;;:::o;8028:182::-;8168:34;8164:1;8156:6;8152:14;8145:58;8028:182;:::o;8216:366::-;8358:3;8379:67;8443:2;8438:3;8379:67;:::i;:::-;8372:74;;8455:93;8544:3;8455:93;:::i;:::-;8573:2;8568:3;8564:12;8557:19;;8216:366;;;:::o;8588:419::-;8754:4;8792:2;8781:9;8777:18;8769:26;;8841:9;8835:4;8831:20;8827:1;8816:9;8812:17;8805:47;8869:131;8995:4;8869:131;:::i;:::-;8861:139;;8588:419;;;:::o;9013:143::-;9070:5;9101:6;9095:13;9086:22;;9117:33;9144:5;9117:33;:::i;:::-;9013:143;;;;:::o;9162:351::-;9232:6;9281:2;9269:9;9260:7;9256:23;9252:32;9249:119;;;9287:79;;:::i;:::-;9249:119;9407:1;9432:64;9488:7;9479:6;9468:9;9464:22;9432:64;:::i;:::-;9422:74;;9378:128;9162:351;;;;:::o;9519:332::-;9640:4;9678:2;9667:9;9663:18;9655:26;;9691:71;9759:1;9748:9;9744:17;9735:6;9691:71;:::i;:::-;9772:72;9840:2;9829:9;9825:18;9816:6;9772:72;:::i;:::-;9519:332;;;;;:::o;9857:225::-;9997:34;9993:1;9985:6;9981:14;9974:58;10066:8;10061:2;10053:6;10049:15;10042:33;9857:225;:::o;10088:366::-;10230:3;10251:67;10315:2;10310:3;10251:67;:::i;:::-;10244:74;;10327:93;10416:3;10327:93;:::i;:::-;10445:2;10440:3;10436:12;10429:19;;10088:366;;;:::o;10460:419::-;10626:4;10664:2;10653:9;10649:18;10641:26;;10713:9;10707:4;10703:20;10699:1;10688:9;10684:17;10677:47;10741:131;10867:4;10741:131;:::i;:::-;10733:139;;10460:419;;;:::o;10885:223::-;11025:34;11021:1;11013:6;11009:14;11002:58;11094:6;11089:2;11081:6;11077:15;11070:31;10885:223;:::o;11114:366::-;11256:3;11277:67;11341:2;11336:3;11277:67;:::i;:::-;11270:74;;11353:93;11442:3;11353:93;:::i;:::-;11471:2;11466:3;11462:12;11455:19;;11114:366;;;:::o;11486:419::-;11652:4;11690:2;11679:9;11675:18;11667:26;;11739:9;11733:4;11729:20;11725:1;11714:9;11710:17;11703:47;11767:131;11893:4;11767:131;:::i;:::-;11759:139;;11486:419;;;:::o;11911:221::-;12051:34;12047:1;12039:6;12035:14;12028:58;12120:4;12115:2;12107:6;12103:15;12096:29;11911:221;:::o;12138:366::-;12280:3;12301:67;12365:2;12360:3;12301:67;:::i;:::-;12294:74;;12377:93;12466:3;12377:93;:::i;:::-;12495:2;12490:3;12486:12;12479:19;;12138:366;;;:::o;12510:419::-;12676:4;12714:2;12703:9;12699:18;12691:26;;12763:9;12757:4;12753:20;12749:1;12738:9;12734:17;12727:47;12791:131;12917:4;12791:131;:::i;:::-;12783:139;;12510:419;;;:::o;12935:224::-;13075:34;13071:1;13063:6;13059:14;13052:58;13144:7;13139:2;13131:6;13127:15;13120:32;12935:224;:::o;13165:366::-;13307:3;13328:67;13392:2;13387:3;13328:67;:::i;:::-;13321:74;;13404:93;13493:3;13404:93;:::i;:::-;13522:2;13517:3;13513:12;13506:19;;13165:366;;;:::o;13537:419::-;13703:4;13741:2;13730:9;13726:18;13718:26;;13790:9;13784:4;13780:20;13776:1;13765:9;13761:17;13754:47;13818:131;13944:4;13818:131;:::i;:::-;13810:139;;13537:419;;;:::o;13962:222::-;14102:34;14098:1;14090:6;14086:14;14079:58;14171:5;14166:2;14158:6;14154:15;14147:30;13962:222;:::o;14190:366::-;14332:3;14353:67;14417:2;14412:3;14353:67;:::i;:::-;14346:74;;14429:93;14518:3;14429:93;:::i;:::-;14547:2;14542:3;14538:12;14531:19;;14190:366;;;:::o;14562:419::-;14728:4;14766:2;14755:9;14751:18;14743:26;;14815:9;14809:4;14805:20;14801:1;14790:9;14786:17;14779:47;14843:131;14969:4;14843:131;:::i;:::-;14835:139;;14562:419;;;:::o;14987:228::-;15127:34;15123:1;15115:6;15111:14;15104:58;15196:11;15191:2;15183:6;15179:15;15172:36;14987:228;:::o;15221:366::-;15363:3;15384:67;15448:2;15443:3;15384:67;:::i;:::-;15377:74;;15460:93;15549:3;15460:93;:::i;:::-;15578:2;15573:3;15569:12;15562:19;;15221:366;;;:::o;15593:419::-;15759:4;15797:2;15786:9;15782:18;15774:26;;15846:9;15840:4;15836:20;15832:1;15821:9;15817:17;15810:47;15874:131;16000:4;15874:131;:::i;:::-;15866:139;;15593:419;;;:::o;16018:180::-;16066:77;16063:1;16056:88;16163:4;16160:1;16153:15;16187:4;16184:1;16177:15;16204:194;16244:4;16264:20;16282:1;16264:20;:::i;:::-;16259:25;;16298:20;16316:1;16298:20;:::i;:::-;16293:25;;16342:1;16339;16335:9;16327:17;;16366:1;16360:4;16357:11;16354:37;;;16371:18;;:::i;:::-;16354:37;16204:194;;;;:::o;16404:191::-;16444:3;16463:20;16481:1;16463:20;:::i;:::-;16458:25;;16497:20;16515:1;16497:20;:::i;:::-;16492:25;;16540:1;16537;16533:9;16526:16;;16561:3;16558:1;16555:10;16552:36;;;16568:18;;:::i;:::-;16552:36;16404:191;;;;:::o;16601:177::-;16741:29;16737:1;16729:6;16725:14;16718:53;16601:177;:::o;16784:366::-;16926:3;16947:67;17011:2;17006:3;16947:67;:::i;:::-;16940:74;;17023:93;17112:3;17023:93;:::i;:::-;17141:2;17136:3;17132:12;17125:19;;16784:366;;;:::o;17156:419::-;17322:4;17360:2;17349:9;17345:18;17337:26;;17409:9;17403:4;17399:20;17395:1;17384:9;17380:17;17373:47;17437:131;17563:4;17437:131;:::i;:::-;17429:139;;17156:419;;;:::o;17581:410::-;17621:7;17644:20;17662:1;17644:20;:::i;:::-;17639:25;;17678:20;17696:1;17678:20;:::i;:::-;17673:25;;17733:1;17730;17726:9;17755:30;17773:11;17755:30;:::i;:::-;17744:41;;17934:1;17925:7;17921:15;17918:1;17915:22;17895:1;17888:9;17868:83;17845:139;;17964:18;;:::i;:::-;17845:139;17629:362;17581:410;;;;:::o;17997:180::-;18045:77;18042:1;18035:88;18142:4;18139:1;18132:15;18166:4;18163:1;18156:15;18183:185;18223:1;18240:20;18258:1;18240:20;:::i;:::-;18235:25;;18274:20;18292:1;18274:20;:::i;:::-;18269:25;;18313:1;18303:35;;18318:18;;:::i;:::-;18303:35;18360:1;18357;18353:9;18348:14;;18183:185;;;;:::o;18374:220::-;18514:34;18510:1;18502:6;18498:14;18491:58;18583:3;18578:2;18570:6;18566:15;18559:28;18374:220;:::o;18600:366::-;18742:3;18763:67;18827:2;18822:3;18763:67;:::i;:::-;18756:74;;18839:93;18928:3;18839:93;:::i;:::-;18957:2;18952:3;18948:12;18941:19;;18600:366;;;:::o;18972:419::-;19138:4;19176:2;19165:9;19161:18;19153:26;;19225:9;19219:4;19215:20;19211:1;19200:9;19196:17;19189:47;19253:131;19379:4;19253:131;:::i;:::-;19245:139;;18972:419;;;:::o;19397:180::-;19445:77;19442:1;19435:88;19542:4;19539:1;19532:15;19566:4;19563:1;19556:15;19583:180;19631:77;19628:1;19621:88;19728:4;19725:1;19718:15;19752:4;19749:1;19742:15;19769:85;19814:7;19843:5;19832:16;;19769:85;;;:::o;19860:158::-;19918:9;19951:61;19969:42;19978:32;20004:5;19978:32;:::i;:::-;19969:42;:::i;:::-;19951:61;:::i;:::-;19938:74;;19860:158;;;:::o;20024:147::-;20119:45;20158:5;20119:45;:::i;:::-;20114:3;20107:58;20024:147;;:::o;20177:114::-;20244:6;20278:5;20272:12;20262:22;;20177:114;;;:::o;20297:184::-;20396:11;20430:6;20425:3;20418:19;20470:4;20465:3;20461:14;20446:29;;20297:184;;;;:::o;20487:132::-;20554:4;20577:3;20569:11;;20607:4;20602:3;20598:14;20590:22;;20487:132;;;:::o;20625:108::-;20702:24;20720:5;20702:24;:::i;:::-;20697:3;20690:37;20625:108;;:::o;20739:179::-;20808:10;20829:46;20871:3;20863:6;20829:46;:::i;:::-;20907:4;20902:3;20898:14;20884:28;;20739:179;;;;:::o;20924:113::-;20994:4;21026;21021:3;21017:14;21009:22;;20924:113;;;:::o;21073:732::-;21192:3;21221:54;21269:5;21221:54;:::i;:::-;21291:86;21370:6;21365:3;21291:86;:::i;:::-;21284:93;;21401:56;21451:5;21401:56;:::i;:::-;21480:7;21511:1;21496:284;21521:6;21518:1;21515:13;21496:284;;;21597:6;21591:13;21624:63;21683:3;21668:13;21624:63;:::i;:::-;21617:70;;21710:60;21763:6;21710:60;:::i;:::-;21700:70;;21556:224;21543:1;21540;21536:9;21531:14;;21496:284;;;21500:14;21796:3;21789:10;;21197:608;;;21073:732;;;;:::o;21811:831::-;22074:4;22112:3;22101:9;22097:19;22089:27;;22126:71;22194:1;22183:9;22179:17;22170:6;22126:71;:::i;:::-;22207:80;22283:2;22272:9;22268:18;22259:6;22207:80;:::i;:::-;22334:9;22328:4;22324:20;22319:2;22308:9;22304:18;22297:48;22362:108;22465:4;22456:6;22362:108;:::i;:::-;22354:116;;22480:72;22548:2;22537:9;22533:18;22524:6;22480:72;:::i;:::-;22562:73;22630:3;22619:9;22615:19;22606:6;22562:73;:::i;:::-;21811:831;;;;;;;;:::o;22648:483::-;22819:4;22857:2;22846:9;22842:18;22834:26;;22870:71;22938:1;22927:9;22923:17;22914:6;22870:71;:::i;:::-;22988:9;22982:4;22978:20;22973:2;22962:9;22958:18;22951:48;23016:108;23119:4;23110:6;23016:108;:::i;:::-;23008:116;;22648:483;;;;;:::o

Swarm Source

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