ETH Price: $3,714.68 (+3.37%)

Token

ERC-20: Scorcher (SCOR)
 

Overview

Max Total Supply

716,339.440068 SCOR

Holders

190

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
759.530518 SCOR

Value
$0.00
0x9590d8C06BA451bbaD0893F2eF0D2A8B5AcC67d3
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:
Scorcher

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-02
*/

/* Scorcher is the first contract to utilize the utility of Pyro: PyroBurn.
Scorcher features:
🔥 3% to a true burn where the tokens are deducted from the supply creating a hyper-defaltionary token.
🔥 3% for auto LP to ensure an evergrowing Liquidity Pool.
🔥 3% to PyroBurn contract where it buys and burns Pyro.
🔥 A 9% Jeet Killer tax at launch to help deter snipers.
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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

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

library Address {
        
    function isContract(address account) internal view returns (bool) {
        
        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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
    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);
}

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

    string private constant _name = "Scorcher";
    string private constant _symbol = "SCOR";
    uint8 private constant _decimals = 6;
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 public _tTotal = 1000 * 1e3 * 1e6; //1,000,000

    uint256 public _maxWalletAmount = 20 * 1e3 * 1e6; //2%
    uint256 public j_maxtxn = 10 * 1e3 * 1e6; //1%
    uint256 public swapAmount = 7 * 1e2 * 1e6; //.07%
    uint256 private buyPyroUpperLimit = 100 * 1e14; // 0.01

    // fees
    uint256 public j_liqBuy = 3; 
    uint256 public j_burnBuy = 3;
    uint256 public j_pyroBuy = 3;
    uint256 public j_jeetBuy = 0;

    uint256 public j_liqSell = 3; 
    uint256 public j_burnSell = 3;
    uint256 public j_pyroSell = 3;
    uint256 public j_jeetSell = 9;
 
    uint256 private j_previousLiqFee = j_liqFee;
    uint256 private j_previousBurnFee = j_burnFee;
    uint256 private j_previousPyroFee = j_pyroFee;
    uint256 private j_previousJeetTax = j_jeetTax;
    
    uint256 private j_liqFee;
    uint256 private j_burnFee;
    uint256 private j_pyroFee;
    uint256 private j_jeetTax;

    uint256 public _totalBurned;

    struct FeeBreakdown {
        uint256 tLiq;
        uint256 tBurn;
        uint256 tPyro;
        uint256 tJeet;
        uint256 tAmount;
    }

    mapping(address => bool) private bots;
    address payable private scorcherWallet = payable(0x1bac9F80D0a91faC0DEbbb4953927e588733b74d);
    address payable public dead = payable(0x000000000000000000000000000000000000dEaD);
    address PYRO = 0x89568569DA9C83CB35E59F92f5Df2F6CA829EEeE;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private swapping = false;
    bool public burnMode = false;

    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[scorcherWallet] = true;
        _isExcludedFromFee[dead] = true;
        _isExcludedFromFee[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) external view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

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

    function totalBurned() public view returns (uint256) {
        return _totalBurned;
    }

    function burning(address _account, uint _amount) private {  
        require( _amount <= balanceOf(_account));
        _balances[_account] = _balances[_account].sub(_amount);
        _tTotal = _tTotal.sub(_amount);
        _totalBurned = _totalBurned.add(_amount);
        emit Transfer(_account, address(0), _amount);
    }

    function removeAllFee() private {
        if (j_burnFee == 0 && j_liqFee == 0 && j_pyroFee == 0 && j_jeetTax == 0) return;
        j_previousBurnFee = j_burnFee;
        j_previousLiqFee = j_liqFee;
        j_previousPyroFee = j_pyroFee;
        j_previousJeetTax = j_jeetTax;

        j_burnFee = 0;
        j_liqFee = 0;
        j_pyroFee = 0;
        j_jeetTax = 0;
    }
    
    function restoreAllFee() private {
        j_liqFee = j_previousLiqFee;
        j_burnFee = j_previousBurnFee;
        j_pyroFee = j_previousPyroFee;
        j_jeetTax = j_previousJeetTax;
    }

    function removeJeetTax() external {
        require(_msgSender() == scorcherWallet);
        j_jeetSell = 0;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!bots[from] && !bots[to]);

        bool takeFee = true;

        if (from != owner() && to != owner() && from != address(this) && to != address(this)) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ((!_isExcludedFromFee[from] || !_isExcludedFromFee[to]))) {
                require(balanceOf(to).add(amount) <= _maxWalletAmount, "You are being greedy. Exceeding Max Wallet.");
                require(amount <= j_maxtxn, "Slow down buddy...there is a max transaction");
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !bots[to] && !bots[from]) {
                j_liqFee = j_liqBuy;
                j_burnFee = j_burnBuy;
                j_pyroFee = j_pyroBuy;
                j_jeetTax = j_jeetBuy;
            }
                
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && !bots[to] && !bots[from]) {
                j_liqFee = j_liqSell;
                j_burnFee = j_burnSell;
                j_pyroFee = j_pyroSell;
                j_jeetTax = j_jeetSell;
            }
           
            if (!swapping && from != uniswapV2Pair) {

                uint256 contractTokenBalance = balanceOf(address(this));

                if (contractTokenBalance > swapAmount) {
                    swapAndLiquify(contractTokenBalance);
                }

                uint256 contractETHBalance = address(this).balance;
            
                if (!burnMode && (contractETHBalance > 0)) {
                    sendETHToFee(address(this).balance);
                } else if (burnMode && (contractETHBalance > buyPyroUpperLimit)) {
                        uint256 buyAmount = (contractETHBalance.div(2));
                    buyPyro(buyAmount);
                }                    
            }
        }

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }
        
        _transferAgain(from, to, amount, takeFee);
        restoreAllFee();
    }

    function setMaxTxn(uint256 maxTransaction) external {
        require(maxTransaction >= 10 * 1e3 * 1e6,"negative ghost rider");
        require(_msgSender() == scorcherWallet);
        j_maxtxn = maxTransaction;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
    }

    function swapETHForTokens(uint256 amount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(PYRO);

      // make the swap
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0, // accept any amount of Tokens
            path,
            dead, // Burn address
            block.timestamp
        );        
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            scorcherWallet,
            block.timestamp
          );
    }
  
    function swapAndLiquify(uint256 contractTokenBalance) private lockSwap {
        uint256 autoLPamount = j_liqFee.mul(contractTokenBalance).div(j_burnFee.add(j_pyroFee).add(j_jeetTax).add(j_liqFee));
        uint256 half =  autoLPamount.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(otherHalf);
        uint256 newBalance = ((address(this).balance.sub(initialBalance)).mul(half)).div(otherHalf);
        addLiquidity(half, newBalance);
    }

    function sendETHToFee(uint256 amount) private {
        scorcherWallet.transfer(amount);
    }

    function manualSwap() external {
        require(_msgSender() == scorcherWallet);
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance > 0) {
            swapTokensForEth(contractBalance);
        }
    }

    function manualSend() external {
        require(_msgSender() == scorcherWallet);
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            sendETHToFee(contractETHBalance);
        }
    }

    function _transferAgain(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) { 
                removeAllFee();
        }
        
        FeeBreakdown memory fees;
        fees.tBurn = amount.mul(j_burnFee).div(100);
        fees.tLiq = amount.mul(j_liqFee).div(100);
        fees.tPyro = amount.mul(j_pyroFee).div(100);
        fees.tJeet = amount.mul(j_jeetTax).div(100);
        
        fees.tAmount = amount.sub(fees.tPyro).sub(fees.tJeet).sub(fees.tBurn).sub(fees.tLiq);

        uint256 amountPreBurn = amount.sub(fees.tBurn);
        burning(sender, fees.tBurn);

        _balances[sender] = _balances[sender].sub(amountPreBurn);
        _balances[recipient] = _balances[recipient].add(fees.tAmount);
        _balances[address(this)] = _balances[address(this)].add(fees.tPyro).add(fees.tJeet).add(fees.tBurn.add(fees.tLiq));
        
        if(burnMode && sender != uniswapV2Pair && sender != address(this) && sender != address(uniswapV2Router) && (recipient == address(uniswapV2Router) || recipient == uniswapV2Pair)) {
            burning(uniswapV2Pair, fees.tBurn);
        }

        emit Transfer(sender, recipient, fees.tAmount);
        restoreAllFee();
    }
    
    receive() external payable {}

    function setMaxWalletAmount(uint256 maxWalletAmount) external {
        require(_msgSender() == scorcherWallet);
        require(maxWalletAmount > _tTotal.div(200), "Amount must be greater than 0.5% of supply");
        _maxWalletAmount = maxWalletAmount;
    }

    function setSwapAmount(uint256 _swapAmount) external {
        require(_msgSender() == scorcherWallet);
        swapAmount = _swapAmount;
    }

    function turnOnTheBurn() public onlyOwner {
        burnMode = true;
    }

    function buyPyro(uint256 amount) private {
    	if (amount > 0) {
    	    swapETHForTokens(amount);
	    }
    }

    function setBuyPyroRate(uint256 buyPyroToken) external {
        require(_msgSender() == scorcherWallet);
        buyPyroUpperLimit = buyPyroToken;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dead","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"j_burnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_burnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_jeetBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_jeetSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_liqBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_liqSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_maxtxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_pyroBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_pyroSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeJeetTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyPyroToken","type":"uint256"}],"name":"setBuyPyroRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransaction","type":"uint256"}],"name":"setMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"}],"name":"setSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"turnOnTheBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405264e8d4a510006005556404a817c8006006556402540be4006007556329b92700600855662386f26fc1000060099081556003600a819055600b819055600c8190556000600d55600e819055600f819055601055601155601654601255601754601355601854601455601954601555601c80546001600160a01b0319908116731bac9f80d0a91fac0debbb4953927e588733b74d17909155601d8054821661dead179055601e80549091167389568569da9c83cb35e59f92f5df2f6ca829eeee1790556020805461ffff60a01b19169055348015620000e157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa15801562000189573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001af9190620003d7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620003d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620003d7565b602080546001600160a01b0319166001600160a01b039290921691909117905560055460026000620002c63390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016004600062000300620003c860201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601c54821681526004909352818320805485166001908117909155601d549091168352818320805485168217905530835291208054909216179055620003713390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620003b991815260200190565b60405180910390a35062000409565b6000546001600160a01b031690565b600060208284031215620003ea57600080fd5b81516001600160a01b03811681146200040257600080fd5b9392505050565b611f5b80620004196000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063d3e6cee0116100ab578063e632313c1161006f578063e632313c1461063a578063f2fde38b1461065a578063f42938901461067a578063fc588c041461068f578063fd01bd4c146106af57600080fd5b8063d3e6cee01461059d578063d89135cd146105b3578063d9f7e4df146105c8578063dc903ba1146105de578063dd62ed3e146105f457600080fd5b8063a9059cbb116100f2578063a9059cbb1461051b578063abb876b01461053b578063af465a2714610551578063bbc8ac8b14610567578063cef58a6c1461057d57600080fd5b8063715018a61461049a5780638da5cb5b146104af5780638ea78153146104cd57806395d89b41146104ee57600080fd5b80632e8fa821116101b15780635dbc2fe1116101755780635dbc2fe11461040e57806363a640ff14610423578063653092fd146104395780636c0a24eb1461044e57806370a082311461046457600080fd5b80632e8fa82114610387578063313ce5671461039d57806336cf7c87146103b957806349bd5a5e146103d957806351bc3c85146103f957600080fd5b806318160ddd116101f857806318160ddd14610304578063233296f01461031957806323b872dd1461032f57806323bbf9e71461034f57806327a14fc21461036557600080fd5b806306fdde0314610235578063095ea7b3146102785780630cdf2187146102a85780631694505e146102cc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5060408051808201909152600881526729b1b7b931b432b960c11b60208201525b60405161026f9190611be6565b60405180910390f35b34801561028457600080fd5b50610298610293366004611c50565b6106c5565b604051901515815260200161026f565b3480156102b457600080fd5b506102be600e5481565b60405190815260200161026f565b3480156102d857600080fd5b50601f546102ec906001600160a01b031681565b6040516001600160a01b03909116815260200161026f565b34801561031057600080fd5b506005546102be565b34801561032557600080fd5b506102be60075481565b34801561033b57600080fd5b5061029861034a366004611c7c565b6106dc565b34801561035b57600080fd5b506102be600a5481565b34801561037157600080fd5b50610385610380366004611cbd565b610745565b005b34801561039357600080fd5b506102be60085481565b3480156103a957600080fd5b506040516006815260200161026f565b3480156103c557600080fd5b50601d546102ec906001600160a01b031681565b3480156103e557600080fd5b506020546102ec906001600160a01b031681565b34801561040557600080fd5b506103856107de565b34801561041a57600080fd5b50610385610820565b34801561042f57600080fd5b506102be600d5481565b34801561044557600080fd5b5061038561085f565b34801561045a57600080fd5b506102be60065481565b34801561047057600080fd5b506102be61047f366004611cd6565b6001600160a01b031660009081526002602052604090205490565b3480156104a657600080fd5b50610385610886565b3480156104bb57600080fd5b506000546001600160a01b03166102ec565b3480156104d957600080fd5b5060205461029890600160a81b900460ff1681565b3480156104fa57600080fd5b5060408051808201909152600481526329a1a7a960e11b6020820152610262565b34801561052757600080fd5b50610298610536366004611c50565b6108fa565b34801561054757600080fd5b506102be600c5481565b34801561055d57600080fd5b506102be60055481565b34801561057357600080fd5b506102be60105481565b34801561058957600080fd5b50610385610598366004611cbd565b610907565b3480156105a957600080fd5b506102be60115481565b3480156105bf57600080fd5b50601a546102be565b3480156105d457600080fd5b506102be600f5481565b3480156105ea57600080fd5b506102be600b5481565b34801561060057600080fd5b506102be61060f366004611cf3565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064657600080fd5b50610385610655366004611cbd565b61092c565b34801561066657600080fd5b50610385610675366004611cd6565b610951565b34801561068657600080fd5b506103856109e9565b34801561069b57600080fd5b506103856106aa366004611cbd565b610a19565b3480156106bb57600080fd5b506102be601a5481565b60006106d2338484610a8a565b5060015b92915050565b60006106e9848484610bae565b61073b843361073685604051806060016040528060288152602001611efe602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611158565b610a8a565b5060019392505050565b601c546001600160a01b0316336001600160a01b03161461076557600080fd5b6005546107739060c8611192565b81116107d95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d7573742062652067726561746572207468616e20302e3525604482015269206f6620737570706c7960b01b60648201526084015b60405180910390fd5b600655565b601c546001600160a01b0316336001600160a01b0316146107fe57600080fd5b30600090815260026020526040902054801561081d5761081d816111db565b50565b6000546001600160a01b0316331461084a5760405162461bcd60e51b81526004016107d090611d2c565b6020805460ff60a81b1916600160a81b179055565b601c546001600160a01b0316336001600160a01b03161461087f57600080fd5b6000601155565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016107d090611d2c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106d2338484610bae565b601c546001600160a01b0316336001600160a01b03161461092757600080fd5b600955565b601c546001600160a01b0316336001600160a01b03161461094c57600080fd5b600855565b6000546001600160a01b0316331461097b5760405162461bcd60e51b81526004016107d090611d2c565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107d0565b61081d81611357565b601c546001600160a01b0316336001600160a01b031614610a0957600080fd5b47801561081d5761081d816113a7565b6402540be400811015610a655760405162461bcd60e51b81526020600482015260146024820152733732b3b0ba34bb329033b437b9ba103934b232b960611b60448201526064016107d0565b601c546001600160a01b0316336001600160a01b031614610a8557600080fd5b600755565b6001600160a01b038316610aec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107d0565b6001600160a01b038216610b4d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107d0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c125760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107d0565b6001600160a01b038216610c745760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107d0565b60008111610cd65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107d0565b6001600160a01b0383166000908152601b602052604090205460ff16158015610d1857506001600160a01b0382166000908152601b602052604090205460ff16155b610d2157600080fd5b6001610d356000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d6457506000546001600160a01b03848116911614155b8015610d7957506001600160a01b0384163014155b8015610d8e57506001600160a01b0383163014155b156110e1576020546001600160a01b038581169116148015610dbe5750601f546001600160a01b03848116911614155b8015610e0657506001600160a01b03841660009081526004602052604090205460ff161580610e0657506001600160a01b03831660009081526004602052604090205460ff16155b15610f0057600654610e3783610e31866001600160a01b031660009081526002602052604090205490565b906113e5565b1115610e995760405162461bcd60e51b815260206004820152602b60248201527f596f7520617265206265696e67206772656564792e20457863656564696e672060448201526a26b0bc102bb0b63632ba1760a91b60648201526084016107d0565b600754821115610f005760405162461bcd60e51b815260206004820152602c60248201527f536c6f7720646f776e2062756464792e2e2e74686572652069732061206d617860448201526b103a3930b739b0b1ba34b7b760a11b60648201526084016107d0565b6020546001600160a01b038581169116148015610f2b5750601f546001600160a01b03848116911614155b8015610f5057506001600160a01b0383166000908152601b602052604090205460ff16155b8015610f7557506001600160a01b0384166000908152601b602052604090205460ff16155b15610f9357600a54601655600b54601755600c54601855600d546019555b6020546001600160a01b038481169116148015610fbe5750601f546001600160a01b03858116911614155b8015610fe357506001600160a01b0383166000908152601b602052604090205460ff16155b801561100857506001600160a01b0384166000908152601b602052604090205460ff16155b1561102657600e54601655600f546017556010546018556011546019555b602054600160a01b900460ff1615801561104e57506020546001600160a01b03858116911614155b156110e157306000908152600260205260409020546008548111156110765761107681611444565b6020544790600160a81b900460ff161580156110925750600081115b156110a5576110a0476113a7565b6110de565b602054600160a81b900460ff1680156110bf575060095481115b156110de5760006110d1826002611192565b90506110dc816114de565b505b50505b6001600160a01b03841660009081526004602052604090205460ff168061112057506001600160a01b03831660009081526004602052604090205460ff165b15611129575060005b611135848484846114ed565b611152601254601655601354601755601454601855601554601955565b50505050565b6000818484111561117c5760405162461bcd60e51b81526004016107d09190611be6565b5060006111898486611d77565b95945050505050565b60006111d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117cb565b9392505050565b6020805460ff60a01b1916600160a01b1781556040805160028082526060820183526000939192909183019080368337019050509050308160008151811061122557611225611d8e565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561127e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a29190611da4565b816001815181106112b5576112b5611d8e565b6001600160a01b039283166020918202929092010152601f546112db9130911684610a8a565b601f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611314908590600090869030904290600401611e05565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b50506020805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601c546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113e1573d6000803e3d6000fd5b5050565b6000806113f28385611e41565b9050838110156111d45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107d0565b6020805460ff60a01b1916600160a01b17905560165460195460185460175460009361148f9361147c939192610e31928391906113e5565b60165461148990856117f9565b90611192565b9050600061149e826002611192565b905060006114ac848361187b565b9050476114b8826111db565b60006114d283611489866114cc478761187b565b906117f9565b905061134284826118bd565b801561081d5761081d81611971565b806114fa576114fa611ac5565b61152c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6115466064611489601754866117f990919063ffffffff16565b6020820152601654611560906064906114899086906117f9565b8152601854611577906064906114899086906117f9565b6040820152601954611591906064906114899086906117f9565b606082018190528151602083015160408401516115bf936115b9929183919082908a9061187b565b9061187b565b608082015260208101516000906115d790859061187b565b90506115e7868360200151611b20565b6001600160a01b03861660009081526002602052604090205461160a908261187b565b6001600160a01b0380881660009081526002602052604080822093909355608085015191881681529190912054611640916113e5565b6001600160a01b03861660009081526002602090815260409091209190915582519083015161169b9161167391906113e5565b606084015160408086015130600090815260026020529190912054610e3192918391906113e5565b3060009081526002602090815260409091209190915554600160a81b900460ff1680156116d657506020546001600160a01b03878116911614155b80156116eb57506001600160a01b0386163014155b80156117055750601f546001600160a01b03878116911614155b80156117355750601f546001600160a01b038681169116148061173557506020546001600160a01b038681169116145b15611755576020805490830151611755916001600160a01b031690611b20565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846080015160405161179e91815260200190565b60405180910390a36117c3601254601655601354601755601454601855601554601955565b505050505050565b600081836117ec5760405162461bcd60e51b81526004016107d09190611be6565b5060006111898486611e59565b60008260000361180b575060006106d6565b60006118178385611e7b565b9050826118248583611e59565b146111d45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107d0565b60006111d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611158565b601f546118d59030906001600160a01b031684610a8a565b601f54601c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611945573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061196a9190611e9a565b5050505050565b6040805160028082526060820183526000926020830190803683375050601f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff9190611da4565b81600081518110611a1257611a12611d8e565b6001600160a01b039283166020918202929092010152601e54825191169082906001908110611a4357611a43611d8e565b6001600160a01b039283166020918202929092010152601f54601d5460405163b6f9de9560e01b81529183169263b6f9de95928692611a8f926000928892909116904290600401611ec8565b6000604051808303818588803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b50505050505050565b601754158015611ad55750601654155b8015611ae15750601854155b8015611aed5750601954155b15611af457565b601780546013556016805460125560188054601455601980546015556000938490559183905582905555565b6001600160a01b038216600090815260026020526040902054811115611b4557600080fd5b6001600160a01b038216600090815260026020526040902054611b68908261187b565b6001600160a01b038316600090815260026020526040902055600554611b8e908261187b565b600555601a54611b9e90826113e5565b601a556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b81811015611c1357858101830151858201604001528201611bf7565b81811115611c25576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461081d57600080fd5b60008060408385031215611c6357600080fd5b8235611c6e81611c3b565b946020939093013593505050565b600080600060608486031215611c9157600080fd5b8335611c9c81611c3b565b92506020840135611cac81611c3b565b929592945050506040919091013590565b600060208284031215611ccf57600080fd5b5035919050565b600060208284031215611ce857600080fd5b81356111d481611c3b565b60008060408385031215611d0657600080fd5b8235611d1181611c3b565b91506020830135611d2181611c3b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611d8957611d89611d61565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611db657600080fd5b81516111d481611c3b565b600081518084526020808501945080840160005b83811015611dfa5781516001600160a01b031687529582019590820190600101611dd5565b509495945050505050565b85815284602082015260a060408201526000611e2460a0830186611dc1565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611e5457611e54611d61565b500190565b600082611e7657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611e9557611e95611d61565b500290565b600080600060608486031215611eaf57600080fd5b8351925060208401519150604084015190509250925092565b848152608060208201526000611ee16080830186611dc1565b6001600160a01b0394909416604083015250606001529291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0e27b06b184fcd0da9fb379a7b10684bceb413eef6fa2b82b84d408d8d85adb64736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063715018a611610123578063d3e6cee0116100ab578063e632313c1161006f578063e632313c1461063a578063f2fde38b1461065a578063f42938901461067a578063fc588c041461068f578063fd01bd4c146106af57600080fd5b8063d3e6cee01461059d578063d89135cd146105b3578063d9f7e4df146105c8578063dc903ba1146105de578063dd62ed3e146105f457600080fd5b8063a9059cbb116100f2578063a9059cbb1461051b578063abb876b01461053b578063af465a2714610551578063bbc8ac8b14610567578063cef58a6c1461057d57600080fd5b8063715018a61461049a5780638da5cb5b146104af5780638ea78153146104cd57806395d89b41146104ee57600080fd5b80632e8fa821116101b15780635dbc2fe1116101755780635dbc2fe11461040e57806363a640ff14610423578063653092fd146104395780636c0a24eb1461044e57806370a082311461046457600080fd5b80632e8fa82114610387578063313ce5671461039d57806336cf7c87146103b957806349bd5a5e146103d957806351bc3c85146103f957600080fd5b806318160ddd116101f857806318160ddd14610304578063233296f01461031957806323b872dd1461032f57806323bbf9e71461034f57806327a14fc21461036557600080fd5b806306fdde0314610235578063095ea7b3146102785780630cdf2187146102a85780631694505e146102cc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5060408051808201909152600881526729b1b7b931b432b960c11b60208201525b60405161026f9190611be6565b60405180910390f35b34801561028457600080fd5b50610298610293366004611c50565b6106c5565b604051901515815260200161026f565b3480156102b457600080fd5b506102be600e5481565b60405190815260200161026f565b3480156102d857600080fd5b50601f546102ec906001600160a01b031681565b6040516001600160a01b03909116815260200161026f565b34801561031057600080fd5b506005546102be565b34801561032557600080fd5b506102be60075481565b34801561033b57600080fd5b5061029861034a366004611c7c565b6106dc565b34801561035b57600080fd5b506102be600a5481565b34801561037157600080fd5b50610385610380366004611cbd565b610745565b005b34801561039357600080fd5b506102be60085481565b3480156103a957600080fd5b506040516006815260200161026f565b3480156103c557600080fd5b50601d546102ec906001600160a01b031681565b3480156103e557600080fd5b506020546102ec906001600160a01b031681565b34801561040557600080fd5b506103856107de565b34801561041a57600080fd5b50610385610820565b34801561042f57600080fd5b506102be600d5481565b34801561044557600080fd5b5061038561085f565b34801561045a57600080fd5b506102be60065481565b34801561047057600080fd5b506102be61047f366004611cd6565b6001600160a01b031660009081526002602052604090205490565b3480156104a657600080fd5b50610385610886565b3480156104bb57600080fd5b506000546001600160a01b03166102ec565b3480156104d957600080fd5b5060205461029890600160a81b900460ff1681565b3480156104fa57600080fd5b5060408051808201909152600481526329a1a7a960e11b6020820152610262565b34801561052757600080fd5b50610298610536366004611c50565b6108fa565b34801561054757600080fd5b506102be600c5481565b34801561055d57600080fd5b506102be60055481565b34801561057357600080fd5b506102be60105481565b34801561058957600080fd5b50610385610598366004611cbd565b610907565b3480156105a957600080fd5b506102be60115481565b3480156105bf57600080fd5b50601a546102be565b3480156105d457600080fd5b506102be600f5481565b3480156105ea57600080fd5b506102be600b5481565b34801561060057600080fd5b506102be61060f366004611cf3565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064657600080fd5b50610385610655366004611cbd565b61092c565b34801561066657600080fd5b50610385610675366004611cd6565b610951565b34801561068657600080fd5b506103856109e9565b34801561069b57600080fd5b506103856106aa366004611cbd565b610a19565b3480156106bb57600080fd5b506102be601a5481565b60006106d2338484610a8a565b5060015b92915050565b60006106e9848484610bae565b61073b843361073685604051806060016040528060288152602001611efe602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611158565b610a8a565b5060019392505050565b601c546001600160a01b0316336001600160a01b03161461076557600080fd5b6005546107739060c8611192565b81116107d95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d7573742062652067726561746572207468616e20302e3525604482015269206f6620737570706c7960b01b60648201526084015b60405180910390fd5b600655565b601c546001600160a01b0316336001600160a01b0316146107fe57600080fd5b30600090815260026020526040902054801561081d5761081d816111db565b50565b6000546001600160a01b0316331461084a5760405162461bcd60e51b81526004016107d090611d2c565b6020805460ff60a81b1916600160a81b179055565b601c546001600160a01b0316336001600160a01b03161461087f57600080fd5b6000601155565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016107d090611d2c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106d2338484610bae565b601c546001600160a01b0316336001600160a01b03161461092757600080fd5b600955565b601c546001600160a01b0316336001600160a01b03161461094c57600080fd5b600855565b6000546001600160a01b0316331461097b5760405162461bcd60e51b81526004016107d090611d2c565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107d0565b61081d81611357565b601c546001600160a01b0316336001600160a01b031614610a0957600080fd5b47801561081d5761081d816113a7565b6402540be400811015610a655760405162461bcd60e51b81526020600482015260146024820152733732b3b0ba34bb329033b437b9ba103934b232b960611b60448201526064016107d0565b601c546001600160a01b0316336001600160a01b031614610a8557600080fd5b600755565b6001600160a01b038316610aec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107d0565b6001600160a01b038216610b4d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107d0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c125760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107d0565b6001600160a01b038216610c745760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107d0565b60008111610cd65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107d0565b6001600160a01b0383166000908152601b602052604090205460ff16158015610d1857506001600160a01b0382166000908152601b602052604090205460ff16155b610d2157600080fd5b6001610d356000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d6457506000546001600160a01b03848116911614155b8015610d7957506001600160a01b0384163014155b8015610d8e57506001600160a01b0383163014155b156110e1576020546001600160a01b038581169116148015610dbe5750601f546001600160a01b03848116911614155b8015610e0657506001600160a01b03841660009081526004602052604090205460ff161580610e0657506001600160a01b03831660009081526004602052604090205460ff16155b15610f0057600654610e3783610e31866001600160a01b031660009081526002602052604090205490565b906113e5565b1115610e995760405162461bcd60e51b815260206004820152602b60248201527f596f7520617265206265696e67206772656564792e20457863656564696e672060448201526a26b0bc102bb0b63632ba1760a91b60648201526084016107d0565b600754821115610f005760405162461bcd60e51b815260206004820152602c60248201527f536c6f7720646f776e2062756464792e2e2e74686572652069732061206d617860448201526b103a3930b739b0b1ba34b7b760a11b60648201526084016107d0565b6020546001600160a01b038581169116148015610f2b5750601f546001600160a01b03848116911614155b8015610f5057506001600160a01b0383166000908152601b602052604090205460ff16155b8015610f7557506001600160a01b0384166000908152601b602052604090205460ff16155b15610f9357600a54601655600b54601755600c54601855600d546019555b6020546001600160a01b038481169116148015610fbe5750601f546001600160a01b03858116911614155b8015610fe357506001600160a01b0383166000908152601b602052604090205460ff16155b801561100857506001600160a01b0384166000908152601b602052604090205460ff16155b1561102657600e54601655600f546017556010546018556011546019555b602054600160a01b900460ff1615801561104e57506020546001600160a01b03858116911614155b156110e157306000908152600260205260409020546008548111156110765761107681611444565b6020544790600160a81b900460ff161580156110925750600081115b156110a5576110a0476113a7565b6110de565b602054600160a81b900460ff1680156110bf575060095481115b156110de5760006110d1826002611192565b90506110dc816114de565b505b50505b6001600160a01b03841660009081526004602052604090205460ff168061112057506001600160a01b03831660009081526004602052604090205460ff165b15611129575060005b611135848484846114ed565b611152601254601655601354601755601454601855601554601955565b50505050565b6000818484111561117c5760405162461bcd60e51b81526004016107d09190611be6565b5060006111898486611d77565b95945050505050565b60006111d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117cb565b9392505050565b6020805460ff60a01b1916600160a01b1781556040805160028082526060820183526000939192909183019080368337019050509050308160008151811061122557611225611d8e565b6001600160a01b03928316602091820292909201810191909152601f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561127e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a29190611da4565b816001815181106112b5576112b5611d8e565b6001600160a01b039283166020918202929092010152601f546112db9130911684610a8a565b601f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611314908590600090869030904290600401611e05565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b50506020805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601c546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113e1573d6000803e3d6000fd5b5050565b6000806113f28385611e41565b9050838110156111d45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107d0565b6020805460ff60a01b1916600160a01b17905560165460195460185460175460009361148f9361147c939192610e31928391906113e5565b60165461148990856117f9565b90611192565b9050600061149e826002611192565b905060006114ac848361187b565b9050476114b8826111db565b60006114d283611489866114cc478761187b565b906117f9565b905061134284826118bd565b801561081d5761081d81611971565b806114fa576114fa611ac5565b61152c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6115466064611489601754866117f990919063ffffffff16565b6020820152601654611560906064906114899086906117f9565b8152601854611577906064906114899086906117f9565b6040820152601954611591906064906114899086906117f9565b606082018190528151602083015160408401516115bf936115b9929183919082908a9061187b565b9061187b565b608082015260208101516000906115d790859061187b565b90506115e7868360200151611b20565b6001600160a01b03861660009081526002602052604090205461160a908261187b565b6001600160a01b0380881660009081526002602052604080822093909355608085015191881681529190912054611640916113e5565b6001600160a01b03861660009081526002602090815260409091209190915582519083015161169b9161167391906113e5565b606084015160408086015130600090815260026020529190912054610e3192918391906113e5565b3060009081526002602090815260409091209190915554600160a81b900460ff1680156116d657506020546001600160a01b03878116911614155b80156116eb57506001600160a01b0386163014155b80156117055750601f546001600160a01b03878116911614155b80156117355750601f546001600160a01b038681169116148061173557506020546001600160a01b038681169116145b15611755576020805490830151611755916001600160a01b031690611b20565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846080015160405161179e91815260200190565b60405180910390a36117c3601254601655601354601755601454601855601554601955565b505050505050565b600081836117ec5760405162461bcd60e51b81526004016107d09190611be6565b5060006111898486611e59565b60008260000361180b575060006106d6565b60006118178385611e7b565b9050826118248583611e59565b146111d45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107d0565b60006111d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611158565b601f546118d59030906001600160a01b031684610a8a565b601f54601c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611945573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061196a9190611e9a565b5050505050565b6040805160028082526060820183526000926020830190803683375050601f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff9190611da4565b81600081518110611a1257611a12611d8e565b6001600160a01b039283166020918202929092010152601e54825191169082906001908110611a4357611a43611d8e565b6001600160a01b039283166020918202929092010152601f54601d5460405163b6f9de9560e01b81529183169263b6f9de95928692611a8f926000928892909116904290600401611ec8565b6000604051808303818588803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b50505050505050565b601754158015611ad55750601654155b8015611ae15750601854155b8015611aed5750601954155b15611af457565b601780546013556016805460125560188054601455601980546015556000938490559183905582905555565b6001600160a01b038216600090815260026020526040902054811115611b4557600080fd5b6001600160a01b038216600090815260026020526040902054611b68908261187b565b6001600160a01b038316600090815260026020526040902055600554611b8e908261187b565b600555601a54611b9e90826113e5565b601a556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b81811015611c1357858101830151858201604001528201611bf7565b81811115611c25576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461081d57600080fd5b60008060408385031215611c6357600080fd5b8235611c6e81611c3b565b946020939093013593505050565b600080600060608486031215611c9157600080fd5b8335611c9c81611c3b565b92506020840135611cac81611c3b565b929592945050506040919091013590565b600060208284031215611ccf57600080fd5b5035919050565b600060208284031215611ce857600080fd5b81356111d481611c3b565b60008060408385031215611d0657600080fd5b8235611d1181611c3b565b91506020830135611d2181611c3b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611d8957611d89611d61565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611db657600080fd5b81516111d481611c3b565b600081518084526020808501945080840160005b83811015611dfa5781516001600160a01b031687529582019590820190600101611dd5565b509495945050505050565b85815284602082015260a060408201526000611e2460a0830186611dc1565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611e5457611e54611d61565b500190565b600082611e7657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611e9557611e95611d61565b500290565b600080600060608486031215611eaf57600080fd5b8351925060208401519150604084015190509250925092565b848152608060208201526000611ee16080830186611dc1565b6001600160a01b0394909416604083015250606001529291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0e27b06b184fcd0da9fb379a7b10684bceb413eef6fa2b82b84d408d8d85adb64736f6c634300080d0033

Deployed Bytecode Sourcemap

11549:12858:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14288:83;;;;;;;;;;-1:-1:-1;14358:5:0;;;;;;;;;;;;-1:-1:-1;;;14358:5:0;;;;14288:83;;;;;;;:::i;:::-;;;;;;;;15129:163;;;;;;;;;;-1:-1:-1;15129:163:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;15129:163:0;1072:187:1;12441:28:0;;;;;;;;;;;;;;;;;;;1410:25:1;;;1398:2;1383:18;12441:28:0;1264:177:1;13419:41:0;;;;;;;;;;-1:-1:-1;13419:41:0;;;;-1:-1:-1;;;;;13419:41:0;;;;;;-1:-1:-1;;;;;1636:32:1;;;1618:51;;1606:2;1591:18;13419:41:0;1446:229:1;14565:95:0;;;;;;;;;;-1:-1:-1;14645:7:0;;14565:95;;12116:40;;;;;;;;;;;;;;;;15300:312;;;;;;;;;;-1:-1:-1;15300:312:0;;;;;:::i;:::-;;:::i;12299:27::-;;;;;;;;;;;;;;;;23610:265;;;;;;;;;;-1:-1:-1;23610:265:0;;;;;:::i;:::-;;:::i;:::-;;12168:41;;;;;;;;;;;;;;;;14474:83;;;;;;;;;;-1:-1:-1;14474:83:0;;11800:1;2468:36:1;;2456:2;2441:18;14474:83:0;2326:184:1;13265:81:0;;;;;;;;;;-1:-1:-1;13265:81:0;;;;-1:-1:-1;;;;;13265:81:0;;;13467:28;;;;;;;;;;-1:-1:-1;13467:28:0;;;;-1:-1:-1;;;;;13467:28:0;;;21807:245;;;;;;;;;;;;;:::i;24037:76::-;;;;;;;;;;;;;:::i;12404:28::-;;;;;;;;;;;;;;;;16661:117;;;;;;;;;;;;;:::i;12056:48::-;;;;;;;;;;;;;;;;14668:119;;;;;;;;;;-1:-1:-1;14668:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;14761:18:0;14734:7;14761:18;;;:9;:18;;;;;;;14668:119;5599:148;;;;;;;;;;;;;:::i;5385:79::-;;;;;;;;;;-1:-1:-1;5423:7:0;5450:6;-1:-1:-1;;;;;5450:6:0;5385:79;;13540:28;;;;;;;;;;-1:-1:-1;13540:28:0;;;;-1:-1:-1;;;13540:28:0;;;;;;14379:87;;;;;;;;;;-1:-1:-1;14451:7:0;;;;;;;;;;;;-1:-1:-1;;;14451:7:0;;;;14379:87;;14799:169;;;;;;;;;;-1:-1:-1;14799:169:0;;;;;:::i;:::-;;:::i;12369:28::-;;;;;;;;;;;;;;;;11994:41;;;;;;;;;;;;;;;;12513:29;;;;;;;;;;;;;;;;24246:156;;;;;;;;;;-1:-1:-1;24246:156:0;;;;;:::i;:::-;;:::i;12549:29::-;;;;;;;;;;;;;;;;15620:91;;;;;;;;;;-1:-1:-1;15691:12:0;;15620:91;;12477:29;;;;;;;;;;;;;;;;12334:28;;;;;;;;;;;;;;;;14976:145;;;;;;;;;;-1:-1:-1;14976:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;15086:18:0;;;15059:7;15086:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14976:145;23883:146;;;;;;;;;;-1:-1:-1;23883:146:0;;;;;:::i;:::-;;:::i;5759:201::-;;;;;;;;;;-1:-1:-1;5759:201:0;;;;;:::i;:::-;;:::i;22060:247::-;;;;;;;;;;;;;:::i;19516:221::-;;;;;;;;;;-1:-1:-1;19516:221:0;;;;;:::i;:::-;;:::i;12929:27::-;;;;;;;;;;;;;;;;15129:163;15206:4;15223:39;567:10;15246:7;15255:6;15223:8;:39::i;:::-;-1:-1:-1;15280:4:0;15129:163;;;;;:::o;15300:312::-;15400:4;15417:36;15427:6;15435:9;15446:6;15417:9;:36::i;:::-;15464:118;15473:6;567:10;15493:88;15531:6;15493:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15493:19:0;;;;;;:11;:19;;;;;;;;567:10;15493:33;;;;;;;;;;:37;:88::i;:::-;15464:8;:118::i;:::-;-1:-1:-1;15600:4:0;15300:312;;;;;:::o;23610:265::-;23707:14;;-1:-1:-1;;;;;23707:14:0;567:10;-1:-1:-1;;;;;23691:30:0;;23683:39;;;;;;23759:7;;:16;;23771:3;23759:11;:16::i;:::-;23741:15;:34;23733:89;;;;-1:-1:-1;;;23733:89:0;;3794:2:1;23733:89:0;;;3776:21:1;3833:2;3813:18;;;3806:30;3872:34;3852:18;;;3845:62;-1:-1:-1;;;3923:18:1;;;3916:40;3973:19;;23733:89:0;;;;;;;;;23833:16;:34;23610:265::o;21807:245::-;21873:14;;-1:-1:-1;;;;;21873:14:0;567:10;-1:-1:-1;;;;;21857:30:0;;21849:39;;;;;;21943:4;21899:23;14761:18;;;:9;:18;;;;;;21964:19;;21960:85;;22000:33;22017:15;22000:16;:33::i;:::-;21838:214;21807:245::o;24037:76::-;5512:6;;-1:-1:-1;;;;;5512:6:0;567:10;5512:22;5504:67;;;;-1:-1:-1;;;5504:67:0;;;;;;;:::i;:::-;24090:8:::1;:15:::0;;-1:-1:-1;;;;24090:15:0::1;-1:-1:-1::0;;;24090:15:0::1;::::0;;24037:76::o;16661:117::-;16730:14;;-1:-1:-1;;;;;16730:14:0;567:10;-1:-1:-1;;;;;16714:30:0;;16706:39;;;;;;16769:1;16756:10;:14;16661:117::o;5599:148::-;5512:6;;-1:-1:-1;;;;;5512:6:0;567:10;5512:22;5504:67;;;;-1:-1:-1;;;5504:67:0;;;;;;;:::i;:::-;5706:1:::1;5690:6:::0;;5669:40:::1;::::0;-1:-1:-1;;;;;5690:6:0;;::::1;::::0;5669:40:::1;::::0;5706:1;;5669:40:::1;5737:1;5720:19:::0;;-1:-1:-1;;;;;;5720:19:0::1;::::0;;5599:148::o;14799:169::-;14879:4;14896:42;567:10;14920:9;14931:6;14896:9;:42::i;24246:156::-;24336:14;;-1:-1:-1;;;;;24336:14:0;567:10;-1:-1:-1;;;;;24320:30:0;;24312:39;;;;;;24362:17;:32;24246:156::o;23883:146::-;23971:14;;-1:-1:-1;;;;;23971:14:0;567:10;-1:-1:-1;;;;;23955:30:0;;23947:39;;;;;;23997:10;:24;23883:146::o;5759:201::-;5512:6;;-1:-1:-1;;;;;5512:6:0;567:10;5512:22;5504:67;;;;-1:-1:-1;;;5504:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5848:22:0;::::1;5840:73;;;::::0;-1:-1:-1;;;5840:73:0;;4566:2:1;5840:73:0::1;::::0;::::1;4548:21:1::0;4605:2;4585:18;;;4578:30;4644:34;4624:18;;;4617:62;-1:-1:-1;;;4695:18:1;;;4688:36;4741:19;;5840:73:0::1;4364:402:1::0;5840:73:0::1;5924:28;5943:8;5924:18;:28::i;22060:247::-:0;22126:14;;-1:-1:-1;;;;;22126:14:0;567:10;-1:-1:-1;;;;;22110:30:0;;22102:39;;;;;;22181:21;22217:22;;22213:87;;22256:32;22269:18;22256:12;:32::i;19516:221::-;19605:14;19587;:32;;19579:64;;;;-1:-1:-1;;;19579:64:0;;4973:2:1;19579:64:0;;;4955:21:1;5012:2;4992:18;;;4985:30;-1:-1:-1;;;5031:18:1;;;5024:50;5091:18;;19579:64:0;4771:344:1;19579:64:0;19678:14;;-1:-1:-1;;;;;19678:14:0;567:10;-1:-1:-1;;;;;19662:30:0;;19654:39;;;;;;19704:8;:25;19516:221::o;16786:335::-;-1:-1:-1;;;;;16879:19:0;;16871:68;;;;-1:-1:-1;;;16871:68:0;;5322:2:1;16871:68:0;;;5304:21:1;5361:2;5341:18;;;5334:30;5400:34;5380:18;;;5373:62;-1:-1:-1;;;5451:18:1;;;5444:34;5495:19;;16871:68:0;5120:400:1;16871:68:0;-1:-1:-1;;;;;16958:21:0;;16950:68;;;;-1:-1:-1;;;16950:68:0;;5727:2:1;16950:68:0;;;5709:21:1;5766:2;5746:18;;;5739:30;5805:34;5785:18;;;5778:62;-1:-1:-1;;;5856:18:1;;;5849:32;5898:19;;16950:68:0;5525:398:1;16950:68:0;-1:-1:-1;;;;;17029:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17081:32;;1410:25:1;;;17081:32:0;;1383:18:1;17081:32:0;;;;;;;16786:335;;;:::o;17133:2375::-;-1:-1:-1;;;;;17221:18:0;;17213:68;;;;-1:-1:-1;;;17213:68:0;;6130:2:1;17213:68:0;;;6112:21:1;6169:2;6149:18;;;6142:30;6208:34;6188:18;;;6181:62;-1:-1:-1;;;6259:18:1;;;6252:35;6304:19;;17213:68:0;5928:401:1;17213:68:0;-1:-1:-1;;;;;17300:16:0;;17292:64;;;;-1:-1:-1;;;17292:64:0;;6536:2:1;17292:64:0;;;6518:21:1;6575:2;6555:18;;;6548:30;6614:34;6594:18;;;6587:62;-1:-1:-1;;;6665:18:1;;;6658:33;6708:19;;17292:64:0;6334:399:1;17292:64:0;17384:1;17375:6;:10;17367:64;;;;-1:-1:-1;;;17367:64:0;;6940:2:1;17367:64:0;;;6922:21:1;6979:2;6959:18;;;6952:30;7018:34;6998:18;;;6991:62;-1:-1:-1;;;7069:18:1;;;7062:39;7118:19;;17367:64:0;6738:405:1;17367:64:0;-1:-1:-1;;;;;17451:10:0;;;;;;:4;:10;;;;;;;;17450:11;:24;;;;-1:-1:-1;;;;;;17466:8:0;;;;;;:4;:8;;;;;;;;17465:9;17450:24;17442:33;;;;;;17503:4;17532:7;5423;5450:6;-1:-1:-1;;;;;5450:6:0;;5385:79;17532:7;-1:-1:-1;;;;;17524:15:0;:4;-1:-1:-1;;;;;17524:15:0;;;:32;;;;-1:-1:-1;5423:7:0;5450:6;-1:-1:-1;;;;;17543:13:0;;;5450:6;;17543:13;;17524:32;:57;;;;-1:-1:-1;;;;;;17560:21:0;;17576:4;17560:21;;17524:57;:80;;;;-1:-1:-1;;;;;;17585:19:0;;17599:4;17585:19;;17524:80;17520:1783;;;17635:13;;-1:-1:-1;;;;;17627:21:0;;;17635:13;;17627:21;:55;;;;-1:-1:-1;17666:15:0;;-1:-1:-1;;;;;17652:30:0;;;17666:15;;17652:30;;17627:55;:115;;;;-1:-1:-1;;;;;;17689:24:0;;;;;;:18;:24;;;;;;;;17688:25;;:52;;-1:-1:-1;;;;;;17718:22:0;;;;;;:18;:22;;;;;;;;17717:23;17688:52;17623:351;;;17800:16;;17771:25;17789:6;17771:13;17781:2;-1:-1:-1;;;;;14761:18:0;14734:7;14761:18;;;:9;:18;;;;;;;14668:119;17771:13;:17;;:25::i;:::-;:45;;17763:101;;;;-1:-1:-1;;;17763:101:0;;7350:2:1;17763:101:0;;;7332:21:1;7389:2;7369:18;;;7362:30;7428:34;7408:18;;;7401:62;-1:-1:-1;;;7479:18:1;;;7472:41;7530:19;;17763:101:0;7148:407:1;17763:101:0;17901:8;;17891:6;:18;;17883:75;;;;-1:-1:-1;;;17883:75:0;;7762:2:1;17883:75:0;;;7744:21:1;7801:2;7781:18;;;7774:30;7840:34;7820:18;;;7813:62;-1:-1:-1;;;7891:18:1;;;7884:42;7943:19;;17883:75:0;7560:408:1;17883:75:0;18002:13;;-1:-1:-1;;;;;17994:21:0;;;18002:13;;17994:21;:55;;;;-1:-1:-1;18033:15:0;;-1:-1:-1;;;;;18019:30:0;;;18033:15;;18019:30;;17994:55;:68;;;;-1:-1:-1;;;;;;18054:8:0;;;;;;:4;:8;;;;;;;;18053:9;17994:68;:83;;;;-1:-1:-1;;;;;;18067:10:0;;;;;;:4;:10;;;;;;;;18066:11;17994:83;17990:263;;;18109:8;;18098;:19;18148:9;;18136;:21;18188:9;;18176;:21;18228:9;;18216;:21;17990:263;18295:13;;-1:-1:-1;;;;;18289:19:0;;;18295:13;;18289:19;:55;;;;-1:-1:-1;18328:15:0;;-1:-1:-1;;;;;18312:32:0;;;18328:15;;18312:32;;18289:55;:68;;;;-1:-1:-1;;;;;;18349:8:0;;;;;;:4;:8;;;;;;;;18348:9;18289:68;:83;;;;-1:-1:-1;;;;;;18362:10:0;;;;;;:4;:10;;;;;;;;18361:11;18289:83;18285:267;;;18404:9;;18393:8;:20;18444:10;;18432:9;:22;18485:10;;18473:9;:22;18526:10;;18514:9;:22;18285:267;18584:8;;-1:-1:-1;;;18584:8:0;;;;18583:9;:34;;;;-1:-1:-1;18604:13:0;;-1:-1:-1;;;;;18596:21:0;;;18604:13;;18596:21;;18583:34;18579:713;;;18689:4;18640:28;14761:18;;;:9;:18;;;;;;18743:10;;18720:33;;18716:118;;;18778:36;18793:20;18778:14;:36::i;:::-;18942:8;;18883:21;;-1:-1:-1;;;18942:8:0;;;;18941:9;:37;;;;;18976:1;18955:18;:22;18941:37;18937:320;;;19003:35;19016:21;19003:12;:35::i;:::-;18937:320;;;19068:8;;-1:-1:-1;;;19068:8:0;;;;:52;;;;;19102:17;;19081:18;:38;19068:52;19064:193;;;19149:17;19170:25;:18;19193:1;19170:22;:25::i;:::-;19149:47;;19219:18;19227:9;19219:7;:18::i;:::-;19122:135;19064:193;18619:673;;18579:713;-1:-1:-1;;;;;19319:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;19347:22:0;;;;;;:18;:22;;;;;;;;19319:50;19315:98;;;-1:-1:-1;19396:5:0;19315:98;19433:41;19448:4;19454:2;19458:6;19466:7;19433:14;:41::i;:::-;19485:15;16509:16;;16498:8;:27;16548:17;;16536:9;:29;16588:17;;16576:9;:29;16628:17;;16616:9;:29;16454:199;19485:15;17202:2306;17133:2375;;;:::o;1624:190::-;1710:7;1746:12;1738:6;;;;1730:29;;;;-1:-1:-1;;;1730:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1770:9:0;1782:5;1786:1;1782;:5;:::i;:::-;1770:17;1624:190;-1:-1:-1;;;;;1624:190:0:o;2076:132::-;2134:7;2161:39;2165:1;2168;2161:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2154:46;2076:132;-1:-1:-1;;;2076:132:0:o;19745:404::-;13606:8;:15;;-1:-1:-1;;;;13606:15:0;-1:-1:-1;;;13606:15:0;;;19844:16:::1;::::0;;19858:1:::1;19844:16:::0;;;;;::::1;::::0;;-1:-1:-1;;19844:16:0;;19858:1;;19844:16;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;19844:16:0::1;19820:40;;19889:4;19871;19876:1;19871:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19871:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;19915:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;19915:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;19871:7;;19915:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19905:4;19910:1;19905:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19905:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;19980:15:::1;::::0;19948:62:::1;::::0;19965:4:::1;::::0;19980:15:::1;19998:11:::0;19948:8:::1;:62::i;:::-;20021:15;::::0;:120:::1;::::0;-1:-1:-1;;;20021:120:0;;-1:-1:-1;;;;;20021:15:0;;::::1;::::0;:66:::1;::::0;:120:::1;::::0;20088:11;;20021:15:::1;::::0;20104:4;;20118::::1;::::0;20125:15:::1;::::0;20021:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;13644:8:0;:16;;-1:-1:-1;;;;13644:16:0;;;-1:-1:-1;;;;19745:404:0:o;5968:191::-;6042:16;6061:6;;-1:-1:-1;;;;;6078:17:0;;;-1:-1:-1;;;;;;6078:17:0;;;;;;6111:40;;6061:6;;;;;;;6111:40;;6042:16;6111:40;6031:128;5968:191;:::o;21703:96::-;21760:14;;:31;;-1:-1:-1;;;;;21760:14:0;;;;:31;;;;;21784:6;;21760:14;:31;:14;:31;21784:6;21760:14;:31;;;;;;;;;;;;;;;;;;;;;21703:96;:::o;1293:179::-;1351:7;;1383:5;1387:1;1383;:5;:::i;:::-;1371:17;;1412:1;1407;:6;;1399:46;;;;-1:-1:-1;;;1399:46:0;;10143:2:1;1399:46:0;;;10125:21:1;10182:2;10162:18;;;10155:30;10221:29;10201:18;;;10194:57;10268:18;;1399:46:0;9941:351:1;21144:551:0;13606:8;:15;;-1:-1:-1;;;;13606:15:0;-1:-1:-1;;;13606:15:0;;;21332:8:::1;::::0;21317:9:::1;::::0;21302::::1;::::0;21288::::1;::::0;13606:15;;21249:93:::1;::::0;21288:53:::1;::::0;21332:8;;21288:39:::1;::::0;;;:9;:13:::1;:24::i;:53::-;21249:8;::::0;:34:::1;::::0;21262:20;21249:12:::1;:34::i;:::-;:38:::0;::::1;:93::i;:::-;21226:116:::0;-1:-1:-1;21353:12:0::1;21369:19;21226:116:::0;21386:1:::1;21369:16;:19::i;:::-;21353:35:::0;-1:-1:-1;21399:17:0::1;21419:30;:20:::0;21353:35;21419:24:::1;:30::i;:::-;21399:50:::0;-1:-1:-1;21485:21:0::1;21517:27;21399:50:::0;21517:16:::1;:27::i;:::-;21555:18;21576:70;21636:9:::0;21577:53:::1;21625:4:::0;21578:41:::1;:21;21604:14:::0;21578:25:::1;:41::i;:::-;21577:47:::0;::::1;:53::i;21576:70::-;21555:91;;21657:30;21670:4;21676:10;21657:12;:30::i;24121:117::-:0;24174:10;;24170:61;;24198:24;24215:6;24198:16;:24::i;22315:1246::-;22428:7;22423:60;;22457:14;:12;:14::i;:::-;22503:24;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22503:24:0;22551:30;22577:3;22551:21;22562:9;;22551:6;:10;;:21;;;;:::i;:30::-;22538:10;;;:43;22615:8;;22604:29;;22629:3;;22604:20;;:6;;:10;:20::i;:29::-;22592:41;;22668:9;;22657:30;;22683:3;;22657:21;;:6;;:10;:21::i;:30::-;22644:10;;;:43;22722:9;;22711:30;;22737:3;;22711:21;;:6;;:10;:21::i;:30::-;22698:10;;;:43;;;22836:9;;22820:10;;;;22788;;;;22777:69;;:54;;22820:10;22777:54;;22698:43;22777:54;;:6;;:10;:22::i;:::-;:26;;:38::i;:69::-;22762:12;;;:84;22894:10;;;;22859:21;;22883:22;;:6;;:10;:22::i;:::-;22859:46;;22916:27;22924:6;22932:4;:10;;;22916:7;:27::i;:::-;-1:-1:-1;;;;;22976:17:0;;;;;;:9;:17;;;;;;:36;;22998:13;22976:21;:36::i;:::-;-1:-1:-1;;;;;22956:17:0;;;;;;;:9;:17;;;;;;:56;;;;23071:12;;;;23046:20;;;;;;;;;;:38;;:24;:38::i;:::-;-1:-1:-1;;;;;23023:20:0;;;;;;:9;:20;;;;;;;;:61;;;;23198:9;;23183:10;;;;23122:87;;23183:25;;:10;:14;:25::i;:::-;23167:10;;;;23151;;;;;23140:4;23122:24;;;;:9;:24;;;;;;;:56;;23167:10;23122:56;;:24;:28;:40::i;:87::-;23113:4;23095:24;;;;:9;:24;;;;;;;;:114;;;;23233:8;-1:-1:-1;;;23233:8:0;;;;:35;;;;-1:-1:-1;23255:13:0;;-1:-1:-1;;;;;23245:23:0;;;23255:13;;23245:23;;23233:35;:62;;;;-1:-1:-1;;;;;;23272:23:0;;23290:4;23272:23;;23233:62;:100;;;;-1:-1:-1;23317:15:0;;-1:-1:-1;;;;;23299:34:0;;;23317:15;;23299:34;;23233:100;:173;;;;-1:-1:-1;23359:15:0;;-1:-1:-1;;;;;23338:37:0;;;23359:15;;23338:37;;:67;;-1:-1:-1;23392:13:0;;-1:-1:-1;;;;;23379:26:0;;;23392:13;;23379:26;23338:67;23230:239;;;23431:13;;;23446:10;;;;23423:34;;-1:-1:-1;;;;;23431:13:0;;23423:7;:34::i;:::-;23503:9;-1:-1:-1;;;;;23486:41:0;23495:6;-1:-1:-1;;;;;23486:41:0;;23514:4;:12;;;23486:41;;;;1410:25:1;;1398:2;1383:18;;1264:177;23486:41:0;;;;;;;;23538:15;16509:16;;16498:8;:27;16548:17;;16536:9;:29;16588:17;;16576:9;:29;16628:17;;16616:9;:29;16454:199;23538:15;22412:1149;;22315:1246;;;;:::o;2216:189::-;2302:7;2337:12;2330:5;2322:28;;;;-1:-1:-1;;;2322:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2361:9:0;2373:5;2377:1;2373;:5;:::i;1822:246::-;1880:7;1904:1;1909;1904:6;1900:47;;-1:-1:-1;1934:1:0;1927:8;;1900:47;1957:9;1969:5;1973:1;1969;:5;:::i;:::-;1957:17;-1:-1:-1;2002:1:0;1993:5;1997:1;1957:17;1993:5;:::i;:::-;:10;1985:56;;;;-1:-1:-1;;;1985:56:0;;10894:2:1;1985:56:0;;;10876:21:1;10933:2;10913:18;;;10906:30;10972:34;10952:18;;;10945:62;-1:-1:-1;;;11023:18:1;;;11016:31;11064:19;;1985:56:0;10692:397:1;1480:136:0;1538:7;1565:43;1569:1;1572;1565:43;;;;;;;;;;;;;;;;;:3;:43::i;20679:455::-;20792:15;;20760:62;;20777:4;;-1:-1:-1;;;;;20792:15:0;20810:11;20760:8;:62::i;:::-;20865:15;;21069:14;;20865:261;;-1:-1:-1;;;20865:261:0;;20937:4;20865:261;;;11443:34:1;11493:18;;;11486:34;;;20865:15:0;11536:18:1;;;11529:34;;;11579:18;;;11572:34;-1:-1:-1;;;;;21069:14:0;;;11622:19:1;;;11615:44;21098:15:0;11675:19:1;;;11668:35;20865:15:0;;;:31;;20904:9;;11377:19:1;;20865:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20679:455;;:::o;20157:514::-;20302:16;;;20316:1;20302:16;;;;;;;;20278:21;;20302:16;;;;;;;;-1:-1:-1;;20339:15:0;;:22;;;-1:-1:-1;;;20339:22:0;;;;20278:40;;-1:-1:-1;;;;;;20339:15:0;;;;:20;;-1:-1:-1;20339:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20329:4;20334:1;20329:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20329:32:0;;;:7;;;;;;;;;:32;20390:4;;20372:7;;20390:4;;;20372;;20390;;20372:7;;;;;;:::i;:::-;-1:-1:-1;;;;;20372:23:0;;;:7;;;;;;;;;:23;20432:15;;20594:4;;20432:223;;-1:-1:-1;;;20432:223:0;;:15;;;;:66;;20506:6;;20432:223;;:15;;20575:4;;20594;;;;20629:15;;20432:223;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20207:464;20157:514;:::o;16057:385::-;16104:9;;:14;:31;;;;-1:-1:-1;16122:8:0;;:13;16104:31;:49;;;;-1:-1:-1;16139:9:0;;:14;16104:49;:67;;;;-1:-1:-1;16157:9:0;;:14;16104:67;16100:80;;;16057:385::o;16100:80::-;16210:9;;;16190:17;:29;16249:8;;;16230:16;:27;16288:9;;;16268:17;:29;16328:9;;;16308:17;:29;-1:-1:-1;16350:13:0;;;;16374:12;;;;16397:13;;;16421;16057:385::o;15719:330::-;-1:-1:-1;;;;;14761:18:0;;14734:7;14761:18;;;:9;:18;;;;;;15798:7;:30;;15789:40;;;;;;-1:-1:-1;;;;;15862:19:0;;;;;;:9;:19;;;;;;:32;;15886:7;15862:23;:32::i;:::-;-1:-1:-1;;;;;15840:19:0;;;;;;:9;:19;;;;;:54;15915:7;;:20;;15927:7;15915:11;:20::i;:::-;15905:7;:30;15961:12;;:25;;15978:7;15961:16;:25::i;:::-;15946:12;:40;16002:39;;1410:25:1;;;16029:1:0;;-1:-1:-1;;;;;16002:39:0;;;;;1398:2:1;1383:18;16002:39:0;;;;;;;15719:330;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1680:456::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:456;;2072:7;;-1:-1:-1;;;2126:2:1;2111:18;;;;2098:32;;1680:456::o;2141:180::-;2200:6;2253:2;2241:9;2232:7;2228:23;2224:32;2221:52;;;2269:1;2266;2259:12;2221:52;-1:-1:-1;2292:23:1;;2141:180;-1:-1:-1;2141:180:1:o;2947:247::-;3006:6;3059:2;3047:9;3038:7;3034:23;3030:32;3027:52;;;3075:1;3072;3065:12;3027:52;3114:9;3101:23;3133:31;3158:5;3133:31;:::i;3199:388::-;3267:6;3275;3328:2;3316:9;3307:7;3303:23;3299:32;3296:52;;;3344:1;3341;3334:12;3296:52;3383:9;3370:23;3402:31;3427:5;3402:31;:::i;:::-;3452:5;-1:-1:-1;3509:2:1;3494:18;;3481:32;3522:33;3481:32;3522:33;:::i;:::-;3574:7;3564:17;;;3199:388;;;;;:::o;4003:356::-;4205:2;4187:21;;;4224:18;;;4217:30;4283:34;4278:2;4263:18;;4256:62;4350:2;4335:18;;4003:356::o;7973:127::-;8034:10;8029:3;8025:20;8022:1;8015:31;8065:4;8062:1;8055:15;8089:4;8086:1;8079:15;8105:125;8145:4;8173:1;8170;8167:8;8164:34;;;8178:18;;:::i;:::-;-1:-1:-1;8215:9:1;;8105:125::o;8367:127::-;8428:10;8423:3;8419:20;8416:1;8409:31;8459:4;8456:1;8449:15;8483:4;8480:1;8473:15;8499:251;8569:6;8622:2;8610:9;8601:7;8597:23;8593:32;8590:52;;;8638:1;8635;8628:12;8590:52;8670:9;8664:16;8689:31;8714:5;8689:31;:::i;8755:461::-;8808:3;8846:5;8840:12;8873:6;8868:3;8861:19;8899:4;8928:2;8923:3;8919:12;8912:19;;8965:2;8958:5;8954:14;8986:1;8996:195;9010:6;9007:1;9004:13;8996:195;;;9075:13;;-1:-1:-1;;;;;9071:39:1;9059:52;;9131:12;;;;9166:15;;;;9107:1;9025:9;8996:195;;;-1:-1:-1;9207:3:1;;8755:461;-1:-1:-1;;;;;8755:461:1:o;9221:582::-;9520:6;9509:9;9502:25;9563:6;9558:2;9547:9;9543:18;9536:34;9606:3;9601:2;9590:9;9586:18;9579:31;9483:4;9627:57;9679:3;9668:9;9664:19;9656:6;9627:57;:::i;:::-;-1:-1:-1;;;;;9720:32:1;;;;9715:2;9700:18;;9693:60;-1:-1:-1;9784:3:1;9769:19;9762:35;9619:65;9221:582;-1:-1:-1;;;9221:582:1:o;9808:128::-;9848:3;9879:1;9875:6;9872:1;9869:13;9866:39;;;9885:18;;:::i;:::-;-1:-1:-1;9921:9:1;;9808:128::o;10297:217::-;10337:1;10363;10353:132;;10407:10;10402:3;10398:20;10395:1;10388:31;10442:4;10439:1;10432:15;10470:4;10467:1;10460:15;10353:132;-1:-1:-1;10499:9:1;;10297:217::o;10519:168::-;10559:7;10625:1;10621;10617:6;10613:14;10610:1;10607:21;10602:1;10595:9;10588:17;10584:45;10581:71;;;10632:18;;:::i;:::-;-1:-1:-1;10672:9:1;;10519:168::o;11714:306::-;11802:6;11810;11818;11871:2;11859:9;11850:7;11846:23;11842:32;11839:52;;;11887:1;11884;11877:12;11839:52;11916:9;11910:16;11900:26;;11966:2;11955:9;11951:18;11945:25;11935:35;;12010:2;11999:9;11995:18;11989:25;11979:35;;11714:306;;;;;:::o;12025:518::-;12304:6;12293:9;12286:25;12347:3;12342:2;12331:9;12327:18;12320:31;12267:4;12368:57;12420:3;12409:9;12405:19;12397:6;12368:57;:::i;:::-;-1:-1:-1;;;;;12461:32:1;;;;12456:2;12441:18;;12434:60;-1:-1:-1;12525:2:1;12510:18;12503:34;12360:65;12025:518;-1:-1:-1;;12025:518:1:o

Swarm Source

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