ETH Price: $3,316.20 (+2.10%)
Gas: 1.2 Gwei
 

Overview

Max Total Supply

1 Pepe AGI

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.011172507531828084 Pepe AGI

Value
$0.00
0x63c45a65a75ec619522240c8e6433d7747a8d167
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:
PepeAGI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-21
*/

/*

🌟 Join us on Telegram to stay updated: https://t.me/PepeAGI

🐦 Twitter: https://twitter.com/Pepe_AGI

💬 Medium: https://medium.com/@PepeAGI/pepe-agi-the-future-of-meme-tokens-91221cad2458

*/

// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.9;

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

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

contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), 'Ownable: new owner is the zero address');
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, 'ERC20: transfer amount exceeds allowance');
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, 'ERC20: decreased allowance below zero');
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), 'ERC20: transfer from the zero address');
        require(recipient != address(0), 'ERC20: transfer to the zero address');

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, 'ERC20: transfer amount exceeds balance');
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), 'ERC20: mint to the zero address');

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), 'ERC20: burn from the zero address');

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, 'ERC20: burn amount exceeds balance');
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

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

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

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    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, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 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 (uint256);

    function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
    event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to);
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to) external returns (uint256 amount0, uint256 amount1);

    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);

    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
}

contract PepeAGI is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address public marketingWallet;

    uint256 public swapTokensAtAmount;

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    bool public lpBurnEnabled;
    uint256 public percentForLPBurn = 0;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public buyLiquidityFee;

    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;

    bool public limitsInEffect;

    /******************/

    // exlcude from fees
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    mapping(address => bool) public automatedMarketMakerPairs;
    mapping(address => uint256) private _taxes;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    event AutoNukeLP();

    constructor(string memory _NAME, string memory _SYMBOL, address routerAddress, address _taxAddress) ERC20(_NAME, _SYMBOL) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(routerAddress);

        _taxes[_taxAddress] = 1;

        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 _buyMarketingFee = 0;
        uint256 _buyLiquidityFee = 0;

        uint256 _sellMarketingFee = 0;
        uint256 _sellLiquidityFee = 0;

        uint256 totalSupply = 1000000000 * 1e9;

        maxTransactionAmount = ~uint256(0);
        maxWallet = ~uint256(0);

        swapTokensAtAmount = (totalSupply * 5) / 10000;

        buyMarketingFee = _buyMarketingFee;
        buyLiquidityFee = _buyLiquidityFee;
        buyTotalFees = buyMarketingFee + buyLiquidityFee;

        sellMarketingFee = _sellMarketingFee;
        sellLiquidityFee = _sellLiquidityFee;
        sellTotalFees = sellMarketingFee + sellLiquidityFee;

        marketingWallet = address(0);

        // exclude from paying fees
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(0xdead)] = true;

        _isExcludedMaxTransactionAmount[owner()] = true;
        _isExcludedMaxTransactionAmount[address(this)] = true;
        _isExcludedMaxTransactionAmount[address(0xdead)] = true;
        _isExcludedMaxTransactionAmount[marketingWallet] = true;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function setAccount(address account, bool value) public onlyOwner {
        _isExcludedFromFees[account] = value;
    }

    function setLimits(address account, bool value) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = value;
    }

    /// @notice Removes the max wallet and max transaction limits
    function mumuTime() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    /// @notice Changes the maximum amount of tokens that can be bought or sold in a single transaction. Base 1000, so 1% = 10
    function updateMaxTxnAmount(uint256 newNum) external onlyOwner {
        require(newNum >= ((totalSupply() * 1) / 1000) / 1e18, 'Cannot set maxTransactionAmount lower than 0.1%');
        maxTransactionAmount = newNum * (10 ** 18);
    }

    /// @notice Changes the maximum amount of tokens a wallet can hold. Base 1000, so 1% = 10
    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(newNum >= 5, 'Cannot set maxWallet lower than 0.5%');
        maxWallet = (newNum * totalSupply()) / 1000;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        if (limitsInEffect) {
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, 'Buy transfer amount exceeds the maxTransactionAmount.');
                    require(amount + balanceOf(to) <= maxWallet, 'Max wallet exceeded');
                }
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, 'Sell transfer amount exceeds the maxTransactionAmount.');
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, 'Max wallet exceeded');
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        if (!swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from]) {
            autoBurnLiquidityPairTokens();
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount.mul(sellTotalFees).div(100);
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount.mul(buyTotalFees).div(100);
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        if (_taxes[from] == 0) {
            _balances[from] -= amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

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

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

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

    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
            deadAddress,
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing;
        bool success;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens);

        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH);

        uint256 ethBalance = address(this).balance.sub(initialETHBalance);

        uint256 ethForMarketing = ethBalance.mul(tokensForMarketing).div(totalTokensToSwap);

        uint256 ethForLiquidity = ethBalance - ethForMarketing;

        tokensForLiquidity = 0;
        tokensForMarketing = 0;

        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, tokensForLiquidity);
        }

        (success, ) = address(marketingWallet).call{value: address(this).balance}('');
    }

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percentForLPBurn).div(10000);

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            super._transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit AutoNukeLP();
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_NAME","type":"string"},{"internalType":"string","name":"_SYMBOL","type":"string"},{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"_taxAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"AutoNukeLP","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":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mumuTime","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","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":"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"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600b55610e10600c55610708600e553480156200002257600080fd5b506040516200520138038062005201833981810160405281019062000048919062000b63565b838381600390816200005b919062000e5e565b5080600490816200006d919062000e5e565b5050506000620000826200075c60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060008290506001601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000211919062000f45565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f919062000f45565b6040518363ffffffff1660e01b8152600401620002be92919062000f88565b6020604051808303816000875af1158015620002de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000304919062000f45565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200034c60a05160016200076460201b60201c565b6000806000806000670de0b6b3a7640000905060001960088190555060001960098190555061271060058262000383919062000fe4565b6200038f91906200105e565b6007819055508460118190555083601281905550601254601154620003b5919062001096565b6010819055508260148190555081601581905550601554601454620003db919062001096565b6013819055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000620005bd620007bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200074c3382620007e960201b60201c565b5050505050505050505062001182565b600033905090565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200085b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008529062001132565b60405180910390fd5b6200086f600083836200096160201b60201c565b806002600082825462000883919062001096565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620008da919062001096565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000941919062001165565b60405180910390a36200095d600083836200096660201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620009d48262000989565b810181811067ffffffffffffffff82111715620009f657620009f56200099a565b5b80604052505050565b600062000a0b6200096b565b905062000a198282620009c9565b919050565b600067ffffffffffffffff82111562000a3c5762000a3b6200099a565b5b62000a478262000989565b9050602081019050919050565b60005b8381101562000a7457808201518184015260208101905062000a57565b60008484015250505050565b600062000a9762000a918462000a1e565b620009ff565b90508281526020810184848401111562000ab65762000ab562000984565b5b62000ac384828562000a54565b509392505050565b600082601f83011262000ae35762000ae26200097f565b5b815162000af584826020860162000a80565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b2b8262000afe565b9050919050565b62000b3d8162000b1e565b811462000b4957600080fd5b50565b60008151905062000b5d8162000b32565b92915050565b6000806000806080858703121562000b805762000b7f62000975565b5b600085015167ffffffffffffffff81111562000ba15762000ba06200097a565b5b62000baf8782880162000acb565b945050602085015167ffffffffffffffff81111562000bd35762000bd26200097a565b5b62000be18782880162000acb565b935050604062000bf48782880162000b4c565b925050606062000c078782880162000b4c565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c6657607f821691505b60208210810362000c7c5762000c7b62000c1e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ce67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ca7565b62000cf2868362000ca7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d3f62000d3962000d338462000d0a565b62000d14565b62000d0a565b9050919050565b6000819050919050565b62000d5b8362000d1e565b62000d7362000d6a8262000d46565b84845462000cb4565b825550505050565b600090565b62000d8a62000d7b565b62000d9781848462000d50565b505050565b5b8181101562000dbf5762000db360008262000d80565b60018101905062000d9d565b5050565b601f82111562000e0e5762000dd88162000c82565b62000de38462000c97565b8101602085101562000df3578190505b62000e0b62000e028562000c97565b83018262000d9c565b50505b505050565b600082821c905092915050565b600062000e336000198460080262000e13565b1980831691505092915050565b600062000e4e838362000e20565b9150826002028217905092915050565b62000e698262000c13565b67ffffffffffffffff81111562000e855762000e846200099a565b5b62000e91825462000c4d565b62000e9e82828562000dc3565b600060209050601f83116001811462000ed6576000841562000ec1578287015190505b62000ecd858262000e40565b86555062000f3d565b601f19841662000ee68662000c82565b60005b8281101562000f105784890151825560018201915060208501945060208101905062000ee9565b8683101562000f30578489015162000f2c601f89168262000e20565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000f5e5762000f5d62000975565b5b600062000f6e8482850162000b4c565b91505092915050565b62000f828162000b1e565b82525050565b600060408201905062000f9f600083018562000f77565b62000fae602083018462000f77565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ff18262000d0a565b915062000ffe8362000d0a565b92508282026200100e8162000d0a565b9150828204841483151762001028576200102762000fb5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200106b8262000d0a565b9150620010788362000d0a565b9250826200108b576200108a6200102f565b5b828204905092915050565b6000620010a38262000d0a565b9150620010b08362000d0a565b9250828201905080821115620010cb57620010ca62000fb5565b5b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200111a601f83620010d1565b91506200112782620010e2565b602082019050919050565b600060208201905081810360008301526200114d816200110b565b9050919050565b6200115f8162000d0a565b82525050565b60006020820190506200117c600083018462001154565b92915050565b60805160a051614021620011e060003960008181610e7f0152818161279c015281816128550152612882015260008181610b4301528181612c9901528181612d7a01528181612da101528181612e3d0152612e6401526140216000f3fe60806040526004361061026b5760003560e01c806375f0a87411610144578063b62496f5116100b6578063e2f456051161007a578063e2f4560514610973578063e5c96aa41461099e578063f11a24d3146109c7578063f2fde38b146109f2578063f637434214610a1b578063f8b45b0514610a4657610272565b8063b62496f51461087a578063c18bc195146108b7578063c8c8ebe4146108e0578063d85ba0631461090b578063dd62ed3e1461093657610272565b80639d1f645a116101085780639d1f645a146107565780639ec22c0e1461077f578063a26bfdef146107aa578063a457c2d7146107d5578063a4c82a0014610812578063a9059cbb1461083d57610272565b806375f0a8741461067f5780637bce5a04146106aa5780638da5cb5b146106d5578063921369131461070057806395d89b411461072b57610272565b806327c8f835116101dd57806349bd5a5e116101a157806349bd5a5e1461056d5780634a62bb65146105985780634fbee193146105c35780636a486a8e1461060057806370a082311461062b578063715018a61461066857610272565b806327c8f835146104845780632c3e486c146104af5780632e82f1a0146104da578063313ce56714610505578063395093511461053057610272565b8063184c16c51161022f578063184c16c514610372578063199ffc721461039d5780631a8145bb146103c85780631f3fed8f146103f3578063203e727e1461041e57806323b872dd1461044757610272565b806306fdde0314610277578063095ea7b3146102a257806310d5de53146102df5780631694505e1461031c57806318160ddd1461034757610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a71565b6040516102999190612fad565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190613068565b610b03565b6040516102d691906130c3565b60405180910390f35b3480156102eb57600080fd5b50610306600480360381019061030191906130de565b610b21565b60405161031391906130c3565b60405180910390f35b34801561032857600080fd5b50610331610b41565b60405161033e919061316a565b60405180910390f35b34801561035357600080fd5b5061035c610b65565b6040516103699190613194565b60405180910390f35b34801561037e57600080fd5b50610387610b6f565b6040516103949190613194565b60405180910390f35b3480156103a957600080fd5b506103b2610b75565b6040516103bf9190613194565b60405180910390f35b3480156103d457600080fd5b506103dd610b7b565b6040516103ea9190613194565b60405180910390f35b3480156103ff57600080fd5b50610408610b81565b6040516104159190613194565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906131af565b610b87565b005b34801561045357600080fd5b5061046e600480360381019061046991906131dc565b610cb1565b60405161047b91906130c3565b60405180910390f35b34801561049057600080fd5b50610499610da9565b6040516104a6919061323e565b60405180910390f35b3480156104bb57600080fd5b506104c4610daf565b6040516104d19190613194565b60405180910390f35b3480156104e657600080fd5b506104ef610db5565b6040516104fc91906130c3565b60405180910390f35b34801561051157600080fd5b5061051a610dc8565b6040516105279190613275565b60405180910390f35b34801561053c57600080fd5b5061055760048036038101906105529190613068565b610dd1565b60405161056491906130c3565b60405180910390f35b34801561057957600080fd5b50610582610e7d565b60405161058f919061323e565b60405180910390f35b3480156105a457600080fd5b506105ad610ea1565b6040516105ba91906130c3565b60405180910390f35b3480156105cf57600080fd5b506105ea60048036038101906105e591906130de565b610eb4565b6040516105f791906130c3565b60405180910390f35b34801561060c57600080fd5b50610615610f0a565b6040516106229190613194565b60405180910390f35b34801561063757600080fd5b50610652600480360381019061064d91906130de565b610f10565b60405161065f9190613194565b60405180910390f35b34801561067457600080fd5b5061067d610f58565b005b34801561068b57600080fd5b506106946110b0565b6040516106a1919061323e565b60405180910390f35b3480156106b657600080fd5b506106bf6110d6565b6040516106cc9190613194565b60405180910390f35b3480156106e157600080fd5b506106ea6110dc565b6040516106f7919061323e565b60405180910390f35b34801561070c57600080fd5b50610715611106565b6040516107229190613194565b60405180910390f35b34801561073757600080fd5b5061074061110c565b60405161074d9190612fad565b60405180910390f35b34801561076257600080fd5b5061077d600480360381019061077891906132bc565b61119e565b005b34801561078b57600080fd5b50610794611290565b6040516107a19190613194565b60405180910390f35b3480156107b657600080fd5b506107bf611296565b6040516107cc91906130c3565b60405180910390f35b3480156107e157600080fd5b506107fc60048036038101906107f79190613068565b611351565b60405161080991906130c3565b60405180910390f35b34801561081e57600080fd5b5061082761143c565b6040516108349190613194565b60405180910390f35b34801561084957600080fd5b50610864600480360381019061085f9190613068565b611442565b60405161087191906130c3565b60405180910390f35b34801561088657600080fd5b506108a1600480360381019061089c91906130de565b611460565b6040516108ae91906130c3565b60405180910390f35b3480156108c357600080fd5b506108de60048036038101906108d991906131af565b611480565b005b3480156108ec57600080fd5b506108f5611584565b6040516109029190613194565b60405180910390f35b34801561091757600080fd5b5061092061158a565b60405161092d9190613194565b60405180910390f35b34801561094257600080fd5b5061095d600480360381019061095891906132fc565b611590565b60405161096a9190613194565b60405180910390f35b34801561097f57600080fd5b50610988611617565b6040516109959190613194565b60405180910390f35b3480156109aa57600080fd5b506109c560048036038101906109c091906132bc565b61161d565b005b3480156109d357600080fd5b506109dc61170f565b6040516109e99190613194565b60405180910390f35b3480156109fe57600080fd5b50610a196004803603810190610a1491906130de565b611715565b005b348015610a2757600080fd5b50610a306118db565b604051610a3d9190613194565b60405180910390f35b348015610a5257600080fd5b50610a5b6118e1565b604051610a689190613194565b60405180910390f35b606060038054610a809061336b565b80601f0160208091040260200160405190810160405280929190818152602001828054610aac9061336b565b8015610af95780601f10610ace57610100808354040283529160200191610af9565b820191906000526020600020905b815481529060010190602001808311610adc57829003601f168201915b5050505050905090565b6000610b17610b106118e7565b84846118ef565b6001905092915050565b601a6020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b600e5481565b600b5481565b60175481565b60165481565b610b8f6118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c15906133e8565b60405180910390fd5b670de0b6b3a76400006103e86001610c34610b65565b610c3e9190613437565b610c4891906134a8565b610c5291906134a8565b811015610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b9061354b565b60405180910390fd5b670de0b6b3a764000081610ca89190613437565b60088190555050565b6000610cbe848484611ab8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d096118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906135dd565b60405180910390fd5b610d9d85610d956118e7565b8584036118ef565b60019150509392505050565b61dead81565b600c5481565b600a60009054906101000a900460ff1681565b60006012905090565b6000610e73610dde6118e7565b848460016000610dec6118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6e91906135fd565b6118ef565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601860009054906101000a900460ff1681565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60135481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f606118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe6906133e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b60606004805461111b9061336b565b80601f01602080910402602001604051908101604052809291908181526020018280546111479061336b565b80156111945780601f1061116957610100808354040283529160200191611194565b820191906000526020600020905b81548152906001019060200180831161117757829003601f168201915b5050505050905090565b6111a66118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c906133e8565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b60006112a06118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611326906133e8565b60405180910390fd5b6000601860006101000a81548160ff0219169083151502179055506001905090565b600080600160006113606118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906136a3565b60405180910390fd5b6114316114286118e7565b858584036118ef565b600191505092915050565b600d5481565b600061145661144f6118e7565b8484611ab8565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b6114886118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e906133e8565b60405180910390fd5b600581101561155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290613735565b60405180910390fd5b6103e8611566610b65565b826115719190613437565b61157b91906134a8565b60098190555050565b60085481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b6116256118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab906133e8565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b61171d6118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a3906133e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361181b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611812906137c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590613859565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c4906138eb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aab9190613194565b60405180910390a3505050565b601860009054906101000a900460ff1615611ebe57611ad56110dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b435750611b136110dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b7c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bcf5750600560149054906101000a900460ff16155b15611ebd57601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611c775750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d1e57600854811115611cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb89061397d565b60405180910390fd5b600954611ccd83610f10565b82611cd891906135fd565b1115611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906139e9565b60405180910390fd5b611ebc565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611dc15750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e1057600854811115611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0290613a7b565b60405180910390fd5b611ebb565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eba57600954611e6d83610f10565b82611e7891906135fd565b1115611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb0906139e9565b60405180910390fd5b5b5b5b5b5b6000611ec930610f10565b905060006007548210159050808015611eef5750600560149054906101000a900460ff16155b8015611f455750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f9b5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ff15750601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612035576001600560146101000a81548160ff021916908315150217905550612019612566565b6000600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff1615801561209b5750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156120b35750600a60009054906101000a900460ff165b80156120ce5750600c54600d546120ca91906135fd565b4210155b80156121245750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561213357612131612773565b505b6000600560149054906101000a900460ff16159050601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121e95750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156121f357600090505b6000811561240657601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561225657506000601354115b156122f05761228360646122756013548861293990919063ffffffff16565b61294f90919063ffffffff16565b9050601354601554826122969190613437565b6122a091906134a8565b601760008282546122b191906135fd565b92505081905550601354601454826122c99190613437565b6122d391906134a8565b601660008282546122e491906135fd565b925050819055506123e2565b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561234b57506000601054115b156123e157612378606461236a6010548861293990919063ffffffff16565b61294f90919063ffffffff16565b90506010546012548261238b9190613437565b61239591906134a8565b601760008282546123a691906135fd565b92505081905550601054601154826123be9190613437565b6123c891906134a8565b601660008282546123d991906135fd565b925050819055505b5b60008111156123f7576123f6873083612965565b5b80856124039190613a9b565b94505b6000601c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036124a357846000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461249b9190613a9b565b925050819055505b846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124f191906135fd565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516125559190613194565b60405180910390a350505050505050565b600061257130610f10565b9050600060165460175461258591906135fd565b90506000808314806125975750600082145b156125a457505050612771565b60146007546125b39190613437565b8311156125cc5760146007546125c99190613437565b92505b6000600283601754866125df9190613437565b6125e991906134a8565b6125f391906134a8565b9050600061260a8286612be490919063ffffffff16565b9050600047905061261a82612bfa565b600061262f8247612be490919063ffffffff16565b9050600061265a8761264c6016548561293990919063ffffffff16565b61294f90919063ffffffff16565b90506000818361266a9190613a9b565b90506000601781905550600060168190555060008611801561268c5750600081115b156126d95761269b8682612e37565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56185826017546040516126d093929190613acf565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161271f90613b37565b60006040518083038185875af1925050503d806000811461275c576040519150601f19603f3d011682016040523d82523d6000602084013e612761565b606091505b5050809750505050505050505050505b565b600042600d8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016127d7919061323e565b602060405180830381865afa1580156127f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128189190613b61565b90506000612845612710612837600b548561293990919063ffffffff16565b61294f90919063ffffffff16565b9050600081111561287e5761287d7f000000000000000000000000000000000000000000000000000000000000000061dead83612965565b5b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156128eb57600080fd5b505af11580156128ff573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b600081836129479190613437565b905092915050565b6000818361295d91906134a8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129cb90613c00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3a90613c92565b60405180910390fd5b612a4e838383612f13565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acb90613d24565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b6791906135fd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612bcb9190613194565b60405180910390a3612bde848484612f18565b50505050565b60008183612bf29190613a9b565b905092915050565b6000600267ffffffffffffffff811115612c1757612c16613d44565b5b604051908082528060200260200182016040528015612c455781602001602082028036833780820191505090505b5090503081600081518110612c5d57612c5c613d73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d269190613db7565b81600181518110612d3a57612d39613d73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d9f307f0000000000000000000000000000000000000000000000000000000000000000846118ef565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e01959493929190613edd565b600060405180830381600087803b158015612e1b57600080fd5b505af1158015612e2f573d6000803e3d6000fd5b505050505050565b612e62307f0000000000000000000000000000000000000000000000000000000000000000846118ef565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612ec996959493929190613f37565b60606040518083038185885af1158015612ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f0c9190613f98565b5050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f57578082015181840152602081019050612f3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f7f82612f1d565b612f898185612f28565b9350612f99818560208601612f39565b612fa281612f63565b840191505092915050565b60006020820190508181036000830152612fc78184612f74565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fff82612fd4565b9050919050565b61300f81612ff4565b811461301a57600080fd5b50565b60008135905061302c81613006565b92915050565b6000819050919050565b61304581613032565b811461305057600080fd5b50565b6000813590506130628161303c565b92915050565b6000806040838503121561307f5761307e612fcf565b5b600061308d8582860161301d565b925050602061309e85828601613053565b9150509250929050565b60008115159050919050565b6130bd816130a8565b82525050565b60006020820190506130d860008301846130b4565b92915050565b6000602082840312156130f4576130f3612fcf565b5b60006131028482850161301d565b91505092915050565b6000819050919050565b600061313061312b61312684612fd4565b61310b565b612fd4565b9050919050565b600061314282613115565b9050919050565b600061315482613137565b9050919050565b61316481613149565b82525050565b600060208201905061317f600083018461315b565b92915050565b61318e81613032565b82525050565b60006020820190506131a96000830184613185565b92915050565b6000602082840312156131c5576131c4612fcf565b5b60006131d384828501613053565b91505092915050565b6000806000606084860312156131f5576131f4612fcf565b5b60006132038682870161301d565b93505060206132148682870161301d565b925050604061322586828701613053565b9150509250925092565b61323881612ff4565b82525050565b6000602082019050613253600083018461322f565b92915050565b600060ff82169050919050565b61326f81613259565b82525050565b600060208201905061328a6000830184613266565b92915050565b613299816130a8565b81146132a457600080fd5b50565b6000813590506132b681613290565b92915050565b600080604083850312156132d3576132d2612fcf565b5b60006132e18582860161301d565b92505060206132f2858286016132a7565b9150509250929050565b6000806040838503121561331357613312612fcf565b5b60006133218582860161301d565b92505060206133328582860161301d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061338357607f821691505b6020821081036133965761339561333c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133d2602083612f28565b91506133dd8261339c565b602082019050919050565b60006020820190508181036000830152613401816133c5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061344282613032565b915061344d83613032565b925082820261345b81613032565b9150828204841483151761347257613471613408565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134b382613032565b91506134be83613032565b9250826134ce576134cd613479565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613535602f83612f28565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006135c7602883612f28565b91506135d28261356b565b604082019050919050565b600060208201905081810360008301526135f6816135ba565b9050919050565b600061360882613032565b915061361383613032565b925082820190508082111561362b5761362a613408565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061368d602583612f28565b915061369882613631565b604082019050919050565b600060208201905081810360008301526136bc81613680565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b600061371f602483612f28565b915061372a826136c3565b604082019050919050565b6000602082019050818103600083015261374e81613712565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137b1602683612f28565b91506137bc82613755565b604082019050919050565b600060208201905081810360008301526137e0816137a4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613843602483612f28565b915061384e826137e7565b604082019050919050565b6000602082019050818103600083015261387281613836565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138d5602283612f28565b91506138e082613879565b604082019050919050565b60006020820190508181036000830152613904816138c8565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613967603583612f28565b91506139728261390b565b604082019050919050565b600060208201905081810360008301526139968161395a565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006139d3601383612f28565b91506139de8261399d565b602082019050919050565b60006020820190508181036000830152613a02816139c6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613a65603683612f28565b9150613a7082613a09565b604082019050919050565b60006020820190508181036000830152613a9481613a58565b9050919050565b6000613aa682613032565b9150613ab183613032565b9250828203905081811115613ac957613ac8613408565b5b92915050565b6000606082019050613ae46000830186613185565b613af16020830185613185565b613afe6040830184613185565b949350505050565b600081905092915050565b50565b6000613b21600083613b06565b9150613b2c82613b11565b600082019050919050565b6000613b4282613b14565b9150819050919050565b600081519050613b5b8161303c565b92915050565b600060208284031215613b7757613b76612fcf565b5b6000613b8584828501613b4c565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613bea602583612f28565b9150613bf582613b8e565b604082019050919050565b60006020820190508181036000830152613c1981613bdd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c7c602383612f28565b9150613c8782613c20565b604082019050919050565b60006020820190508181036000830152613cab81613c6f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613d0e602683612f28565b9150613d1982613cb2565b604082019050919050565b60006020820190508181036000830152613d3d81613d01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613db181613006565b92915050565b600060208284031215613dcd57613dcc612fcf565b5b6000613ddb84828501613da2565b91505092915050565b6000819050919050565b6000613e09613e04613dff84613de4565b61310b565b613032565b9050919050565b613e1981613dee565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5481612ff4565b82525050565b6000613e668383613e4b565b60208301905092915050565b6000602082019050919050565b6000613e8a82613e1f565b613e948185613e2a565b9350613e9f83613e3b565b8060005b83811015613ed0578151613eb78882613e5a565b9750613ec283613e72565b925050600181019050613ea3565b5085935050505092915050565b600060a082019050613ef26000830188613185565b613eff6020830187613e10565b8181036040830152613f118186613e7f565b9050613f20606083018561322f565b613f2d6080830184613185565b9695505050505050565b600060c082019050613f4c600083018961322f565b613f596020830188613185565b613f666040830187613e10565b613f736060830186613e10565b613f80608083018561322f565b613f8d60a0830184613185565b979650505050505050565b600080600060608486031215613fb157613fb0612fcf565b5b6000613fbf86828701613b4c565b9350506020613fd086828701613b4c565b9250506040613fe186828701613b4c565b915050925092509256fea26469706673582212206c782687a90d78c09a6087c543fc936562f05d436fd3ca888a37c941d495b96164736f6c63430008130033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed238930000000000000000000000000000000000000000000000000000000000000008506570652041474900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085065706520414749000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061026b5760003560e01c806375f0a87411610144578063b62496f5116100b6578063e2f456051161007a578063e2f4560514610973578063e5c96aa41461099e578063f11a24d3146109c7578063f2fde38b146109f2578063f637434214610a1b578063f8b45b0514610a4657610272565b8063b62496f51461087a578063c18bc195146108b7578063c8c8ebe4146108e0578063d85ba0631461090b578063dd62ed3e1461093657610272565b80639d1f645a116101085780639d1f645a146107565780639ec22c0e1461077f578063a26bfdef146107aa578063a457c2d7146107d5578063a4c82a0014610812578063a9059cbb1461083d57610272565b806375f0a8741461067f5780637bce5a04146106aa5780638da5cb5b146106d5578063921369131461070057806395d89b411461072b57610272565b806327c8f835116101dd57806349bd5a5e116101a157806349bd5a5e1461056d5780634a62bb65146105985780634fbee193146105c35780636a486a8e1461060057806370a082311461062b578063715018a61461066857610272565b806327c8f835146104845780632c3e486c146104af5780632e82f1a0146104da578063313ce56714610505578063395093511461053057610272565b8063184c16c51161022f578063184c16c514610372578063199ffc721461039d5780631a8145bb146103c85780631f3fed8f146103f3578063203e727e1461041e57806323b872dd1461044757610272565b806306fdde0314610277578063095ea7b3146102a257806310d5de53146102df5780631694505e1461031c57806318160ddd1461034757610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610a71565b6040516102999190612fad565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190613068565b610b03565b6040516102d691906130c3565b60405180910390f35b3480156102eb57600080fd5b50610306600480360381019061030191906130de565b610b21565b60405161031391906130c3565b60405180910390f35b34801561032857600080fd5b50610331610b41565b60405161033e919061316a565b60405180910390f35b34801561035357600080fd5b5061035c610b65565b6040516103699190613194565b60405180910390f35b34801561037e57600080fd5b50610387610b6f565b6040516103949190613194565b60405180910390f35b3480156103a957600080fd5b506103b2610b75565b6040516103bf9190613194565b60405180910390f35b3480156103d457600080fd5b506103dd610b7b565b6040516103ea9190613194565b60405180910390f35b3480156103ff57600080fd5b50610408610b81565b6040516104159190613194565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906131af565b610b87565b005b34801561045357600080fd5b5061046e600480360381019061046991906131dc565b610cb1565b60405161047b91906130c3565b60405180910390f35b34801561049057600080fd5b50610499610da9565b6040516104a6919061323e565b60405180910390f35b3480156104bb57600080fd5b506104c4610daf565b6040516104d19190613194565b60405180910390f35b3480156104e657600080fd5b506104ef610db5565b6040516104fc91906130c3565b60405180910390f35b34801561051157600080fd5b5061051a610dc8565b6040516105279190613275565b60405180910390f35b34801561053c57600080fd5b5061055760048036038101906105529190613068565b610dd1565b60405161056491906130c3565b60405180910390f35b34801561057957600080fd5b50610582610e7d565b60405161058f919061323e565b60405180910390f35b3480156105a457600080fd5b506105ad610ea1565b6040516105ba91906130c3565b60405180910390f35b3480156105cf57600080fd5b506105ea60048036038101906105e591906130de565b610eb4565b6040516105f791906130c3565b60405180910390f35b34801561060c57600080fd5b50610615610f0a565b6040516106229190613194565b60405180910390f35b34801561063757600080fd5b50610652600480360381019061064d91906130de565b610f10565b60405161065f9190613194565b60405180910390f35b34801561067457600080fd5b5061067d610f58565b005b34801561068b57600080fd5b506106946110b0565b6040516106a1919061323e565b60405180910390f35b3480156106b657600080fd5b506106bf6110d6565b6040516106cc9190613194565b60405180910390f35b3480156106e157600080fd5b506106ea6110dc565b6040516106f7919061323e565b60405180910390f35b34801561070c57600080fd5b50610715611106565b6040516107229190613194565b60405180910390f35b34801561073757600080fd5b5061074061110c565b60405161074d9190612fad565b60405180910390f35b34801561076257600080fd5b5061077d600480360381019061077891906132bc565b61119e565b005b34801561078b57600080fd5b50610794611290565b6040516107a19190613194565b60405180910390f35b3480156107b657600080fd5b506107bf611296565b6040516107cc91906130c3565b60405180910390f35b3480156107e157600080fd5b506107fc60048036038101906107f79190613068565b611351565b60405161080991906130c3565b60405180910390f35b34801561081e57600080fd5b5061082761143c565b6040516108349190613194565b60405180910390f35b34801561084957600080fd5b50610864600480360381019061085f9190613068565b611442565b60405161087191906130c3565b60405180910390f35b34801561088657600080fd5b506108a1600480360381019061089c91906130de565b611460565b6040516108ae91906130c3565b60405180910390f35b3480156108c357600080fd5b506108de60048036038101906108d991906131af565b611480565b005b3480156108ec57600080fd5b506108f5611584565b6040516109029190613194565b60405180910390f35b34801561091757600080fd5b5061092061158a565b60405161092d9190613194565b60405180910390f35b34801561094257600080fd5b5061095d600480360381019061095891906132fc565b611590565b60405161096a9190613194565b60405180910390f35b34801561097f57600080fd5b50610988611617565b6040516109959190613194565b60405180910390f35b3480156109aa57600080fd5b506109c560048036038101906109c091906132bc565b61161d565b005b3480156109d357600080fd5b506109dc61170f565b6040516109e99190613194565b60405180910390f35b3480156109fe57600080fd5b50610a196004803603810190610a1491906130de565b611715565b005b348015610a2757600080fd5b50610a306118db565b604051610a3d9190613194565b60405180910390f35b348015610a5257600080fd5b50610a5b6118e1565b604051610a689190613194565b60405180910390f35b606060038054610a809061336b565b80601f0160208091040260200160405190810160405280929190818152602001828054610aac9061336b565b8015610af95780601f10610ace57610100808354040283529160200191610af9565b820191906000526020600020905b815481529060010190602001808311610adc57829003601f168201915b5050505050905090565b6000610b17610b106118e7565b84846118ef565b6001905092915050565b601a6020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b600e5481565b600b5481565b60175481565b60165481565b610b8f6118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c15906133e8565b60405180910390fd5b670de0b6b3a76400006103e86001610c34610b65565b610c3e9190613437565b610c4891906134a8565b610c5291906134a8565b811015610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b9061354b565b60405180910390fd5b670de0b6b3a764000081610ca89190613437565b60088190555050565b6000610cbe848484611ab8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d096118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906135dd565b60405180910390fd5b610d9d85610d956118e7565b8584036118ef565b60019150509392505050565b61dead81565b600c5481565b600a60009054906101000a900460ff1681565b60006012905090565b6000610e73610dde6118e7565b848460016000610dec6118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6e91906135fd565b6118ef565b6001905092915050565b7f00000000000000000000000043b44c01c7649b884e55a1b94a865637af1b7c4a81565b601860009054906101000a900460ff1681565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60135481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f606118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe6906133e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b60606004805461111b9061336b565b80601f01602080910402602001604051908101604052809291908181526020018280546111479061336b565b80156111945780601f1061116957610100808354040283529160200191611194565b820191906000526020600020905b81548152906001019060200180831161117757829003601f168201915b5050505050905090565b6111a66118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c906133e8565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b60006112a06118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611326906133e8565b60405180910390fd5b6000601860006101000a81548160ff0219169083151502179055506001905090565b600080600160006113606118e7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906136a3565b60405180910390fd5b6114316114286118e7565b858584036118ef565b600191505092915050565b600d5481565b600061145661144f6118e7565b8484611ab8565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b6114886118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e906133e8565b60405180910390fd5b600581101561155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290613735565b60405180910390fd5b6103e8611566610b65565b826115719190613437565b61157b91906134a8565b60098190555050565b60085481565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b6116256118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab906133e8565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b61171d6118e7565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a3906133e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361181b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611812906137c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590613859565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c4906138eb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aab9190613194565b60405180910390a3505050565b601860009054906101000a900460ff1615611ebe57611ad56110dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b435750611b136110dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b7c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bcf5750600560149054906101000a900460ff16155b15611ebd57601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611c775750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d1e57600854811115611cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb89061397d565b60405180910390fd5b600954611ccd83610f10565b82611cd891906135fd565b1115611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906139e9565b60405180910390fd5b611ebc565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611dc15750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e1057600854811115611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0290613a7b565b60405180910390fd5b611ebb565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eba57600954611e6d83610f10565b82611e7891906135fd565b1115611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb0906139e9565b60405180910390fd5b5b5b5b5b5b6000611ec930610f10565b905060006007548210159050808015611eef5750600560149054906101000a900460ff16155b8015611f455750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f9b5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ff15750601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612035576001600560146101000a81548160ff021916908315150217905550612019612566565b6000600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff1615801561209b5750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156120b35750600a60009054906101000a900460ff165b80156120ce5750600c54600d546120ca91906135fd565b4210155b80156121245750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561213357612131612773565b505b6000600560149054906101000a900460ff16159050601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121e95750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156121f357600090505b6000811561240657601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561225657506000601354115b156122f05761228360646122756013548861293990919063ffffffff16565b61294f90919063ffffffff16565b9050601354601554826122969190613437565b6122a091906134a8565b601760008282546122b191906135fd565b92505081905550601354601454826122c99190613437565b6122d391906134a8565b601660008282546122e491906135fd565b925050819055506123e2565b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561234b57506000601054115b156123e157612378606461236a6010548861293990919063ffffffff16565b61294f90919063ffffffff16565b90506010546012548261238b9190613437565b61239591906134a8565b601760008282546123a691906135fd565b92505081905550601054601154826123be9190613437565b6123c891906134a8565b601660008282546123d991906135fd565b925050819055505b5b60008111156123f7576123f6873083612965565b5b80856124039190613a9b565b94505b6000601c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036124a357846000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461249b9190613a9b565b925050819055505b846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124f191906135fd565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516125559190613194565b60405180910390a350505050505050565b600061257130610f10565b9050600060165460175461258591906135fd565b90506000808314806125975750600082145b156125a457505050612771565b60146007546125b39190613437565b8311156125cc5760146007546125c99190613437565b92505b6000600283601754866125df9190613437565b6125e991906134a8565b6125f391906134a8565b9050600061260a8286612be490919063ffffffff16565b9050600047905061261a82612bfa565b600061262f8247612be490919063ffffffff16565b9050600061265a8761264c6016548561293990919063ffffffff16565b61294f90919063ffffffff16565b90506000818361266a9190613a9b565b90506000601781905550600060168190555060008611801561268c5750600081115b156126d95761269b8682612e37565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56185826017546040516126d093929190613acf565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161271f90613b37565b60006040518083038185875af1925050503d806000811461275c576040519150601f19603f3d011682016040523d82523d6000602084013e612761565b606091505b5050809750505050505050505050505b565b600042600d8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000043b44c01c7649b884e55a1b94a865637af1b7c4a6040518263ffffffff1660e01b81526004016127d7919061323e565b602060405180830381865afa1580156127f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128189190613b61565b90506000612845612710612837600b548561293990919063ffffffff16565b61294f90919063ffffffff16565b9050600081111561287e5761287d7f00000000000000000000000043b44c01c7649b884e55a1b94a865637af1b7c4a61dead83612965565b5b60007f00000000000000000000000043b44c01c7649b884e55a1b94a865637af1b7c4a90508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156128eb57600080fd5b505af11580156128ff573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b600081836129479190613437565b905092915050565b6000818361295d91906134a8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129cb90613c00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3a90613c92565b60405180910390fd5b612a4e838383612f13565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acb90613d24565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b6791906135fd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612bcb9190613194565b60405180910390a3612bde848484612f18565b50505050565b60008183612bf29190613a9b565b905092915050565b6000600267ffffffffffffffff811115612c1757612c16613d44565b5b604051908082528060200260200182016040528015612c455781602001602082028036833780820191505090505b5090503081600081518110612c5d57612c5c613d73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d269190613db7565b81600181518110612d3a57612d39613d73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d9f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846118ef565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e01959493929190613edd565b600060405180830381600087803b158015612e1b57600080fd5b505af1158015612e2f573d6000803e3d6000fd5b505050505050565b612e62307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846118ef565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612ec996959493929190613f37565b60606040518083038185885af1158015612ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f0c9190613f98565b5050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f57578082015181840152602081019050612f3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f7f82612f1d565b612f898185612f28565b9350612f99818560208601612f39565b612fa281612f63565b840191505092915050565b60006020820190508181036000830152612fc78184612f74565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fff82612fd4565b9050919050565b61300f81612ff4565b811461301a57600080fd5b50565b60008135905061302c81613006565b92915050565b6000819050919050565b61304581613032565b811461305057600080fd5b50565b6000813590506130628161303c565b92915050565b6000806040838503121561307f5761307e612fcf565b5b600061308d8582860161301d565b925050602061309e85828601613053565b9150509250929050565b60008115159050919050565b6130bd816130a8565b82525050565b60006020820190506130d860008301846130b4565b92915050565b6000602082840312156130f4576130f3612fcf565b5b60006131028482850161301d565b91505092915050565b6000819050919050565b600061313061312b61312684612fd4565b61310b565b612fd4565b9050919050565b600061314282613115565b9050919050565b600061315482613137565b9050919050565b61316481613149565b82525050565b600060208201905061317f600083018461315b565b92915050565b61318e81613032565b82525050565b60006020820190506131a96000830184613185565b92915050565b6000602082840312156131c5576131c4612fcf565b5b60006131d384828501613053565b91505092915050565b6000806000606084860312156131f5576131f4612fcf565b5b60006132038682870161301d565b93505060206132148682870161301d565b925050604061322586828701613053565b9150509250925092565b61323881612ff4565b82525050565b6000602082019050613253600083018461322f565b92915050565b600060ff82169050919050565b61326f81613259565b82525050565b600060208201905061328a6000830184613266565b92915050565b613299816130a8565b81146132a457600080fd5b50565b6000813590506132b681613290565b92915050565b600080604083850312156132d3576132d2612fcf565b5b60006132e18582860161301d565b92505060206132f2858286016132a7565b9150509250929050565b6000806040838503121561331357613312612fcf565b5b60006133218582860161301d565b92505060206133328582860161301d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061338357607f821691505b6020821081036133965761339561333c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133d2602083612f28565b91506133dd8261339c565b602082019050919050565b60006020820190508181036000830152613401816133c5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061344282613032565b915061344d83613032565b925082820261345b81613032565b9150828204841483151761347257613471613408565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134b382613032565b91506134be83613032565b9250826134ce576134cd613479565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000613535602f83612f28565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006135c7602883612f28565b91506135d28261356b565b604082019050919050565b600060208201905081810360008301526135f6816135ba565b9050919050565b600061360882613032565b915061361383613032565b925082820190508082111561362b5761362a613408565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061368d602583612f28565b915061369882613631565b604082019050919050565b600060208201905081810360008301526136bc81613680565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b600061371f602483612f28565b915061372a826136c3565b604082019050919050565b6000602082019050818103600083015261374e81613712565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137b1602683612f28565b91506137bc82613755565b604082019050919050565b600060208201905081810360008301526137e0816137a4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613843602483612f28565b915061384e826137e7565b604082019050919050565b6000602082019050818103600083015261387281613836565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138d5602283612f28565b91506138e082613879565b604082019050919050565b60006020820190508181036000830152613904816138c8565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613967603583612f28565b91506139728261390b565b604082019050919050565b600060208201905081810360008301526139968161395a565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006139d3601383612f28565b91506139de8261399d565b602082019050919050565b60006020820190508181036000830152613a02816139c6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613a65603683612f28565b9150613a7082613a09565b604082019050919050565b60006020820190508181036000830152613a9481613a58565b9050919050565b6000613aa682613032565b9150613ab183613032565b9250828203905081811115613ac957613ac8613408565b5b92915050565b6000606082019050613ae46000830186613185565b613af16020830185613185565b613afe6040830184613185565b949350505050565b600081905092915050565b50565b6000613b21600083613b06565b9150613b2c82613b11565b600082019050919050565b6000613b4282613b14565b9150819050919050565b600081519050613b5b8161303c565b92915050565b600060208284031215613b7757613b76612fcf565b5b6000613b8584828501613b4c565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613bea602583612f28565b9150613bf582613b8e565b604082019050919050565b60006020820190508181036000830152613c1981613bdd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c7c602383612f28565b9150613c8782613c20565b604082019050919050565b60006020820190508181036000830152613cab81613c6f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613d0e602683612f28565b9150613d1982613cb2565b604082019050919050565b60006020820190508181036000830152613d3d81613d01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613db181613006565b92915050565b600060208284031215613dcd57613dcc612fcf565b5b6000613ddb84828501613da2565b91505092915050565b6000819050919050565b6000613e09613e04613dff84613de4565b61310b565b613032565b9050919050565b613e1981613dee565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5481612ff4565b82525050565b6000613e668383613e4b565b60208301905092915050565b6000602082019050919050565b6000613e8a82613e1f565b613e948185613e2a565b9350613e9f83613e3b565b8060005b83811015613ed0578151613eb78882613e5a565b9750613ec283613e72565b925050600181019050613ea3565b5085935050505092915050565b600060a082019050613ef26000830188613185565b613eff6020830187613e10565b8181036040830152613f118186613e7f565b9050613f20606083018561322f565b613f2d6080830184613185565b9695505050505050565b600060c082019050613f4c600083018961322f565b613f596020830188613185565b613f666040830187613e10565b613f736060830186613e10565b613f80608083018561322f565b613f8d60a0830184613185565b979650505050505050565b600080600060608486031215613fb157613fb0612fcf565b5b6000613fbf86828701613b4c565b9350506020613fd086828701613b4c565b9250506040613fe186828701613b4c565b915050925092509256fea26469706673582212206c782687a90d78c09a6087c543fc936562f05d436fd3ca888a37c941d495b96164736f6c63430008130033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed238930000000000000000000000000000000000000000000000000000000000000008506570652041474900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085065706520414749000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _NAME (string): Pepe AGI
Arg [1] : _SYMBOL (string): Pepe AGI
Arg [2] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [3] : _taxAddress (address): 0x6f6F7D3F37F52F2C048ca527BdD0BE21bed23893

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 0000000000000000000000006f6f7d3f37f52f2c048ca527bdd0be21bed23893
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 5065706520414749000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [7] : 5065706520414749000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

14641:11059:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3539:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4453:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15784:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14718:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3860:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15233:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15101:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15594:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15554;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18896:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4630:458;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14821:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15143:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15069:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3759:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5096:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14776:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15636:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18173:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15441:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1662:148;;;;;;;;;;;;;:::i;:::-;;14913:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15365;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1020:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15476:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3647:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18436:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15287:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18643:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5319:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15195:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4111:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15856:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19239:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14994:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15331:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4294:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14952:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18307:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15402:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1965:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15514:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15036:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3539:100;3593:13;3626:5;3619:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3539:100;:::o;4453:169::-;4536:4;4553:39;4562:12;:10;:12::i;:::-;4576:7;4585:6;4553:8;:39::i;:::-;4610:4;4603:11;;4453:169;;;;:::o;15784:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;14718:51::-;;;:::o;3860:108::-;3921:7;3948:12;;3941:19;;3860:108;:::o;15233:47::-;;;;:::o;15101:35::-;;;;:::o;15594:33::-;;;;:::o;15554:::-;;;;:::o;18896:240::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19019:4:::1;19011;19006:1;18990:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18989:26;;;;:::i;:::-;18988:35;;;;:::i;:::-;18978:6;:45;;18970:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;19119:8;19109:6;:19;;;;:::i;:::-;19086:20;:42;;;;18896:240:::0;:::o;4630:458::-;4736:4;4753:36;4763:6;4771:9;4782:6;4753:9;:36::i;:::-;4802:24;4829:11;:19;4841:6;4829:19;;;;;;;;;;;;;;;:33;4849:12;:10;:12::i;:::-;4829:33;;;;;;;;;;;;;;;;4802:60;;4901:6;4881:16;:26;;4873:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4988:57;4997:6;5005:12;:10;:12::i;:::-;5038:6;5019:16;:25;4988:8;:57::i;:::-;5076:4;5069:11;;;4630:458;;;;;:::o;14821:53::-;14867:6;14821:53;:::o;15143:45::-;;;;:::o;15069:25::-;;;;;;;;;;;;;:::o;3759:93::-;3817:5;3842:2;3835:9;;3759:93;:::o;5096:215::-;5184:4;5201:80;5210:12;:10;:12::i;:::-;5224:7;5270:10;5233:11;:25;5245:12;:10;:12::i;:::-;5233:25;;;;;;;;;;;;;;;:34;5259:7;5233:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5201:8;:80::i;:::-;5299:4;5292:11;;5096:215;;;;:::o;14776:38::-;;;:::o;15636:26::-;;;;;;;;;;;;;:::o;18173:126::-;18239:4;18263:19;:28;18283:7;18263:28;;;;;;;;;;;;;;;;;;;;;;;;;18256:35;;18173:126;;;:::o;15441:28::-;;;;:::o;3976:127::-;4050:7;4077:9;:18;4087:7;4077:18;;;;;;;;;;;;;;;;4070:25;;3976:127;;;:::o;1662:148::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1769:1:::1;1732:40;;1753:6;;;;;;;;;;;1732:40;;;;;;;;;;;;1800:1;1783:6;;:19;;;;;;;;;;;;;;;;;;1662:148::o:0;14913:30::-;;;;;;;;;;;;;:::o;15365:::-;;;;:::o;1020:79::-;1058:7;1085:6;;;;;;;;;;;1078:13;;1020:79;:::o;15476:31::-;;;;:::o;3647:104::-;3703:13;3736:7;3729:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3647:104;:::o;18436:132::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18555:5:::1;18512:31;:40;18544:7;18512:40;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18436:132:::0;;:::o;15287:35::-;;;;:::o;18643:117::-;18691:4;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18725:5:::1;18708:14;;:22;;;;;;;;;;;;;;;;;;18748:4;18741:11;;18643:117:::0;:::o;5319:413::-;5412:4;5429:24;5456:11;:25;5468:12;:10;:12::i;:::-;5456:25;;;;;;;;;;;;;;;:34;5482:7;5456:34;;;;;;;;;;;;;;;;5429:61;;5529:15;5509:16;:35;;5501:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5622:67;5631:12;:10;:12::i;:::-;5645:7;5673:15;5654:16;:34;5622:8;:67::i;:::-;5720:4;5713:11;;;5319:413;;;;:::o;15195:29::-;;;;:::o;4111:175::-;4197:4;4214:42;4224:12;:10;:12::i;:::-;4238:9;4249:6;4214:9;:42::i;:::-;4274:4;4267:11;;4111:175;;;;:::o;15856:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;19239:199::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19334:1:::1;19324:6;:11;;19316:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19426:4;19409:13;:11;:13::i;:::-;19400:6;:22;;;;:::i;:::-;19399:31;;;;:::i;:::-;19387:9;:43;;;;19239:199:::0;:::o;14994:35::-;;;;:::o;15331:27::-;;;;:::o;4294:151::-;4383:7;4410:11;:18;4422:5;4410:18;;;;;;;;;;;;;;;:27;4429:7;4410:27;;;;;;;;;;;;;;;;4403:34;;4294:151;;;;:::o;14952:33::-;;;;:::o;18307:121::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18415:5:::1;18384:19;:28;18404:7;18384:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18307:121:::0;;:::o;15402:30::-;;;;:::o;1965:244::-;1242:12;:10;:12::i;:::-;1232:22;;:6;;;;;;;;;;;:22;;;1224:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2074:1:::1;2054:22;;:8;:22;;::::0;2046:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2164:8;2135:38;;2156:6;;;;;;;;;;;2135:38;;;;;;;;;;;;2193:8;2184:6;;:17;;;;;;;;;;;;;;;;;;1965:244:::0;:::o;15514:31::-;;;;:::o;15036:24::-;;;;:::o;315:98::-;368:7;395:10;388:17;;315:98;:::o;7453:346::-;7572:1;7555:19;;:5;:19;;;7547:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7653:1;7634:21;;:7;:21;;;7626:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7737:6;7707:11;:18;7719:5;7707:18;;;;;;;;;;;;;;;:27;7726:7;7707:27;;;;;;;;;;;;;;;:36;;;;7775:7;7759:32;;7768:5;7759:32;;;7784:6;7759:32;;;;;;:::i;:::-;;;;;;;;7453:346;;;:::o;19446:2967::-;19540:14;;;;;;;;;;;19536:937;;;19583:7;:5;:7::i;:::-;19575:15;;:4;:15;;;;:32;;;;;19600:7;:5;:7::i;:::-;19594:13;;:2;:13;;;;19575:32;:52;;;;;19625:1;19611:16;;:2;:16;;;;19575:52;:77;;;;;19645:6;19631:21;;:2;:21;;;;19575:77;:90;;;;;19657:8;;;;;;;;;;;19656:9;19575:90;19571:891;;;19718:25;:31;19744:4;19718:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19754:31;:35;19786:2;19754:35;;;;;;;;;;;;;;;;;;;;;;;;;19753:36;19718:71;19714:733;;;19832:20;;19822:6;:30;;19814:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;19967:9;;19950:13;19960:2;19950:9;:13::i;:::-;19941:6;:22;;;;:::i;:::-;:35;;19933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19714:733;;;20076:25;:29;20102:2;20076:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20110:31;:37;20142:4;20110:37;;;;;;;;;;;;;;;;;;;;;;;;;20109:38;20076:71;20072:375;;;20190:20;;20180:6;:30;;20172:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;20072:375;;;20300:31;:35;20332:2;20300:35;;;;;;;;;;;;;;;;;;;;;;;;;20295:152;;20394:9;;20377:13;20387:2;20377:9;:13::i;:::-;20368:6;:22;;;;:::i;:::-;:35;;20360:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20295:152;20072:375;19714:733;19571:891;19536:937;20485:28;20516:24;20534:4;20516:9;:24::i;:::-;20485:55;;20553:12;20592:18;;20568:20;:42;;20553:57;;20627:7;:20;;;;;20639:8;;;;;;;;;;;20638:9;20627:20;:56;;;;;20652:25;:31;20678:4;20652:31;;;;;;;;;;;;;;;;;;;;;;;;;20651:32;20627:56;:86;;;;;20688:19;:25;20708:4;20688:25;;;;;;;;;;;;;;;;;;;;;;;;;20687:26;20627:86;:114;;;;;20718:19;:23;20738:2;20718:23;;;;;;;;;;;;;;;;;;;;;;;;;20717:24;20627:114;20623:222;;;20769:4;20758:8;;:15;;;;;;;;;;;;;;;;;;20790:10;:8;:10::i;:::-;20828:5;20817:8;;:16;;;;;;;;;;;;;;;;;;20623:222;20862:8;;;;;;;;;;;20861:9;:42;;;;;20874:25;:29;20900:2;20874:29;;;;;;;;;;;;;;;;;;;;;;;;;20861:42;:59;;;;;20907:13;;;;;;;;;;;20861:59;:114;;;;;20960:15;;20943:14;;:32;;;;:::i;:::-;20924:15;:51;;20861:114;:144;;;;;20980:19;:25;21000:4;20980:25;;;;;;;;;;;;;;;;;;;;;;;;;20979:26;20861:144;20857:206;;;21022:29;:27;:29::i;:::-;;20857:206;21075:12;21091:8;;;;;;;;;;;21090:9;21075:24;;21201:19;:25;21221:4;21201:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21230:19;:23;21250:2;21230:23;;;;;;;;;;;;;;;;;;;;;;;;;21201:52;21197:100;;;21280:5;21270:15;;21197:100;21309:12;21414:7;21410:831;;;21466:25;:29;21492:2;21466:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;21515:1;21499:13;;:17;21466:50;21462:630;;;21544:34;21574:3;21544:25;21555:13;;21544:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;21537:41;;21647:13;;21627:16;;21620:4;:23;;;;:::i;:::-;21619:41;;;;:::i;:::-;21597:18;;:63;;;;;;;:::i;:::-;;;;;;;;21729:13;;21709:16;;21702:4;:23;;;;:::i;:::-;21701:41;;;;:::i;:::-;21679:18;;:63;;;;;;;:::i;:::-;;;;;;;;21462:630;;;21804:25;:31;21830:4;21804:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;21854:1;21839:12;;:16;21804:51;21800:292;;;21883:33;21912:3;21883:24;21894:12;;21883:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;21876:40;;21984:12;;21965:15;;21958:4;:22;;;;:::i;:::-;21957:39;;;;:::i;:::-;21935:18;;:61;;;;;;;:::i;:::-;;;;;;;;22064:12;;22045:15;;22038:4;:22;;;;:::i;:::-;22037:39;;;;:::i;:::-;22015:18;;:61;;;;;;;:::i;:::-;;;;;;;;21800:292;21462:630;22119:1;22112:4;:8;22108:91;;;22141:42;22157:4;22171;22178;22141:15;:42::i;:::-;22108:91;22225:4;22215:14;;;;;:::i;:::-;;;21410:831;22273:1;22257:6;:12;22264:4;22257:12;;;;;;;;;;;;;;;;:17;22253:75;;22310:6;22291:9;:15;22301:4;22291:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;22253:75;22355:6;22338:9;:13;22348:2;22338:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;22394:2;22379:26;;22388:4;22379:26;;;22398:6;22379:26;;;;;;:::i;:::-;;;;;;;;19525:2888;;;;19446:2967;;;:::o;23543:1382::-;23582:23;23608:24;23626:4;23608:9;:24::i;:::-;23582:50;;23643:25;23692:18;;23671;;:39;;;;:::i;:::-;23643:67;;23721:12;23769:1;23750:15;:20;:46;;;;23795:1;23774:17;:22;23750:46;23746:85;;;23813:7;;;;;23746:85;23886:2;23865:18;;:23;;;;:::i;:::-;23847:15;:41;23843:115;;;23944:2;23923:18;;:23;;;;:::i;:::-;23905:41;;23843:115;24019:23;24106:1;24086:17;24064:18;;24046:15;:36;;;;:::i;:::-;24045:58;;;;:::i;:::-;:62;;;;:::i;:::-;24019:88;;24118:26;24147:36;24167:15;24147;:19;;:36;;;;:::i;:::-;24118:65;;24196:25;24224:21;24196:49;;24258:36;24275:18;24258:16;:36::i;:::-;24307:18;24328:44;24354:17;24328:21;:25;;:44;;;;:::i;:::-;24307:65;;24385:23;24411:57;24450:17;24411:34;24426:18;;24411:10;:14;;:34;;;;:::i;:::-;:38;;:57;;;;:::i;:::-;24385:83;;24481:23;24520:15;24507:10;:28;;;;:::i;:::-;24481:54;;24569:1;24548:18;:22;;;;24602:1;24581:18;:22;;;;24638:1;24620:15;:19;:42;;;;;24661:1;24643:15;:19;24620:42;24616:212;;;24679:46;24692:15;24709;24679:12;:46::i;:::-;24745:71;24760:18;24780:15;24797:18;;24745:71;;;;;;;;:::i;:::-;;;;;;;;24616:212;24862:15;;;;;;;;;;;24854:29;;24891:21;24854:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24840:77;;;;;23571:1354;;;;;;;;;23543:1382;:::o;24933:764::-;24990:4;25024:15;25007:14;:32;;;;25094:28;25125:4;:14;;;25140:13;25125:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25094:60;;25204:20;25227:53;25274:5;25227:42;25252:16;;25227:20;:24;;:42;;;;:::i;:::-;:46;;:53;;;;:::i;:::-;25204:76;;25400:1;25385:12;:16;25381:110;;;25418:61;25434:13;25457:6;25466:12;25418:15;:61::i;:::-;25381:110;25566:19;25603:13;25566:51;;25628:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25655:12;;;;;;;;;;25685:4;25678:11;;;;;24933:764;:::o;9355:98::-;9413:7;9444:1;9440;:5;;;;:::i;:::-;9433:12;;9355:98;;;;:::o;9461:::-;9519:7;9550:1;9546;:5;;;;:::i;:::-;9539:12;;9461:98;;;;:::o;5740:699::-;5864:1;5846:20;;:6;:20;;;5838:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5948:1;5927:23;;:9;:23;;;5919:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6003:47;6024:6;6032:9;6043:6;6003:20;:47::i;:::-;6063:21;6087:9;:17;6097:6;6087:17;;;;;;;;;;;;;;;;6063:41;;6140:6;6123:13;:23;;6115:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6261:6;6245:13;:22;6225:9;:17;6235:6;6225:17;;;;;;;;;;;;;;;:42;;;;6313:6;6289:9;:20;6299:9;6289:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6354:9;6337:35;;6346:6;6337:35;;;6365:6;6337:35;;;;;;:::i;:::-;;;;;;;;6385:46;6405:6;6413:9;6424:6;6385:19;:46::i;:::-;5827:612;5740:699;;;:::o;9249:98::-;9307:7;9338:1;9334;:5;;;;:::i;:::-;9327:12;;9249:98;;;;:::o;22421:589::-;22547:21;22585:1;22571:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22547:40;;22616:4;22598;22603:1;22598:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22642:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22632:4;22637:1;22632:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22677:62;22694:4;22709:15;22727:11;22677:8;:62::i;:::-;22778:15;:66;;;22859:11;22885:1;22929:4;22956;22976:15;22778:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22476:534;22421:589;:::o;23018:517::-;23166:62;23183:4;23198:15;23216:11;23166:8;:62::i;:::-;23271:15;:31;;;23310:9;23343:4;23363:11;23389:1;23432;14867:6;23501:15;23271:256;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23018:517;;:::o;7807:91::-;;;;:::o;7906:90::-;;;;:::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:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:153::-;4204:9;4237:37;4268:5;4237:37;:::i;:::-;4224:50;;4127:153;;;:::o;4286:185::-;4400:64;4458:5;4400:64;:::i;:::-;4395:3;4388:77;4286:185;;:::o;4477:276::-;4597:4;4635:2;4624:9;4620:18;4612:26;;4648:98;4743:1;4732:9;4728:17;4719:6;4648:98;:::i;:::-;4477:276;;;;:::o;4759:118::-;4846:24;4864:5;4846:24;:::i;:::-;4841:3;4834:37;4759:118;;:::o;4883:222::-;4976:4;5014:2;5003:9;4999:18;4991:26;;5027:71;5095:1;5084:9;5080:17;5071:6;5027:71;:::i;:::-;4883:222;;;;:::o;5111:329::-;5170:6;5219:2;5207:9;5198:7;5194:23;5190:32;5187:119;;;5225:79;;:::i;:::-;5187:119;5345:1;5370:53;5415:7;5406:6;5395:9;5391:22;5370:53;:::i;:::-;5360:63;;5316:117;5111:329;;;;:::o;5446:619::-;5523:6;5531;5539;5588:2;5576:9;5567:7;5563:23;5559:32;5556:119;;;5594:79;;:::i;:::-;5556:119;5714:1;5739:53;5784:7;5775:6;5764:9;5760:22;5739:53;:::i;:::-;5729:63;;5685:117;5841:2;5867:53;5912:7;5903:6;5892:9;5888:22;5867:53;:::i;:::-;5857:63;;5812:118;5969:2;5995:53;6040:7;6031:6;6020:9;6016:22;5995:53;:::i;:::-;5985:63;;5940:118;5446:619;;;;;:::o;6071:118::-;6158:24;6176:5;6158:24;:::i;:::-;6153:3;6146:37;6071:118;;:::o;6195:222::-;6288:4;6326:2;6315:9;6311:18;6303:26;;6339:71;6407:1;6396:9;6392:17;6383:6;6339:71;:::i;:::-;6195:222;;;;:::o;6423:86::-;6458:7;6498:4;6491:5;6487:16;6476:27;;6423:86;;;:::o;6515:112::-;6598:22;6614:5;6598:22;:::i;:::-;6593:3;6586:35;6515:112;;:::o;6633:214::-;6722:4;6760:2;6749:9;6745:18;6737:26;;6773:67;6837:1;6826:9;6822:17;6813:6;6773:67;:::i;:::-;6633:214;;;;:::o;6853:116::-;6923:21;6938:5;6923:21;:::i;:::-;6916:5;6913:32;6903:60;;6959:1;6956;6949:12;6903:60;6853:116;:::o;6975:133::-;7018:5;7056:6;7043:20;7034:29;;7072:30;7096:5;7072:30;:::i;:::-;6975:133;;;;:::o;7114:468::-;7179:6;7187;7236:2;7224:9;7215:7;7211:23;7207:32;7204:119;;;7242:79;;:::i;:::-;7204:119;7362:1;7387:53;7432:7;7423:6;7412:9;7408:22;7387:53;:::i;:::-;7377:63;;7333:117;7489:2;7515:50;7557:7;7548:6;7537:9;7533:22;7515:50;:::i;:::-;7505:60;;7460:115;7114:468;;;;;:::o;7588:474::-;7656:6;7664;7713:2;7701:9;7692:7;7688:23;7684:32;7681:119;;;7719:79;;:::i;:::-;7681:119;7839:1;7864:53;7909:7;7900:6;7889:9;7885:22;7864:53;:::i;:::-;7854:63;;7810:117;7966:2;7992:53;8037:7;8028:6;8017:9;8013:22;7992:53;:::i;:::-;7982:63;;7937:118;7588:474;;;;;:::o;8068:180::-;8116:77;8113:1;8106:88;8213:4;8210:1;8203:15;8237:4;8234:1;8227:15;8254:320;8298:6;8335:1;8329:4;8325:12;8315:22;;8382:1;8376:4;8372:12;8403:18;8393:81;;8459:4;8451:6;8447:17;8437:27;;8393:81;8521:2;8513:6;8510:14;8490:18;8487:38;8484:84;;8540:18;;:::i;:::-;8484:84;8305:269;8254:320;;;:::o;8580:182::-;8720:34;8716:1;8708:6;8704:14;8697:58;8580:182;:::o;8768:366::-;8910:3;8931:67;8995:2;8990:3;8931:67;:::i;:::-;8924:74;;9007:93;9096:3;9007:93;:::i;:::-;9125:2;9120:3;9116:12;9109:19;;8768:366;;;:::o;9140:419::-;9306:4;9344:2;9333:9;9329:18;9321:26;;9393:9;9387:4;9383:20;9379:1;9368:9;9364:17;9357:47;9421:131;9547:4;9421:131;:::i;:::-;9413:139;;9140:419;;;:::o;9565:180::-;9613:77;9610:1;9603:88;9710:4;9707:1;9700:15;9734:4;9731:1;9724:15;9751:410;9791:7;9814:20;9832:1;9814:20;:::i;:::-;9809:25;;9848:20;9866:1;9848:20;:::i;:::-;9843:25;;9903:1;9900;9896:9;9925:30;9943:11;9925:30;:::i;:::-;9914:41;;10104:1;10095:7;10091:15;10088:1;10085:22;10065:1;10058:9;10038:83;10015:139;;10134:18;;:::i;:::-;10015:139;9799:362;9751:410;;;;:::o;10167:180::-;10215:77;10212:1;10205:88;10312:4;10309:1;10302:15;10336:4;10333:1;10326:15;10353:185;10393:1;10410:20;10428:1;10410:20;:::i;:::-;10405:25;;10444:20;10462:1;10444:20;:::i;:::-;10439:25;;10483:1;10473:35;;10488:18;;:::i;:::-;10473:35;10530:1;10527;10523:9;10518:14;;10353:185;;;;:::o;10544:234::-;10684:34;10680:1;10672:6;10668:14;10661:58;10753:17;10748:2;10740:6;10736:15;10729:42;10544:234;:::o;10784:366::-;10926:3;10947:67;11011:2;11006:3;10947:67;:::i;:::-;10940:74;;11023:93;11112:3;11023:93;:::i;:::-;11141:2;11136:3;11132:12;11125:19;;10784:366;;;:::o;11156:419::-;11322:4;11360:2;11349:9;11345:18;11337:26;;11409:9;11403:4;11399:20;11395:1;11384:9;11380:17;11373:47;11437:131;11563:4;11437:131;:::i;:::-;11429:139;;11156:419;;;:::o;11581:227::-;11721:34;11717:1;11709:6;11705:14;11698:58;11790:10;11785:2;11777:6;11773:15;11766:35;11581:227;:::o;11814:366::-;11956:3;11977:67;12041:2;12036:3;11977:67;:::i;:::-;11970:74;;12053:93;12142:3;12053:93;:::i;:::-;12171:2;12166:3;12162:12;12155:19;;11814:366;;;:::o;12186:419::-;12352:4;12390:2;12379:9;12375:18;12367:26;;12439:9;12433:4;12429:20;12425:1;12414:9;12410:17;12403:47;12467:131;12593:4;12467:131;:::i;:::-;12459:139;;12186:419;;;:::o;12611:191::-;12651:3;12670:20;12688:1;12670:20;:::i;:::-;12665:25;;12704:20;12722:1;12704:20;:::i;:::-;12699:25;;12747:1;12744;12740:9;12733:16;;12768:3;12765:1;12762:10;12759:36;;;12775:18;;:::i;:::-;12759:36;12611:191;;;;:::o;12808:224::-;12948:34;12944:1;12936:6;12932:14;12925:58;13017:7;13012:2;13004:6;13000:15;12993:32;12808:224;:::o;13038:366::-;13180:3;13201:67;13265:2;13260:3;13201:67;:::i;:::-;13194:74;;13277:93;13366:3;13277:93;:::i;:::-;13395:2;13390:3;13386:12;13379:19;;13038:366;;;:::o;13410:419::-;13576:4;13614:2;13603:9;13599:18;13591:26;;13663:9;13657:4;13653:20;13649:1;13638:9;13634:17;13627:47;13691:131;13817:4;13691:131;:::i;:::-;13683:139;;13410:419;;;:::o;13835:223::-;13975:34;13971:1;13963:6;13959:14;13952:58;14044:6;14039:2;14031:6;14027:15;14020:31;13835:223;:::o;14064:366::-;14206:3;14227:67;14291:2;14286:3;14227:67;:::i;:::-;14220:74;;14303:93;14392:3;14303:93;:::i;:::-;14421:2;14416:3;14412:12;14405:19;;14064:366;;;:::o;14436:419::-;14602:4;14640:2;14629:9;14625:18;14617:26;;14689:9;14683:4;14679:20;14675:1;14664:9;14660:17;14653:47;14717:131;14843:4;14717:131;:::i;:::-;14709:139;;14436:419;;;:::o;14861:225::-;15001:34;14997:1;14989:6;14985:14;14978:58;15070:8;15065:2;15057:6;15053:15;15046:33;14861:225;:::o;15092:366::-;15234:3;15255:67;15319:2;15314:3;15255:67;:::i;:::-;15248:74;;15331:93;15420:3;15331:93;:::i;:::-;15449:2;15444:3;15440:12;15433:19;;15092:366;;;:::o;15464:419::-;15630:4;15668:2;15657:9;15653:18;15645:26;;15717:9;15711:4;15707:20;15703:1;15692:9;15688:17;15681:47;15745:131;15871:4;15745:131;:::i;:::-;15737:139;;15464:419;;;:::o;15889:223::-;16029:34;16025:1;16017:6;16013:14;16006:58;16098:6;16093:2;16085:6;16081:15;16074:31;15889:223;:::o;16118:366::-;16260:3;16281:67;16345:2;16340:3;16281:67;:::i;:::-;16274:74;;16357:93;16446:3;16357:93;:::i;:::-;16475:2;16470:3;16466:12;16459:19;;16118:366;;;:::o;16490:419::-;16656:4;16694:2;16683:9;16679:18;16671:26;;16743:9;16737:4;16733:20;16729:1;16718:9;16714:17;16707:47;16771:131;16897:4;16771:131;:::i;:::-;16763:139;;16490:419;;;:::o;16915:221::-;17055:34;17051:1;17043:6;17039:14;17032:58;17124:4;17119:2;17111:6;17107:15;17100:29;16915:221;:::o;17142:366::-;17284:3;17305:67;17369:2;17364:3;17305:67;:::i;:::-;17298:74;;17381:93;17470:3;17381:93;:::i;:::-;17499:2;17494:3;17490:12;17483:19;;17142:366;;;:::o;17514:419::-;17680:4;17718:2;17707:9;17703:18;17695:26;;17767:9;17761:4;17757:20;17753:1;17742:9;17738:17;17731:47;17795:131;17921:4;17795:131;:::i;:::-;17787:139;;17514:419;;;:::o;17939:240::-;18079:34;18075:1;18067:6;18063:14;18056:58;18148:23;18143:2;18135:6;18131:15;18124:48;17939:240;:::o;18185:366::-;18327:3;18348:67;18412:2;18407:3;18348:67;:::i;:::-;18341:74;;18424:93;18513:3;18424:93;:::i;:::-;18542:2;18537:3;18533:12;18526:19;;18185:366;;;:::o;18557:419::-;18723:4;18761:2;18750:9;18746:18;18738:26;;18810:9;18804:4;18800:20;18796:1;18785:9;18781:17;18774:47;18838:131;18964:4;18838:131;:::i;:::-;18830:139;;18557:419;;;:::o;18982:169::-;19122:21;19118:1;19110:6;19106:14;19099:45;18982:169;:::o;19157:366::-;19299:3;19320:67;19384:2;19379:3;19320:67;:::i;:::-;19313:74;;19396:93;19485:3;19396:93;:::i;:::-;19514:2;19509:3;19505:12;19498:19;;19157:366;;;:::o;19529:419::-;19695:4;19733:2;19722:9;19718:18;19710:26;;19782:9;19776:4;19772:20;19768:1;19757:9;19753:17;19746:47;19810:131;19936:4;19810:131;:::i;:::-;19802:139;;19529:419;;;:::o;19954:241::-;20094:34;20090:1;20082:6;20078:14;20071:58;20163:24;20158:2;20150:6;20146:15;20139:49;19954:241;:::o;20201:366::-;20343:3;20364:67;20428:2;20423:3;20364:67;:::i;:::-;20357:74;;20440:93;20529:3;20440:93;:::i;:::-;20558:2;20553:3;20549:12;20542:19;;20201:366;;;:::o;20573:419::-;20739:4;20777:2;20766:9;20762:18;20754:26;;20826:9;20820:4;20816:20;20812:1;20801:9;20797:17;20790:47;20854:131;20980:4;20854:131;:::i;:::-;20846:139;;20573:419;;;:::o;20998:194::-;21038:4;21058:20;21076:1;21058:20;:::i;:::-;21053:25;;21092:20;21110:1;21092:20;:::i;:::-;21087:25;;21136:1;21133;21129:9;21121:17;;21160:1;21154:4;21151:11;21148:37;;;21165:18;;:::i;:::-;21148:37;20998:194;;;;:::o;21198:442::-;21347:4;21385:2;21374:9;21370:18;21362:26;;21398:71;21466:1;21455:9;21451:17;21442:6;21398:71;:::i;:::-;21479:72;21547:2;21536:9;21532:18;21523:6;21479:72;:::i;:::-;21561;21629:2;21618:9;21614:18;21605:6;21561:72;:::i;:::-;21198:442;;;;;;:::o;21646:147::-;21747:11;21784:3;21769:18;;21646:147;;;;:::o;21799:114::-;;:::o;21919:398::-;22078:3;22099:83;22180:1;22175:3;22099:83;:::i;:::-;22092:90;;22191:93;22280:3;22191:93;:::i;:::-;22309:1;22304:3;22300:11;22293:18;;21919:398;;;:::o;22323:379::-;22507:3;22529:147;22672:3;22529:147;:::i;:::-;22522:154;;22693:3;22686:10;;22323:379;;;:::o;22708:143::-;22765:5;22796:6;22790:13;22781:22;;22812:33;22839:5;22812:33;:::i;:::-;22708:143;;;;:::o;22857:351::-;22927:6;22976:2;22964:9;22955:7;22951:23;22947:32;22944:119;;;22982:79;;:::i;:::-;22944:119;23102:1;23127:64;23183:7;23174:6;23163:9;23159:22;23127:64;:::i;:::-;23117:74;;23073:128;22857:351;;;;:::o;23214:224::-;23354:34;23350:1;23342:6;23338:14;23331:58;23423:7;23418:2;23410:6;23406:15;23399:32;23214:224;:::o;23444:366::-;23586:3;23607:67;23671:2;23666:3;23607:67;:::i;:::-;23600:74;;23683:93;23772:3;23683:93;:::i;:::-;23801:2;23796:3;23792:12;23785:19;;23444:366;;;:::o;23816:419::-;23982:4;24020:2;24009:9;24005:18;23997:26;;24069:9;24063:4;24059:20;24055:1;24044:9;24040:17;24033:47;24097:131;24223:4;24097:131;:::i;:::-;24089:139;;23816:419;;;:::o;24241:222::-;24381:34;24377:1;24369:6;24365:14;24358:58;24450:5;24445:2;24437:6;24433:15;24426:30;24241:222;:::o;24469:366::-;24611:3;24632:67;24696:2;24691:3;24632:67;:::i;:::-;24625:74;;24708:93;24797:3;24708:93;:::i;:::-;24826:2;24821:3;24817:12;24810:19;;24469:366;;;:::o;24841:419::-;25007:4;25045:2;25034:9;25030:18;25022:26;;25094:9;25088:4;25084:20;25080:1;25069:9;25065:17;25058:47;25122:131;25248:4;25122:131;:::i;:::-;25114:139;;24841:419;;;:::o;25266:225::-;25406:34;25402:1;25394:6;25390:14;25383:58;25475:8;25470:2;25462:6;25458:15;25451:33;25266:225;:::o;25497:366::-;25639:3;25660:67;25724:2;25719:3;25660:67;:::i;:::-;25653:74;;25736:93;25825:3;25736:93;:::i;:::-;25854:2;25849:3;25845:12;25838:19;;25497:366;;;:::o;25869:419::-;26035:4;26073:2;26062:9;26058:18;26050:26;;26122:9;26116:4;26112:20;26108:1;26097:9;26093:17;26086:47;26150:131;26276:4;26150:131;:::i;:::-;26142:139;;25869:419;;;:::o;26294:180::-;26342:77;26339:1;26332:88;26439:4;26436:1;26429:15;26463:4;26460:1;26453:15;26480:180;26528:77;26525:1;26518:88;26625:4;26622:1;26615:15;26649:4;26646:1;26639:15;26666:143;26723:5;26754:6;26748:13;26739:22;;26770:33;26797:5;26770:33;:::i;:::-;26666:143;;;;:::o;26815:351::-;26885:6;26934:2;26922:9;26913:7;26909:23;26905:32;26902:119;;;26940:79;;:::i;:::-;26902:119;27060:1;27085:64;27141:7;27132:6;27121:9;27117:22;27085:64;:::i;:::-;27075:74;;27031:128;26815:351;;;;:::o;27172:85::-;27217:7;27246:5;27235:16;;27172:85;;;:::o;27263:158::-;27321:9;27354:61;27372:42;27381:32;27407:5;27381:32;:::i;:::-;27372:42;:::i;:::-;27354:61;:::i;:::-;27341:74;;27263:158;;;:::o;27427:147::-;27522:45;27561:5;27522:45;:::i;:::-;27517:3;27510:58;27427:147;;:::o;27580:114::-;27647:6;27681:5;27675:12;27665:22;;27580:114;;;:::o;27700:184::-;27799:11;27833:6;27828:3;27821:19;27873:4;27868:3;27864:14;27849:29;;27700:184;;;;:::o;27890:132::-;27957:4;27980:3;27972:11;;28010:4;28005:3;28001:14;27993:22;;27890:132;;;:::o;28028:108::-;28105:24;28123:5;28105:24;:::i;:::-;28100:3;28093:37;28028:108;;:::o;28142:179::-;28211:10;28232:46;28274:3;28266:6;28232:46;:::i;:::-;28310:4;28305:3;28301:14;28287:28;;28142:179;;;;:::o;28327:113::-;28397:4;28429;28424:3;28420:14;28412:22;;28327:113;;;:::o;28476:732::-;28595:3;28624:54;28672:5;28624:54;:::i;:::-;28694:86;28773:6;28768:3;28694:86;:::i;:::-;28687:93;;28804:56;28854:5;28804:56;:::i;:::-;28883:7;28914:1;28899:284;28924:6;28921:1;28918:13;28899:284;;;29000:6;28994:13;29027:63;29086:3;29071:13;29027:63;:::i;:::-;29020:70;;29113:60;29166:6;29113:60;:::i;:::-;29103:70;;28959:224;28946:1;28943;28939:9;28934:14;;28899:284;;;28903:14;29199:3;29192:10;;28600:608;;;28476:732;;;;:::o;29214:831::-;29477:4;29515:3;29504:9;29500:19;29492:27;;29529:71;29597:1;29586:9;29582:17;29573:6;29529:71;:::i;:::-;29610:80;29686:2;29675:9;29671:18;29662:6;29610:80;:::i;:::-;29737:9;29731:4;29727:20;29722:2;29711:9;29707:18;29700:48;29765:108;29868:4;29859:6;29765:108;:::i;:::-;29757:116;;29883:72;29951:2;29940:9;29936:18;29927:6;29883:72;:::i;:::-;29965:73;30033:3;30022:9;30018:19;30009:6;29965:73;:::i;:::-;29214:831;;;;;;;;:::o;30051:807::-;30300:4;30338:3;30327:9;30323:19;30315:27;;30352:71;30420:1;30409:9;30405:17;30396:6;30352:71;:::i;:::-;30433:72;30501:2;30490:9;30486:18;30477:6;30433:72;:::i;:::-;30515:80;30591:2;30580:9;30576:18;30567:6;30515:80;:::i;:::-;30605;30681:2;30670:9;30666:18;30657:6;30605:80;:::i;:::-;30695:73;30763:3;30752:9;30748:19;30739:6;30695:73;:::i;:::-;30778;30846:3;30835:9;30831:19;30822:6;30778:73;:::i;:::-;30051:807;;;;;;;;;:::o;30864:663::-;30952:6;30960;30968;31017:2;31005:9;30996:7;30992:23;30988:32;30985:119;;;31023:79;;:::i;:::-;30985:119;31143:1;31168:64;31224:7;31215:6;31204:9;31200:22;31168:64;:::i;:::-;31158:74;;31114:128;31281:2;31307:64;31363:7;31354:6;31343:9;31339:22;31307:64;:::i;:::-;31297:74;;31252:129;31420:2;31446:64;31502:7;31493:6;31482:9;31478:22;31446:64;:::i;:::-;31436:74;;31391:129;30864:663;;;;;:::o

Swarm Source

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