ETH Price: $3,102.27 (+1.03%)
Gas: 7 Gwei

Token

Autistic Pepe (TARTAR)
 

Overview

Max Total Supply

69,000,000,000 TARTAR

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
114,135,209.614899423 TARTAR

Value
$0.00
0x5361b25e2279a217cf6e5f3c8b3df10dcf2928ba
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:
AutisticPepe

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// https://t.me/AutisticPepePortal

// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract AutisticPepe is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Autistic Pepe";
    string private constant _symbol = "TARTAR";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) public flaggedAsBot;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 69000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0xdDF86b38dB5CB20bC42688Aa42CF22288fc033d6);
    address payable private _marketingAddress = payable(0x44d1d142219348C7aB6929B8dbc312B5f9E173a2);
    address private _parentCA = 0x37cE3a20578094adE8aEaccD1879a605bdABE7ad;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;
    uint256 public _swapTokensAtAmount = (_tTotal * 5) / 10000;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(uint256 startFeeBuy, uint256 startFeeSell) {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _taxFeeOnBuy = startFeeBuy;
        _taxFeeOnSell = startFeeSell;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(_parentCA, _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

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

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if (from != _developmentAddress && to != _developmentAddress) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

                if(to != uniswapV2Pair) {
                    require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                }
            }

            if (tradingOpen) {
                require(
                    !flaggedAsBot[from] || to == _marketingAddress || to == owner() || to == address(0xdead),
                    "Bots cannot transfer tokens in or out except to owner, marketing, or dead address."
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function flagMultipleBots(address[] memory wallets) external onlyOwner {
        require(
            wallets.length < 600,
            "Can only mark 600 wallets per txn due to gas limits"
        );

        for (uint256 i = 0; i < wallets.length; i++) {
            address wallet = wallets[i];
            flaggedAsBot[wallet] = true;
        }
    }

    function unflagMultipleBots(address[] memory wallets) external onlyOwner {
        require(
            wallets.length < 600,
            "Can only mark 600 wallets per txn due to gas limits"
        );
        for (uint256 i = 0; i < wallets.length; i++) {
            address wallet = wallets[i];
            flaggedAsBot[wallet] = false;
        }
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"startFeeBuy","type":"uint256"},{"internalType":"uint256","name":"startFeeSell","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"flagMultipleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"flaggedAsBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"unflagMultipleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526803bd913e6c1df400005f196200001c919062000802565b5f196200002a919062000866565b6007555f6009555f600a555f600b555f600c55600b54600d55600c54600e55600d54600f55600e5460105573ddf86b38db5cb20bc42688aa42cf22288fc033d660125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507344d1d142219348c7ab6929b8dbc312b5f9e173a260135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507337ce3a20578094ade8aeaccd1879a605bdabe7ad60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601660146101000a81548160ff0219169083151502179055505f601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff021916908315150217905550606460026803bd913e6c1df40000620001b99190620008a0565b620001c59190620008ea565b601755606460026803bd913e6c1df40000620001e29190620008a0565b620001ee9190620008ea565b60185561271060056803bd913e6c1df400006200020c9190620008a0565b620002189190620008ea565b60195534801562000227575f80fd5b5060405162004a0738038062004a0783398181016040528101906200024d919062000954565b5f6200025e6200079e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460025f620003106200079e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004159190620009fa565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200047b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004a19190620009fa565b6040518363ffffffff1660e01b8152600401620004c092919062000a3b565b6020604051808303815f875af1158015620004dd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005039190620009fa565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a8190555081600c81905550600160055f62000565620007a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620007056200079e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6803bd913e6c1df400006040516200078d919062000a77565b60405180910390a350505062000a92565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200080e82620007cc565b91506200081b83620007cc565b9250826200082e576200082d620007d5565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200087282620007cc565b91506200087f83620007cc565b92508282039050818111156200089a576200089962000839565b5b92915050565b5f620008ac82620007cc565b9150620008b983620007cc565b9250828202620008c981620007cc565b91508282048414831517620008e357620008e262000839565b5b5092915050565b5f620008f682620007cc565b91506200090383620007cc565b925082620009165762000915620007d5565b5b828204905092915050565b5f80fd5b6200093081620007cc565b81146200093b575f80fd5b50565b5f815190506200094e8162000925565b92915050565b5f80604083850312156200096d576200096c62000921565b5b5f6200097c858286016200093e565b92505060206200098f858286016200093e565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009c48262000999565b9050919050565b620009d681620009b8565b8114620009e1575f80fd5b50565b5f81519050620009f481620009cb565b92915050565b5f6020828403121562000a125762000a1162000921565b5b5f62000a2184828501620009e4565b91505092915050565b62000a3581620009b8565b82525050565b5f60408201905062000a505f83018562000a2a565b62000a5f602083018462000a2a565b9392505050565b62000a7181620007cc565b82525050565b5f60208201905062000a8c5f83018462000a66565b92915050565b613f678062000aa05f395ff3fe6080604052600436106101d0575f3560e01c80637d1db4a5116100f6578063a2a957bb11610094578063dd62ed3e11610063578063dd62ed3e14610641578063e1d9888f1461067d578063ea1644d5146106a5578063f2fde38b146106cd576101d7565b8063a2a957bb1461059f578063a9059cbb146105c7578063c3c8cd8014610603578063c492f04614610619576101d7565b80638f70ccf7116100d05780638f70ccf7146104fb5780638f9a55c01461052357806395d89b411461054d57806398a5c31514610577576101d7565b80637d1db4a51461046b5780637f2feddc146104955780638da5cb5b146104d1576101d7565b8063313ce5671161016e57806370a082311161013d57806370a08231146103c9578063713318c114610405578063715018a61461042d57806374010ece14610443576101d7565b8063313ce5671461033757806349bd5a5e146103615780636d8aa8f81461038b5780636fc3eaec146103b3576101d7565b80631694505e116101aa5780631694505e1461027d57806318160ddd146102a757806323b872dd146102d15780632fd689e31461030d576101d7565b8063017e0192146101db57806306fdde0314610217578063095ea7b314610241576101d7565b366101d757005b5f80fd5b3480156101e6575f80fd5b5061020160048036038101906101fc9190612db7565b6106f5565b60405161020e9190612dfc565b60405180910390f35b348015610222575f80fd5b5061022b610712565b6040516102389190612e9f565b60405180910390f35b34801561024c575f80fd5b5061026760048036038101906102629190612ef2565b61074f565b6040516102749190612dfc565b60405180910390f35b348015610288575f80fd5b5061029161076c565b60405161029e9190612f8b565b60405180910390f35b3480156102b2575f80fd5b506102bb610791565b6040516102c89190612fb3565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f29190612fcc565b6107a1565b6040516103049190612dfc565b60405180910390f35b348015610318575f80fd5b50610321610875565b60405161032e9190612fb3565b60405180910390f35b348015610342575f80fd5b5061034b61087b565b6040516103589190613037565b60405180910390f35b34801561036c575f80fd5b50610375610883565b604051610382919061305f565b60405180910390f35b348015610396575f80fd5b506103b160048036038101906103ac91906130a2565b6108a8565b005b3480156103be575f80fd5b506103c7610958565b005b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612db7565b610a69565b6040516103fc9190612fb3565b60405180910390f35b348015610410575f80fd5b5061042b6004803603810190610426919061320d565b610ab7565b005b348015610438575f80fd5b50610441610c25565b005b34801561044e575f80fd5b5061046960048036038101906104649190613254565b610d73565b005b348015610476575f80fd5b5061047f610e11565b60405161048c9190612fb3565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612db7565b610e17565b6040516104c89190612fb3565b60405180910390f35b3480156104dc575f80fd5b506104e5610e2c565b6040516104f2919061305f565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c91906130a2565b610e53565b005b34801561052e575f80fd5b50610537610f04565b6040516105449190612fb3565b60405180910390f35b348015610558575f80fd5b50610561610f0a565b60405161056e9190612e9f565b60405180910390f35b348015610582575f80fd5b5061059d60048036038101906105989190613254565b610f47565b005b3480156105aa575f80fd5b506105c560048036038101906105c0919061327f565b610fe5565b005b3480156105d2575f80fd5b506105ed60048036038101906105e89190612ef2565b61109b565b6040516105fa9190612dfc565b60405180910390f35b34801561060e575f80fd5b506106176110b8565b005b348015610624575f80fd5b5061063f600480360381019061063a919061333c565b6111d1565b005b34801561064c575f80fd5b5061066760048036038101906106629190613399565b611306565b6040516106749190612fb3565b60405180910390f35b348015610688575f80fd5b506106a3600480360381019061069e919061320d565b611388565b005b3480156106b0575f80fd5b506106cb60048036038101906106c69190613254565b6114f7565b005b3480156106d8575f80fd5b506106f360048036038101906106ee9190612db7565b611595565b005b6006602052805f5260405f205f915054906101000a900460ff1681565b60606040518060400160405280600d81526020017f4175746973746963205065706500000000000000000000000000000000000000815250905090565b5f61076261075b611752565b8484611759565b6001905092915050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6803bd913e6c1df40000905090565b5f6107ad84848461191c565b61086a846107b9611752565b61086585604051806060016040528060288152602001613f0a6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61081c611752565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122bb9092919063ffffffff16565b611759565b600190509392505050565b60195481565b5f6009905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108b0611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390613421565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610998611752565b73ffffffffffffffffffffffffffffffffffffffff1614806109f357506109bd610e2c565b73ffffffffffffffffffffffffffffffffffffffff166109db611752565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a51575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a39611752565b73ffffffffffffffffffffffffffffffffffffffff16145b610a59575f80fd5b5f479050610a668161231d565b50565b5f610ab060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612385565b9050919050565b610abf611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4290613421565b60405180910390fd5b610258815110610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b87906134af565b60405180910390fd5b5f5b8151811015610c21575f828281518110610baf57610bae6134cd565b5b602002602001015190505f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550508080610c1990613527565b915050610b92565b5050565b610c2d611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090613421565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d7b611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90613421565b60405180910390fd5b8060178190555050565b60175481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e5b611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90613421565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600681526020017f5441525441520000000000000000000000000000000000000000000000000000815250905090565b610f4f611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd290613421565b60405180910390fd5b8060198190555050565b610fed611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090613421565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f6110ae6110a7611752565b848461191c565b6001905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110f8611752565b73ffffffffffffffffffffffffffffffffffffffff161480611153575061111d610e2c565b73ffffffffffffffffffffffffffffffffffffffff1661113b611752565b73ffffffffffffffffffffffffffffffffffffffff16145b806111b1575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611199611752565b73ffffffffffffffffffffffffffffffffffffffff16145b6111b9575f80fd5b5f6111c330610a69565b90506111ce816123f1565b50565b6111d9611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613421565b60405180910390fd5b5f5b83839050811015611300578160055f868685818110611289576112886134cd565b5b905060200201602081019061129e9190612db7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806112f890613527565b915050611267565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611390611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141390613421565b60405180910390fd5b610258815110611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906134af565b60405180910390fd5b5f5b81518110156114f3575f8282815181106114805761147f6134cd565b5b60200260200101519050600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505080806114eb90613527565b915050611463565b5050565b6114ff611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158290613421565b60405180910390fd5b8060188190555050565b61159d611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090613421565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e906135de565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be9061366c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c906136fa565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161190f9190612fb3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361198a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198190613788565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ef90613816565b60405180910390fd5b5f8111611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a31906138a4565b60405180910390fd5b611a42610e2c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ab05750611a80610e2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611fc857601660149054906101000a900460ff16611b3f57611ad1610e2c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590613932565b60405180910390fd5b5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611be9575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ce057601754811115611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a9061399a565b60405180910390fd5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cdf5760185481611c9484610a69565b611c9e91906139b8565b10611cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd590613a5b565b60405180910390fd5b5b5b601660149054906101000a900460ff1615611e4c5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580611d97575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611dd45750611da5610e2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e0c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290613b0f565b60405180910390fd5b5b5f611e5630610a69565b90505f60195482101590506017548210611e705760175491505b808015611e8a5750601660159054906101000a900460ff16155b8015611ee3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ef9575060168054906101000a900460ff165b8015611f4c575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611f9f575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fc557611fad826123f1565b5f4790505f811115611fc357611fc24761231d565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612068575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612119575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612118575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612126575f90506122a9565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121cf575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121e757600954600d81905550600a54600e819055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612290575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156122a857600b54600d81905550600c54600e819055505b5b6122b58484848461265c565b50505050565b5f838311158290612302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f99190612e9f565b60405180910390fd5b505f83856123109190613b2d565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612381573d5f803e3d5ffd5b5050565b5f6007548211156123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c290613bd0565b60405180910390fd5b5f6123d4612689565b90506123e981846126b290919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612428576124276130d1565b5b6040519080825280602002602001820160405280156124565781602001602082028036833780820191505090505b50905030815f8151811061246d5761246c6134cd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612511573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125359190613c02565b81600181518110612549576125486134cd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125af3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611759565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612611959493929190613d1d565b5f604051808303815f87803b158015612628575f80fd5b505af115801561263a573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b8061266a576126696126fb565b5b612675848484612734565b80612683576126826128f4565b5b50505050565b5f805f612694612908565b915091506126ab81836126b290919063ffffffff16565b9250505090565b5f6126f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612967565b905092915050565b5f600d5414801561270d57505f600e54145b61273257600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80612743876129c8565b95509550955095509550955061279f8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a2890919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128308560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a7190919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061287a81612ace565b6128848483612b85565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128e19190612fb3565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f6803bd913e6c1df40000905061293b6803bd913e6c1df400006007546126b290919063ffffffff16565b82101561295a576007546803bd913e6c1df40000935093505050612963565b81819350935050505b9091565b5f80831182906129ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a49190612e9f565b60405180910390fd5b505f83856129bb9190613da2565b9050809150509392505050565b5f805f805f805f805f6129e08a600d54600e54612bbf565b9250925092505f6129ef612689565b90505f805f612a008e878787612c51565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612a6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122bb565b905092915050565b5f808284612a7f91906139b8565b905083811015612ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612abb90613e1c565b60405180910390fd5b8091505092915050565b5f612ad7612689565b90505f612aed8284612cd590919063ffffffff16565b9050612b3f8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a7190919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612b9a82600754612a2890919063ffffffff16565b600781905550612bb581600854612a7190919063ffffffff16565b6008819055505050565b5f805f80612be96064612bdb888a612cd590919063ffffffff16565b6126b290919063ffffffff16565b90505f612c126064612c04888b612cd590919063ffffffff16565b6126b290919063ffffffff16565b90505f612c3a82612c2c858c612a2890919063ffffffff16565b612a2890919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612c688589612cd590919063ffffffff16565b90505f612c7e8689612cd590919063ffffffff16565b90505f612c948789612cd590919063ffffffff16565b90505f612cbc82612cae8587612a2890919063ffffffff16565b612a2890919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612ce5575f9050612d46565b5f8284612cf29190613e3a565b9050828482612d019190613da2565b14612d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3890613eeb565b60405180910390fd5b809150505b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612d8682612d5d565b9050919050565b612d9681612d7c565b8114612da0575f80fd5b50565b5f81359050612db181612d8d565b92915050565b5f60208284031215612dcc57612dcb612d55565b5b5f612dd984828501612da3565b91505092915050565b5f8115159050919050565b612df681612de2565b82525050565b5f602082019050612e0f5f830184612ded565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e4c578082015181840152602081019050612e31565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612e7182612e15565b612e7b8185612e1f565b9350612e8b818560208601612e2f565b612e9481612e57565b840191505092915050565b5f6020820190508181035f830152612eb78184612e67565b905092915050565b5f819050919050565b612ed181612ebf565b8114612edb575f80fd5b50565b5f81359050612eec81612ec8565b92915050565b5f8060408385031215612f0857612f07612d55565b5b5f612f1585828601612da3565b9250506020612f2685828601612ede565b9150509250929050565b5f819050919050565b5f612f53612f4e612f4984612d5d565b612f30565b612d5d565b9050919050565b5f612f6482612f39565b9050919050565b5f612f7582612f5a565b9050919050565b612f8581612f6b565b82525050565b5f602082019050612f9e5f830184612f7c565b92915050565b612fad81612ebf565b82525050565b5f602082019050612fc65f830184612fa4565b92915050565b5f805f60608486031215612fe357612fe2612d55565b5b5f612ff086828701612da3565b935050602061300186828701612da3565b925050604061301286828701612ede565b9150509250925092565b5f60ff82169050919050565b6130318161301c565b82525050565b5f60208201905061304a5f830184613028565b92915050565b61305981612d7c565b82525050565b5f6020820190506130725f830184613050565b92915050565b61308181612de2565b811461308b575f80fd5b50565b5f8135905061309c81613078565b92915050565b5f602082840312156130b7576130b6612d55565b5b5f6130c48482850161308e565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61310782612e57565b810181811067ffffffffffffffff82111715613126576131256130d1565b5b80604052505050565b5f613138612d4c565b905061314482826130fe565b919050565b5f67ffffffffffffffff821115613163576131626130d1565b5b602082029050602081019050919050565b5f80fd5b5f61318a61318584613149565b61312f565b905080838252602082019050602084028301858111156131ad576131ac613174565b5b835b818110156131d657806131c28882612da3565b8452602084019350506020810190506131af565b5050509392505050565b5f82601f8301126131f4576131f36130cd565b5b8135613204848260208601613178565b91505092915050565b5f6020828403121561322257613221612d55565b5b5f82013567ffffffffffffffff81111561323f5761323e612d59565b5b61324b848285016131e0565b91505092915050565b5f6020828403121561326957613268612d55565b5b5f61327684828501612ede565b91505092915050565b5f805f806080858703121561329757613296612d55565b5b5f6132a487828801612ede565b94505060206132b587828801612ede565b93505060406132c687828801612ede565b92505060606132d787828801612ede565b91505092959194509250565b5f80fd5b5f8083601f8401126132fc576132fb6130cd565b5b8235905067ffffffffffffffff811115613319576133186132e3565b5b60208301915083602082028301111561333557613334613174565b5b9250929050565b5f805f6040848603121561335357613352612d55565b5b5f84013567ffffffffffffffff8111156133705761336f612d59565b5b61337c868287016132e7565b9350935050602061338f8682870161308e565b9150509250925092565b5f80604083850312156133af576133ae612d55565b5b5f6133bc85828601612da3565b92505060206133cd85828601612da3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61340b602083612e1f565b9150613416826133d7565b602082019050919050565b5f6020820190508181035f830152613438816133ff565b9050919050565b7f43616e206f6e6c79206d61726b203630302077616c6c657473207065722074785f8201527f6e2064756520746f20676173206c696d69747300000000000000000000000000602082015250565b5f613499603383612e1f565b91506134a48261343f565b604082019050919050565b5f6020820190508181035f8301526134c68161348d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61353182612ebf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613563576135626134fa565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6135c8602683612e1f565b91506135d38261356e565b604082019050919050565b5f6020820190508181035f8301526135f5816135bc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613656602483612e1f565b9150613661826135fc565b604082019050919050565b5f6020820190508181035f8301526136838161364a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136e4602283612e1f565b91506136ef8261368a565b604082019050919050565b5f6020820190508181035f830152613711816136d8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613772602583612e1f565b915061377d82613718565b604082019050919050565b5f6020820190508181035f83015261379f81613766565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613800602383612e1f565b915061380b826137a6565b604082019050919050565b5f6020820190508181035f83015261382d816137f4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61388e602983612e1f565b915061389982613834565b604082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f61391c603f83612e1f565b9150613927826138c2565b604082019050919050565b5f6020820190508181035f83015261394981613910565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613984601c83612e1f565b915061398f82613950565b602082019050919050565b5f6020820190508181035f8301526139b181613978565b9050919050565b5f6139c282612ebf565b91506139cd83612ebf565b92508282019050808211156139e5576139e46134fa565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613a45602383612e1f565b9150613a50826139eb565b604082019050919050565b5f6020820190508181035f830152613a7281613a39565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e6760208201527f2c206f72206465616420616464726573732e0000000000000000000000000000604082015250565b5f613af9605283612e1f565b9150613b0482613a79565b606082019050919050565b5f6020820190508181035f830152613b2681613aed565b9050919050565b5f613b3782612ebf565b9150613b4283612ebf565b9250828203905081811115613b5a57613b596134fa565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613bba602a83612e1f565b9150613bc582613b60565b604082019050919050565b5f6020820190508181035f830152613be781613bae565b9050919050565b5f81519050613bfc81612d8d565b92915050565b5f60208284031215613c1757613c16612d55565b5b5f613c2484828501613bee565b91505092915050565b5f819050919050565b5f613c50613c4b613c4684613c2d565b612f30565b612ebf565b9050919050565b613c6081613c36565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c9881612d7c565b82525050565b5f613ca98383613c8f565b60208301905092915050565b5f602082019050919050565b5f613ccb82613c66565b613cd58185613c70565b9350613ce083613c80565b805f5b83811015613d10578151613cf78882613c9e565b9750613d0283613cb5565b925050600181019050613ce3565b5085935050505092915050565b5f60a082019050613d305f830188612fa4565b613d3d6020830187613c57565b8181036040830152613d4f8186613cc1565b9050613d5e6060830185613050565b613d6b6080830184612fa4565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613dac82612ebf565b9150613db783612ebf565b925082613dc757613dc6613d75565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613e06601b83612e1f565b9150613e1182613dd2565b602082019050919050565b5f6020820190508181035f830152613e3381613dfa565b9050919050565b5f613e4482612ebf565b9150613e4f83612ebf565b9250828202613e5d81612ebf565b91508282048414831517613e7457613e736134fa565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ed5602183612e1f565b9150613ee082613e7b565b604082019050919050565b5f6020820190508181035f830152613f0281613ec9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204237855cfb420963d17a58206b6b44f1768e834c326f4d19bd88b4be5be5b2e264736f6c6343000815003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003

Deployed Bytecode

0x6080604052600436106101d0575f3560e01c80637d1db4a5116100f6578063a2a957bb11610094578063dd62ed3e11610063578063dd62ed3e14610641578063e1d9888f1461067d578063ea1644d5146106a5578063f2fde38b146106cd576101d7565b8063a2a957bb1461059f578063a9059cbb146105c7578063c3c8cd8014610603578063c492f04614610619576101d7565b80638f70ccf7116100d05780638f70ccf7146104fb5780638f9a55c01461052357806395d89b411461054d57806398a5c31514610577576101d7565b80637d1db4a51461046b5780637f2feddc146104955780638da5cb5b146104d1576101d7565b8063313ce5671161016e57806370a082311161013d57806370a08231146103c9578063713318c114610405578063715018a61461042d57806374010ece14610443576101d7565b8063313ce5671461033757806349bd5a5e146103615780636d8aa8f81461038b5780636fc3eaec146103b3576101d7565b80631694505e116101aa5780631694505e1461027d57806318160ddd146102a757806323b872dd146102d15780632fd689e31461030d576101d7565b8063017e0192146101db57806306fdde0314610217578063095ea7b314610241576101d7565b366101d757005b5f80fd5b3480156101e6575f80fd5b5061020160048036038101906101fc9190612db7565b6106f5565b60405161020e9190612dfc565b60405180910390f35b348015610222575f80fd5b5061022b610712565b6040516102389190612e9f565b60405180910390f35b34801561024c575f80fd5b5061026760048036038101906102629190612ef2565b61074f565b6040516102749190612dfc565b60405180910390f35b348015610288575f80fd5b5061029161076c565b60405161029e9190612f8b565b60405180910390f35b3480156102b2575f80fd5b506102bb610791565b6040516102c89190612fb3565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f29190612fcc565b6107a1565b6040516103049190612dfc565b60405180910390f35b348015610318575f80fd5b50610321610875565b60405161032e9190612fb3565b60405180910390f35b348015610342575f80fd5b5061034b61087b565b6040516103589190613037565b60405180910390f35b34801561036c575f80fd5b50610375610883565b604051610382919061305f565b60405180910390f35b348015610396575f80fd5b506103b160048036038101906103ac91906130a2565b6108a8565b005b3480156103be575f80fd5b506103c7610958565b005b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612db7565b610a69565b6040516103fc9190612fb3565b60405180910390f35b348015610410575f80fd5b5061042b6004803603810190610426919061320d565b610ab7565b005b348015610438575f80fd5b50610441610c25565b005b34801561044e575f80fd5b5061046960048036038101906104649190613254565b610d73565b005b348015610476575f80fd5b5061047f610e11565b60405161048c9190612fb3565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612db7565b610e17565b6040516104c89190612fb3565b60405180910390f35b3480156104dc575f80fd5b506104e5610e2c565b6040516104f2919061305f565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c91906130a2565b610e53565b005b34801561052e575f80fd5b50610537610f04565b6040516105449190612fb3565b60405180910390f35b348015610558575f80fd5b50610561610f0a565b60405161056e9190612e9f565b60405180910390f35b348015610582575f80fd5b5061059d60048036038101906105989190613254565b610f47565b005b3480156105aa575f80fd5b506105c560048036038101906105c0919061327f565b610fe5565b005b3480156105d2575f80fd5b506105ed60048036038101906105e89190612ef2565b61109b565b6040516105fa9190612dfc565b60405180910390f35b34801561060e575f80fd5b506106176110b8565b005b348015610624575f80fd5b5061063f600480360381019061063a919061333c565b6111d1565b005b34801561064c575f80fd5b5061066760048036038101906106629190613399565b611306565b6040516106749190612fb3565b60405180910390f35b348015610688575f80fd5b506106a3600480360381019061069e919061320d565b611388565b005b3480156106b0575f80fd5b506106cb60048036038101906106c69190613254565b6114f7565b005b3480156106d8575f80fd5b506106f360048036038101906106ee9190612db7565b611595565b005b6006602052805f5260405f205f915054906101000a900460ff1681565b60606040518060400160405280600d81526020017f4175746973746963205065706500000000000000000000000000000000000000815250905090565b5f61076261075b611752565b8484611759565b6001905092915050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6803bd913e6c1df40000905090565b5f6107ad84848461191c565b61086a846107b9611752565b61086585604051806060016040528060288152602001613f0a6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61081c611752565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122bb9092919063ffffffff16565b611759565b600190509392505050565b60195481565b5f6009905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108b0611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390613421565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610998611752565b73ffffffffffffffffffffffffffffffffffffffff1614806109f357506109bd610e2c565b73ffffffffffffffffffffffffffffffffffffffff166109db611752565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a51575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a39611752565b73ffffffffffffffffffffffffffffffffffffffff16145b610a59575f80fd5b5f479050610a668161231d565b50565b5f610ab060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612385565b9050919050565b610abf611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4290613421565b60405180910390fd5b610258815110610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b87906134af565b60405180910390fd5b5f5b8151811015610c21575f828281518110610baf57610bae6134cd565b5b602002602001015190505f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550508080610c1990613527565b915050610b92565b5050565b610c2d611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090613421565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d7b611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90613421565b60405180910390fd5b8060178190555050565b60175481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e5b611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90613421565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600681526020017f5441525441520000000000000000000000000000000000000000000000000000815250905090565b610f4f611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd290613421565b60405180910390fd5b8060198190555050565b610fed611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090613421565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f6110ae6110a7611752565b848461191c565b6001905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110f8611752565b73ffffffffffffffffffffffffffffffffffffffff161480611153575061111d610e2c565b73ffffffffffffffffffffffffffffffffffffffff1661113b611752565b73ffffffffffffffffffffffffffffffffffffffff16145b806111b1575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611199611752565b73ffffffffffffffffffffffffffffffffffffffff16145b6111b9575f80fd5b5f6111c330610a69565b90506111ce816123f1565b50565b6111d9611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613421565b60405180910390fd5b5f5b83839050811015611300578160055f868685818110611289576112886134cd565b5b905060200201602081019061129e9190612db7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806112f890613527565b915050611267565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611390611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141390613421565b60405180910390fd5b610258815110611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906134af565b60405180910390fd5b5f5b81518110156114f3575f8282815181106114805761147f6134cd565b5b60200260200101519050600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505080806114eb90613527565b915050611463565b5050565b6114ff611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158290613421565b60405180910390fd5b8060188190555050565b61159d611752565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090613421565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e906135de565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be9061366c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c906136fa565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161190f9190612fb3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361198a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198190613788565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ef90613816565b60405180910390fd5b5f8111611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a31906138a4565b60405180910390fd5b611a42610e2c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ab05750611a80610e2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611fc857601660149054906101000a900460ff16611b3f57611ad1610e2c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590613932565b60405180910390fd5b5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611be9575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ce057601754811115611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a9061399a565b60405180910390fd5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cdf5760185481611c9484610a69565b611c9e91906139b8565b10611cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd590613a5b565b60405180910390fd5b5b5b601660149054906101000a900460ff1615611e4c5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580611d97575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611dd45750611da5610e2c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611e0c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290613b0f565b60405180910390fd5b5b5f611e5630610a69565b90505f60195482101590506017548210611e705760175491505b808015611e8a5750601660159054906101000a900460ff16155b8015611ee3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ef9575060168054906101000a900460ff165b8015611f4c575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611f9f575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fc557611fad826123f1565b5f4790505f811115611fc357611fc24761231d565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612068575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612119575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612118575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612126575f90506122a9565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121cf575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121e757600954600d81905550600a54600e819055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612290575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156122a857600b54600d81905550600c54600e819055505b5b6122b58484848461265c565b50505050565b5f838311158290612302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f99190612e9f565b60405180910390fd5b505f83856123109190613b2d565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612381573d5f803e3d5ffd5b5050565b5f6007548211156123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c290613bd0565b60405180910390fd5b5f6123d4612689565b90506123e981846126b290919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612428576124276130d1565b5b6040519080825280602002602001820160405280156124565781602001602082028036833780820191505090505b50905030815f8151811061246d5761246c6134cd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612511573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125359190613c02565b81600181518110612549576125486134cd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125af3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611759565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612611959493929190613d1d565b5f604051808303815f87803b158015612628575f80fd5b505af115801561263a573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b8061266a576126696126fb565b5b612675848484612734565b80612683576126826128f4565b5b50505050565b5f805f612694612908565b915091506126ab81836126b290919063ffffffff16565b9250505090565b5f6126f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612967565b905092915050565b5f600d5414801561270d57505f600e54145b61273257600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80612743876129c8565b95509550955095509550955061279f8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a2890919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128308560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a7190919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061287a81612ace565b6128848483612b85565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128e19190612fb3565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f6803bd913e6c1df40000905061293b6803bd913e6c1df400006007546126b290919063ffffffff16565b82101561295a576007546803bd913e6c1df40000935093505050612963565b81819350935050505b9091565b5f80831182906129ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a49190612e9f565b60405180910390fd5b505f83856129bb9190613da2565b9050809150509392505050565b5f805f805f805f805f6129e08a600d54600e54612bbf565b9250925092505f6129ef612689565b90505f805f612a008e878787612c51565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612a6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122bb565b905092915050565b5f808284612a7f91906139b8565b905083811015612ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612abb90613e1c565b60405180910390fd5b8091505092915050565b5f612ad7612689565b90505f612aed8284612cd590919063ffffffff16565b9050612b3f8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a7190919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612b9a82600754612a2890919063ffffffff16565b600781905550612bb581600854612a7190919063ffffffff16565b6008819055505050565b5f805f80612be96064612bdb888a612cd590919063ffffffff16565b6126b290919063ffffffff16565b90505f612c126064612c04888b612cd590919063ffffffff16565b6126b290919063ffffffff16565b90505f612c3a82612c2c858c612a2890919063ffffffff16565b612a2890919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612c688589612cd590919063ffffffff16565b90505f612c7e8689612cd590919063ffffffff16565b90505f612c948789612cd590919063ffffffff16565b90505f612cbc82612cae8587612a2890919063ffffffff16565b612a2890919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612ce5575f9050612d46565b5f8284612cf29190613e3a565b9050828482612d019190613da2565b14612d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3890613eeb565b60405180910390fd5b809150505b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612d8682612d5d565b9050919050565b612d9681612d7c565b8114612da0575f80fd5b50565b5f81359050612db181612d8d565b92915050565b5f60208284031215612dcc57612dcb612d55565b5b5f612dd984828501612da3565b91505092915050565b5f8115159050919050565b612df681612de2565b82525050565b5f602082019050612e0f5f830184612ded565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e4c578082015181840152602081019050612e31565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612e7182612e15565b612e7b8185612e1f565b9350612e8b818560208601612e2f565b612e9481612e57565b840191505092915050565b5f6020820190508181035f830152612eb78184612e67565b905092915050565b5f819050919050565b612ed181612ebf565b8114612edb575f80fd5b50565b5f81359050612eec81612ec8565b92915050565b5f8060408385031215612f0857612f07612d55565b5b5f612f1585828601612da3565b9250506020612f2685828601612ede565b9150509250929050565b5f819050919050565b5f612f53612f4e612f4984612d5d565b612f30565b612d5d565b9050919050565b5f612f6482612f39565b9050919050565b5f612f7582612f5a565b9050919050565b612f8581612f6b565b82525050565b5f602082019050612f9e5f830184612f7c565b92915050565b612fad81612ebf565b82525050565b5f602082019050612fc65f830184612fa4565b92915050565b5f805f60608486031215612fe357612fe2612d55565b5b5f612ff086828701612da3565b935050602061300186828701612da3565b925050604061301286828701612ede565b9150509250925092565b5f60ff82169050919050565b6130318161301c565b82525050565b5f60208201905061304a5f830184613028565b92915050565b61305981612d7c565b82525050565b5f6020820190506130725f830184613050565b92915050565b61308181612de2565b811461308b575f80fd5b50565b5f8135905061309c81613078565b92915050565b5f602082840312156130b7576130b6612d55565b5b5f6130c48482850161308e565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61310782612e57565b810181811067ffffffffffffffff82111715613126576131256130d1565b5b80604052505050565b5f613138612d4c565b905061314482826130fe565b919050565b5f67ffffffffffffffff821115613163576131626130d1565b5b602082029050602081019050919050565b5f80fd5b5f61318a61318584613149565b61312f565b905080838252602082019050602084028301858111156131ad576131ac613174565b5b835b818110156131d657806131c28882612da3565b8452602084019350506020810190506131af565b5050509392505050565b5f82601f8301126131f4576131f36130cd565b5b8135613204848260208601613178565b91505092915050565b5f6020828403121561322257613221612d55565b5b5f82013567ffffffffffffffff81111561323f5761323e612d59565b5b61324b848285016131e0565b91505092915050565b5f6020828403121561326957613268612d55565b5b5f61327684828501612ede565b91505092915050565b5f805f806080858703121561329757613296612d55565b5b5f6132a487828801612ede565b94505060206132b587828801612ede565b93505060406132c687828801612ede565b92505060606132d787828801612ede565b91505092959194509250565b5f80fd5b5f8083601f8401126132fc576132fb6130cd565b5b8235905067ffffffffffffffff811115613319576133186132e3565b5b60208301915083602082028301111561333557613334613174565b5b9250929050565b5f805f6040848603121561335357613352612d55565b5b5f84013567ffffffffffffffff8111156133705761336f612d59565b5b61337c868287016132e7565b9350935050602061338f8682870161308e565b9150509250925092565b5f80604083850312156133af576133ae612d55565b5b5f6133bc85828601612da3565b92505060206133cd85828601612da3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61340b602083612e1f565b9150613416826133d7565b602082019050919050565b5f6020820190508181035f830152613438816133ff565b9050919050565b7f43616e206f6e6c79206d61726b203630302077616c6c657473207065722074785f8201527f6e2064756520746f20676173206c696d69747300000000000000000000000000602082015250565b5f613499603383612e1f565b91506134a48261343f565b604082019050919050565b5f6020820190508181035f8301526134c68161348d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61353182612ebf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613563576135626134fa565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6135c8602683612e1f565b91506135d38261356e565b604082019050919050565b5f6020820190508181035f8301526135f5816135bc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613656602483612e1f565b9150613661826135fc565b604082019050919050565b5f6020820190508181035f8301526136838161364a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136e4602283612e1f565b91506136ef8261368a565b604082019050919050565b5f6020820190508181035f830152613711816136d8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613772602583612e1f565b915061377d82613718565b604082019050919050565b5f6020820190508181035f83015261379f81613766565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613800602383612e1f565b915061380b826137a6565b604082019050919050565b5f6020820190508181035f83015261382d816137f4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61388e602983612e1f565b915061389982613834565b604082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f61391c603f83612e1f565b9150613927826138c2565b604082019050919050565b5f6020820190508181035f83015261394981613910565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613984601c83612e1f565b915061398f82613950565b602082019050919050565b5f6020820190508181035f8301526139b181613978565b9050919050565b5f6139c282612ebf565b91506139cd83612ebf565b92508282019050808211156139e5576139e46134fa565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613a45602383612e1f565b9150613a50826139eb565b604082019050919050565b5f6020820190508181035f830152613a7281613a39565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e6760208201527f2c206f72206465616420616464726573732e0000000000000000000000000000604082015250565b5f613af9605283612e1f565b9150613b0482613a79565b606082019050919050565b5f6020820190508181035f830152613b2681613aed565b9050919050565b5f613b3782612ebf565b9150613b4283612ebf565b9250828203905081811115613b5a57613b596134fa565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613bba602a83612e1f565b9150613bc582613b60565b604082019050919050565b5f6020820190508181035f830152613be781613bae565b9050919050565b5f81519050613bfc81612d8d565b92915050565b5f60208284031215613c1757613c16612d55565b5b5f613c2484828501613bee565b91505092915050565b5f819050919050565b5f613c50613c4b613c4684613c2d565b612f30565b612ebf565b9050919050565b613c6081613c36565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c9881612d7c565b82525050565b5f613ca98383613c8f565b60208301905092915050565b5f602082019050919050565b5f613ccb82613c66565b613cd58185613c70565b9350613ce083613c80565b805f5b83811015613d10578151613cf78882613c9e565b9750613d0283613cb5565b925050600181019050613ce3565b5085935050505092915050565b5f60a082019050613d305f830188612fa4565b613d3d6020830187613c57565b8181036040830152613d4f8186613cc1565b9050613d5e6060830185613050565b613d6b6080830184612fa4565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613dac82612ebf565b9150613db783612ebf565b925082613dc757613dc6613d75565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613e06601b83612e1f565b9150613e1182613dd2565b602082019050919050565b5f6020820190508181035f830152613e3381613dfa565b9050919050565b5f613e4482612ebf565b9150613e4f83612ebf565b9250828202613e5d81612ebf565b91508282048414831517613e7457613e736134fa565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ed5602183612e1f565b9150613ee082613e7b565b604082019050919050565b5f6020820190508181035f830152613f0281613ec9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204237855cfb420963d17a58206b6b44f1768e834c326f4d19bd88b4be5be5b2e264736f6c63430008150033

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

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003

-----Decoded View---------------
Arg [0] : startFeeBuy (uint256): 0
Arg [1] : startFeeSell (uint256): 3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000003


Deployed Bytecode Sourcemap

4099:14585:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4573:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6828:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7753:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5542:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7105:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7954:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5854:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7014:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5590:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18066:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13117:262;;;;;;;;;;;;;:::i;:::-;;7208:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13761:365;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1586:148;;;;;;;;;;;;;:::i;:::-;;18206:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5740:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1372:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12737:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5796:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6919:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17875:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17532:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7354:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12846:263;;;;;;;;;;;;;:::i;:::-;;18445:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7561:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13389:364;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18322:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1742:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4573:44;;;;;;;;;;;;;;;;;;;;;;:::o;6828:83::-;6865:13;6898:5;;;;;;;;;;;;;;;;;6891:12;;6828:83;:::o;7753:193::-;7855:4;7877:39;7886:12;:10;:12::i;:::-;7900:7;7909:6;7877:8;:39::i;:::-;7934:4;7927:11;;7753:193;;;;:::o;5542:41::-;;;;;;;;;;;;;:::o;7105:95::-;7158:7;4708:19;7178:14;;7105:95;:::o;7954:446::-;8086:4;8103:36;8113:6;8121:9;8132:6;8103:9;:36::i;:::-;8150:220;8173:6;8194:12;:10;:12::i;:::-;8221:138;8277:6;8221:138;;;;;;;;;;;;;;;;;:11;:19;8233:6;8221:19;;;;;;;;;;;;;;;:33;8241:12;:10;:12::i;:::-;8221:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8150:8;:220::i;:::-;8388:4;8381:11;;7954:446;;;;;:::o;5854:58::-;;;;:::o;7014:83::-;7055:5;4331:1;7073:16;;7014:83;:::o;5590:28::-;;;;;;;;;;;;;:::o;18066:101::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18147:12:::1;18133:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;18066:101:::0;:::o;13117:262::-;13183:19;;;;;;;;;;;13167:35;;:12;:10;:12::i;:::-;:35;;;:62;;;;13222:7;:5;:7::i;:::-;13206:23;;:12;:10;:12::i;:::-;:23;;;13167:62;:99;;;;13249:17;;;;;;;;;;;13233:33;;:12;:10;:12::i;:::-;:33;;;13167:99;13159:108;;;;;;13278:26;13307:21;13278:50;;13339:32;13352:18;13339:12;:32::i;:::-;13148:231;13117:262::o;7208:138::-;7274:7;7301:37;7321:7;:16;7329:7;7321:16;;;;;;;;;;;;;;;;7301:19;:37::i;:::-;7294:44;;7208:138;;;:::o;13761:365::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13884:3:::1;13867:7;:14;:20;13845:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;13982:9;13977:142;14001:7;:14;13997:1;:18;13977:142;;;14037:14;14054:7;14062:1;14054:10;;;;;;;;:::i;:::-;;;;;;;;14037:27;;14102:5;14079:12;:20;14092:6;14079:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14022:97;14017:3;;;;;:::i;:::-;;;;13977:142;;;;13761:365:::0;:::o;1586:148::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1693:1:::1;1656:40;;1677:6;::::0;::::1;;;;;;;;1656:40;;;;;;;;;;;;1724:1;1707:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1586:148::o:0;18206:108::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18295:11:::1;18280:12;:26;;;;18206:108:::0;:::o;5740:49::-;;;;:::o;5207:43::-;;;;;;;;;;;;;;;;;:::o;1372:79::-;1410:7;1437:6;;;;;;;;;;;1430:13;;1372:79;:::o;12737:101::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12818:12:::1;12804:11;;:26;;;;;;;;;;;;;;;;;;12737:101:::0;:::o;5796:51::-;;;;:::o;6919:87::-;6958:13;6991:7;;;;;;;;;;;;;;;;;6984:14;;6919:87;:::o;17875:139::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17988:18:::1;17966:19;:40;;;;17875:139:::0;:::o;17532:291::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17683:13:::1;17666:14;:30;;;;17725:14;17707:15;:32;;;;17765:11;17750:12;:26;;;;17803:12;17787:13;:28;;;;17532:291:::0;;;;:::o;7354:199::-;7459:4;7481:42;7491:12;:10;:12::i;:::-;7505:9;7516:6;7481:9;:42::i;:::-;7541:4;7534:11;;7354:199;;;;:::o;12846:263::-;12912:19;;;;;;;;;;;12896:35;;:12;:10;:12::i;:::-;:35;;;:62;;;;12951:7;:5;:7::i;:::-;12935:23;;:12;:10;:12::i;:::-;:23;;;12896:62;:99;;;;12978:17;;;;;;;;;;;12962:33;;:12;:10;:12::i;:::-;:33;;;12896:99;12888:108;;;;;;13007:23;13033:24;13051:4;13033:9;:24::i;:::-;13007:50;;13068:33;13085:15;13068:16;:33::i;:::-;12877:232;12846:263::o;18445:234::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18562:9:::1;18558:114;18581:8;;:15;;18577:1;:19;18558:114;;;18652:8;18618:18;:31;18637:8;;18646:1;18637:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18618:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18598:3;;;;;:::i;:::-;;;;18558:114;;;;18445:234:::0;;;:::o;7561:184::-;7678:7;7710:11;:18;7722:5;7710:18;;;;;;;;;;;;;;;:27;7729:7;7710:27;;;;;;;;;;;;;;;;7703:34;;7561:184;;;;:::o;13389:364::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13510:3:::1;13493:7;:14;:20;13471:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;13610:9;13605:141;13629:7;:14;13625:1;:18;13605:141;;;13665:14;13682:7;13690:1;13682:10;;;;;;;;:::i;:::-;;;;;;;;13665:27;;13730:4;13707:12;:20;13720:6;13707:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;13650:96;13645:3;;;;;:::i;:::-;;;;13605:141;;;;13389:364:::0;:::o;18322:115::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18416:13:::1;18399:14;:30;;;;18322:115:::0;:::o;1742:244::-;1509:12;:10;:12::i;:::-;1499:22;;:6;;;;;;;;;;:22;;;1491:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1851:1:::1;1831:22;;:8;:22;;::::0;1823:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1941:8;1912:38;;1933:6;::::0;::::1;;;;;;;;1912:38;;;;;;;;;;;;1970:8;1961:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1742:244:::0;:::o;131:98::-;184:7;211:10;204:17;;131:98;:::o;9091:369::-;9235:1;9218:19;;:5;:19;;;9210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9316:1;9297:21;;:7;:21;;;9289:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9398:6;9368:11;:18;9380:5;9368:18;;;;;;;;;;;;;;;:27;9387:7;9368:27;;;;;;;;;;;;;;;:36;;;;9436:7;9420:32;;9429:5;9420:32;;;9445:6;9420:32;;;;;;:::i;:::-;;;;;;;;9091:369;;;:::o;9468:2663::-;9606:1;9590:18;;:4;:18;;;9582:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9683:1;9669:16;;:2;:16;;;9661:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9753:1;9744:6;:10;9736:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9825:7;:5;:7::i;:::-;9817:15;;:4;:15;;;;:32;;;;;9842:7;:5;:7::i;:::-;9836:13;;:2;:13;;;;9817:32;9813:1592;;;9906:11;;;;;;;;;;;9901:144;;9954:7;:5;:7::i;:::-;9946:15;;:4;:15;;;9938:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9901:144;10073:19;;;;;;;;;;;10065:27;;:4;:27;;;;:56;;;;;10102:19;;;;;;;;;;;10096:25;;:2;:25;;;;10065:56;10061:334;;;10160:12;;10150:6;:22;;10142:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10235:13;;;;;;;;;;;10229:19;;:2;:19;;;10226:154;;10306:14;;10297:6;10281:13;10291:2;10281:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10273:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10226:154;10061:334;10415:11;;;;;;;;;;;10411:296;;;10478:12;:18;10491:4;10478:18;;;;;;;;;;;;;;;;;;;;;;;;;10477:19;:46;;;;10506:17;;;;;;;;;;;10500:23;;:2;:23;;;10477:46;:63;;;;10533:7;:5;:7::i;:::-;10527:13;;:2;:13;;;10477:63;:88;;;;10558:6;10544:21;;:2;:21;;;10477:88;10447:244;;;;;;;;;;;;:::i;:::-;;;;;;;;;10411:296;10723:28;10754:24;10772:4;10754:9;:24::i;:::-;10723:55;;10793:12;10832:19;;10808:20;:43;;10793:58;;10895:12;;10871:20;:36;10868:124;;10964:12;;10941:35;;10868:124;11012:7;:18;;;;;11024:6;;;;;;;;;;;11023:7;11012:18;:43;;;;;11042:13;;;;;;;;;;;11034:21;;:4;:21;;;;11012:43;:58;;;;;11059:11;;;;;;;;;;11012:58;:87;;;;;11075:18;:24;11094:4;11075:24;;;;;;;;;;;;;;;;;;;;;;;;;11074:25;11012:87;:114;;;;;11104:18;:22;11123:2;11104:22;;;;;;;;;;;;;;;;;;;;;;;;;11103:23;11012:114;11008:386;;;11147:38;11164:20;11147:16;:38::i;:::-;11204:26;11233:21;11204:50;;11298:1;11277:18;:22;11273:106;;;11324:35;11337:21;11324:12;:35::i;:::-;11273:106;11128:266;11008:386;9851:1554;;9813:1592;11417:12;11432:4;11417:19;;11481:18;:24;11500:4;11481:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11509:18;:22;11528:2;11509:22;;;;;;;;;;;;;;;;;;;;;;;;;11481:50;11480:102;;;;11545:13;;;;;;;;;;;11537:21;;:4;:21;;;;:44;;;;;11568:13;;;;;;;;;;;11562:19;;:2;:19;;;;11537:44;11480:102;11476:594;;;11609:5;11599:15;;11476:594;;;11692:13;;;;;;;;;;;11684:21;;:4;:21;;;:55;;;;;11723:15;;;;;;;;;;;11709:30;;:2;:30;;;;11684:55;11681:162;;;11772:14;;11760:9;:26;;;;11815:12;;11805:7;:22;;;;11681:162;11902:13;;;;;;;;;;;11896:19;;:2;:19;;;:55;;;;;11935:15;;;;;;;;;;;11919:32;;:4;:32;;;;11896:55;11892:165;;;11984:15;;11972:9;:27;;;;12028:13;;12018:7;:23;;;;11892:165;11476:594;12082:41;12097:4;12103:2;12107:6;12115:7;12082:14;:41::i;:::-;9571:2560;9468:2663;;;:::o;2350:224::-;2470:7;2503:1;2498;:6;;2506:12;2490:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2530:9;2546:1;2542;:5;;;;:::i;:::-;2530:17;;2565:1;2558:8;;;2350:224;;;;;:::o;12630:99::-;12687:17;;;;;;;;;;;:26;;:34;12714:6;12687:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12630:99;:::o;8408:323::-;8503:7;8561;;8550;:18;;8528:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8649:19;8671:10;:8;:10::i;:::-;8649:32;;8699:24;8711:11;8699:7;:11;;:24;;;;:::i;:::-;8692:31;;;8408:323;;;:::o;12139:483::-;6015:4;6006:6;;:13;;;;;;;;;;;;;;;;;;12217:21:::1;12255:1;12241:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12217:40;;12286:4;12268;12273:1;12268:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12312:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12302:4;12307:1;12302:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12345:62;12362:4;12377:15;;;;;;;;;;;12395:11;12345:8;:62::i;:::-;12418:15;;;;;;;;;;;:66;;;12499:11;12525:1;12541:4;12568;12588:15;12418:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12206:416;6051:5:::0;6042:6;;:14;;;;;;;;;;;;;;;;;;12139:483;:::o;14134:282::-;14290:7;14285:28;;14299:14;:12;:14::i;:::-;14285:28;14324:44;14342:6;14350:9;14361:6;14324:17;:44::i;:::-;14384:7;14379:29;;14393:15;:13;:15::i;:::-;14379:29;14134:282;;;;:::o;17095:164::-;17137:7;17158:15;17175;17194:19;:17;:19::i;:::-;17157:56;;;;17231:20;17243:7;17231;:11;;:20;;;;:::i;:::-;17224:27;;;;17095:164;:::o;2836:132::-;2894:7;2921:39;2925:1;2928;2921:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2914:46;;2836:132;;;;:::o;8739:219::-;8799:1;8786:9;;:14;:30;;;;;8815:1;8804:7;;:12;8786:30;8818:7;8782:43;8857:9;;8837:17;:29;;;;8895:7;;8877:15;:25;;;;8927:1;8915:9;:13;;;;8949:1;8939:7;:11;;;;8739:219;:::o;14424:610::-;14571:15;14601:23;14639:12;14666:23;14704:12;14731:13;14758:19;14769:7;14758:10;:19::i;:::-;14556:221;;;;;;;;;;;;14806:28;14826:7;14806;:15;14814:6;14806:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14788:7;:15;14796:6;14788:15;;;;;;;;;;;;;;;:46;;;;14866:39;14889:15;14866:7;:18;14874:9;14866:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14845:7;:18;14853:9;14845:18;;;;;;;;;;;;;;;:60;;;;14916:16;14926:5;14916:9;:16::i;:::-;14943:23;14955:4;14961;14943:11;:23::i;:::-;14999:9;14982:44;;14991:6;14982:44;;;15010:15;14982:44;;;;;;:::i;:::-;;;;;;;;14545:489;;;;;;14424:610;;;:::o;8966:117::-;9022:17;;9010:9;:29;;;;9060:15;;9050:7;:25;;;;8966:117::o;17267:257::-;17318:7;17327;17347:15;17365:7;;17347:25;;17383:15;4708:19;17383:25;;17433:20;4708:19;17433:7;;:11;;:20;;;;:::i;:::-;17423:7;:30;17419:61;;;17463:7;;4708:19;17455:25;;;;;;;;17419:61;17499:7;17508;17491:25;;;;;;17267:257;;;:::o;2976:223::-;3096:7;3128:1;3124;:5;3131:12;3116:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3155:9;3171:1;3167;:5;;;;:::i;:::-;3155:17;;3190:1;3183:8;;;2976:223;;;;;:::o;15453:615::-;15553:7;15575;15597;15619;15641;15663;15699:23;15724:12;15738:13;15768:40;15780:7;15789:9;;15800:7;;15768:11;:40::i;:::-;15698:110;;;;;;15819:19;15841:10;:8;:10::i;:::-;15819:32;;15863:15;15880:23;15905:12;15934:46;15946:7;15955:4;15961:5;15968:11;15934;:46::i;:::-;15862:118;;;;;;15999:7;16008:15;16025:4;16031:15;16048:4;16054:5;15991:69;;;;;;;;;;;;;;;;;;;15453:615;;;;;;;:::o;2206:136::-;2264:7;2291:43;2295:1;2298;2291:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2284:50;;2206:136;;;;:::o;2019:179::-;2077:7;2097:9;2113:1;2109;:5;;;;:::i;:::-;2097:17;;2138:1;2133;:6;;2125:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2189:1;2182:8;;;2019:179;;;;:::o;15042:211::-;15095:19;15117:10;:8;:10::i;:::-;15095:32;;15138:13;15154:22;15164:11;15154:5;:9;;:22;;;;:::i;:::-;15138:38;;15212:33;15239:5;15212:7;:22;15228:4;15212:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15187:7;:22;15203:4;15187:22;;;;;;;;;;;;;;;:58;;;;15084:169;;15042:211;:::o;15261:147::-;15339:17;15351:4;15339:7;;:11;;:17;;;;:::i;:::-;15329:7;:27;;;;15380:20;15395:4;15380:10;;:14;;:20;;;;:::i;:::-;15367:10;:33;;;;15261:147;;:::o;16076:469::-;16245:7;16267;16289;16324:12;16339:30;16365:3;16339:21;16351:8;16339:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16324:45;;16380:13;16396:28;16420:3;16396:19;16408:6;16396:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16380:44;;16435:23;16461:28;16483:5;16461:17;16473:4;16461:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16435:54;;16508:15;16525:4;16531:5;16500:37;;;;;;;;;16076:469;;;;;;;:::o;16553:534::-;16747:7;16769;16791;16826:15;16844:24;16856:11;16844:7;:11;;:24;;;;:::i;:::-;16826:42;;16879:12;16894:21;16903:11;16894:4;:8;;:21;;;;:::i;:::-;16879:36;;16926:13;16942:22;16952:11;16942:5;:9;;:22;;;;:::i;:::-;16926:38;;16975:23;17001:28;17023:5;17001:17;17013:4;17001:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16975:54;;17048:7;17057:15;17074:4;17040:39;;;;;;;;;;16553:534;;;;;;;;:::o;2582:246::-;2640:7;2669:1;2664;:6;2660:47;;2694:1;2687:8;;;;2660:47;2717:9;2733:1;2729;:5;;;;:::i;:::-;2717:17;;2762:1;2757;2753;:5;;;;:::i;:::-;:10;2745:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2819:1;2812:8;;;2582:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::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:152::-;4203:9;4236:37;4267:5;4236:37;:::i;:::-;4223:50;;4127:152;;;:::o;4285:183::-;4398:63;4455:5;4398:63;:::i;:::-;4393:3;4386:76;4285:183;;:::o;4474:274::-;4593:4;4631:2;4620:9;4616:18;4608:26;;4644:97;4738:1;4727:9;4723:17;4714:6;4644:97;:::i;:::-;4474:274;;;;:::o;4754:118::-;4841:24;4859:5;4841:24;:::i;:::-;4836:3;4829:37;4754:118;;:::o;4878:222::-;4971:4;5009:2;4998:9;4994:18;4986:26;;5022:71;5090:1;5079:9;5075:17;5066:6;5022:71;:::i;:::-;4878:222;;;;:::o;5106:619::-;5183:6;5191;5199;5248:2;5236:9;5227:7;5223:23;5219:32;5216:119;;;5254:79;;:::i;:::-;5216:119;5374:1;5399:53;5444:7;5435:6;5424:9;5420:22;5399:53;:::i;:::-;5389:63;;5345:117;5501:2;5527:53;5572:7;5563:6;5552:9;5548:22;5527:53;:::i;:::-;5517:63;;5472:118;5629:2;5655:53;5700:7;5691:6;5680:9;5676:22;5655:53;:::i;:::-;5645:63;;5600:118;5106:619;;;;;:::o;5731:86::-;5766:7;5806:4;5799:5;5795:16;5784:27;;5731:86;;;:::o;5823:112::-;5906:22;5922:5;5906:22;:::i;:::-;5901:3;5894:35;5823:112;;:::o;5941:214::-;6030:4;6068:2;6057:9;6053:18;6045:26;;6081:67;6145:1;6134:9;6130:17;6121:6;6081:67;:::i;:::-;5941:214;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:323::-;6830:6;6879:2;6867:9;6858:7;6854:23;6850:32;6847:119;;;6885:79;;:::i;:::-;6847:119;7005:1;7030:50;7072:7;7063:6;7052:9;7048:22;7030:50;:::i;:::-;7020:60;;6976:114;6774:323;;;;:::o;7103:117::-;7212:1;7209;7202:12;7226:180;7274:77;7271:1;7264:88;7371:4;7368:1;7361:15;7395:4;7392:1;7385:15;7412:281;7495:27;7517:4;7495:27;:::i;:::-;7487:6;7483:40;7625:6;7613:10;7610:22;7589:18;7577:10;7574:34;7571:62;7568:88;;;7636:18;;:::i;:::-;7568:88;7676:10;7672:2;7665:22;7455:238;7412:281;;:::o;7699:129::-;7733:6;7760:20;;:::i;:::-;7750:30;;7789:33;7817:4;7809:6;7789:33;:::i;:::-;7699:129;;;:::o;7834:311::-;7911:4;8001:18;7993:6;7990:30;7987:56;;;8023:18;;:::i;:::-;7987:56;8073:4;8065:6;8061:17;8053:25;;8133:4;8127;8123:15;8115:23;;7834:311;;;:::o;8151:117::-;8260:1;8257;8250:12;8291:710;8387:5;8412:81;8428:64;8485:6;8428:64;:::i;:::-;8412:81;:::i;:::-;8403:90;;8513:5;8542:6;8535:5;8528:21;8576:4;8569:5;8565:16;8558:23;;8629:4;8621:6;8617:17;8609:6;8605:30;8658:3;8650:6;8647:15;8644:122;;;8677:79;;:::i;:::-;8644:122;8792:6;8775:220;8809:6;8804:3;8801:15;8775:220;;;8884:3;8913:37;8946:3;8934:10;8913:37;:::i;:::-;8908:3;8901:50;8980:4;8975:3;8971:14;8964:21;;8851:144;8835:4;8830:3;8826:14;8819:21;;8775:220;;;8779:21;8393:608;;8291:710;;;;;:::o;9024:370::-;9095:5;9144:3;9137:4;9129:6;9125:17;9121:27;9111:122;;9152:79;;:::i;:::-;9111:122;9269:6;9256:20;9294:94;9384:3;9376:6;9369:4;9361:6;9357:17;9294:94;:::i;:::-;9285:103;;9101:293;9024:370;;;;:::o;9400:539::-;9484:6;9533:2;9521:9;9512:7;9508:23;9504:32;9501:119;;;9539:79;;:::i;:::-;9501:119;9687:1;9676:9;9672:17;9659:31;9717:18;9709:6;9706:30;9703:117;;;9739:79;;:::i;:::-;9703:117;9844:78;9914:7;9905:6;9894:9;9890:22;9844:78;:::i;:::-;9834:88;;9630:302;9400:539;;;;:::o;9945:329::-;10004:6;10053:2;10041:9;10032:7;10028:23;10024:32;10021:119;;;10059:79;;:::i;:::-;10021:119;10179:1;10204:53;10249:7;10240:6;10229:9;10225:22;10204:53;:::i;:::-;10194:63;;10150:117;9945:329;;;;:::o;10280:765::-;10366:6;10374;10382;10390;10439:3;10427:9;10418:7;10414:23;10410:33;10407:120;;;10446:79;;:::i;:::-;10407:120;10566:1;10591:53;10636:7;10627:6;10616:9;10612:22;10591:53;:::i;:::-;10581:63;;10537:117;10693:2;10719:53;10764:7;10755:6;10744:9;10740:22;10719:53;:::i;:::-;10709:63;;10664:118;10821:2;10847:53;10892:7;10883:6;10872:9;10868:22;10847:53;:::i;:::-;10837:63;;10792:118;10949:2;10975:53;11020:7;11011:6;11000:9;10996:22;10975:53;:::i;:::-;10965:63;;10920:118;10280:765;;;;;;;:::o;11051:117::-;11160:1;11157;11150:12;11191:568;11264:8;11274:6;11324:3;11317:4;11309:6;11305:17;11301:27;11291:122;;11332:79;;:::i;:::-;11291:122;11445:6;11432:20;11422:30;;11475:18;11467:6;11464:30;11461:117;;;11497:79;;:::i;:::-;11461:117;11611:4;11603:6;11599:17;11587:29;;11665:3;11657:4;11649:6;11645:17;11635:8;11631:32;11628:41;11625:128;;;11672:79;;:::i;:::-;11625:128;11191:568;;;;;:::o;11765:698::-;11857:6;11865;11873;11922:2;11910:9;11901:7;11897:23;11893:32;11890:119;;;11928:79;;:::i;:::-;11890:119;12076:1;12065:9;12061:17;12048:31;12106:18;12098:6;12095:30;12092:117;;;12128:79;;:::i;:::-;12092:117;12241:80;12313:7;12304:6;12293:9;12289:22;12241:80;:::i;:::-;12223:98;;;;12019:312;12370:2;12396:50;12438:7;12429:6;12418:9;12414:22;12396:50;:::i;:::-;12386:60;;12341:115;11765:698;;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:182::-;13089:34;13085:1;13077:6;13073:14;13066:58;12949:182;:::o;13137:366::-;13279:3;13300:67;13364:2;13359:3;13300:67;:::i;:::-;13293:74;;13376:93;13465:3;13376:93;:::i;:::-;13494:2;13489:3;13485:12;13478:19;;13137:366;;;:::o;13509:419::-;13675:4;13713:2;13702:9;13698:18;13690:26;;13762:9;13756:4;13752:20;13748:1;13737:9;13733:17;13726:47;13790:131;13916:4;13790:131;:::i;:::-;13782:139;;13509:419;;;:::o;13934:238::-;14074:34;14070:1;14062:6;14058:14;14051:58;14143:21;14138:2;14130:6;14126:15;14119:46;13934:238;:::o;14178:366::-;14320:3;14341:67;14405:2;14400:3;14341:67;:::i;:::-;14334:74;;14417:93;14506:3;14417:93;:::i;:::-;14535:2;14530:3;14526:12;14519:19;;14178:366;;;:::o;14550:419::-;14716:4;14754:2;14743:9;14739:18;14731:26;;14803:9;14797:4;14793:20;14789:1;14778:9;14774:17;14767:47;14831:131;14957:4;14831:131;:::i;:::-;14823:139;;14550:419;;;:::o;14975:180::-;15023:77;15020:1;15013:88;15120:4;15117:1;15110:15;15144:4;15141:1;15134:15;15161:180;15209:77;15206:1;15199:88;15306:4;15303:1;15296:15;15330:4;15327:1;15320:15;15347:233;15386:3;15409:24;15427:5;15409:24;:::i;:::-;15400:33;;15455:66;15448:5;15445:77;15442:103;;15525:18;;:::i;:::-;15442:103;15572:1;15565:5;15561:13;15554:20;;15347:233;;;:::o;15586:225::-;15726:34;15722:1;15714:6;15710:14;15703:58;15795:8;15790:2;15782:6;15778:15;15771:33;15586:225;:::o;15817:366::-;15959:3;15980:67;16044:2;16039:3;15980:67;:::i;:::-;15973:74;;16056:93;16145:3;16056:93;:::i;:::-;16174:2;16169:3;16165:12;16158:19;;15817:366;;;:::o;16189:419::-;16355:4;16393:2;16382:9;16378:18;16370:26;;16442:9;16436:4;16432:20;16428:1;16417:9;16413:17;16406:47;16470:131;16596:4;16470:131;:::i;:::-;16462:139;;16189:419;;;:::o;16614:223::-;16754:34;16750:1;16742:6;16738:14;16731:58;16823:6;16818:2;16810:6;16806:15;16799:31;16614:223;:::o;16843:366::-;16985:3;17006:67;17070:2;17065:3;17006:67;:::i;:::-;16999:74;;17082:93;17171:3;17082:93;:::i;:::-;17200:2;17195:3;17191:12;17184:19;;16843:366;;;:::o;17215:419::-;17381:4;17419:2;17408:9;17404:18;17396:26;;17468:9;17462:4;17458:20;17454:1;17443:9;17439:17;17432:47;17496:131;17622:4;17496:131;:::i;:::-;17488:139;;17215:419;;;:::o;17640:221::-;17780:34;17776:1;17768:6;17764:14;17757:58;17849:4;17844:2;17836:6;17832:15;17825:29;17640:221;:::o;17867:366::-;18009:3;18030:67;18094:2;18089:3;18030:67;:::i;:::-;18023:74;;18106:93;18195:3;18106:93;:::i;:::-;18224:2;18219:3;18215:12;18208:19;;17867:366;;;:::o;18239:419::-;18405:4;18443:2;18432:9;18428:18;18420:26;;18492:9;18486:4;18482:20;18478:1;18467:9;18463:17;18456:47;18520:131;18646:4;18520:131;:::i;:::-;18512:139;;18239:419;;;:::o;18664:224::-;18804:34;18800:1;18792:6;18788:14;18781:58;18873:7;18868:2;18860:6;18856:15;18849:32;18664:224;:::o;18894:366::-;19036:3;19057:67;19121:2;19116:3;19057:67;:::i;:::-;19050:74;;19133:93;19222:3;19133:93;:::i;:::-;19251:2;19246:3;19242:12;19235:19;;18894:366;;;:::o;19266:419::-;19432:4;19470:2;19459:9;19455:18;19447:26;;19519:9;19513:4;19509:20;19505:1;19494:9;19490:17;19483:47;19547:131;19673:4;19547:131;:::i;:::-;19539:139;;19266:419;;;:::o;19691:222::-;19831:34;19827:1;19819:6;19815:14;19808:58;19900:5;19895:2;19887:6;19883:15;19876:30;19691:222;:::o;19919:366::-;20061:3;20082:67;20146:2;20141:3;20082:67;:::i;:::-;20075:74;;20158:93;20247:3;20158:93;:::i;:::-;20276:2;20271:3;20267:12;20260:19;;19919:366;;;:::o;20291:419::-;20457:4;20495:2;20484:9;20480:18;20472:26;;20544:9;20538:4;20534:20;20530:1;20519:9;20515:17;20508:47;20572:131;20698:4;20572:131;:::i;:::-;20564:139;;20291:419;;;:::o;20716:228::-;20856:34;20852:1;20844:6;20840:14;20833:58;20925:11;20920:2;20912:6;20908:15;20901:36;20716:228;:::o;20950:366::-;21092:3;21113:67;21177:2;21172:3;21113:67;:::i;:::-;21106:74;;21189:93;21278:3;21189:93;:::i;:::-;21307:2;21302:3;21298:12;21291:19;;20950:366;;;:::o;21322:419::-;21488:4;21526:2;21515:9;21511:18;21503:26;;21575:9;21569:4;21565:20;21561:1;21550:9;21546:17;21539:47;21603:131;21729:4;21603:131;:::i;:::-;21595:139;;21322:419;;;:::o;21747:250::-;21887:34;21883:1;21875:6;21871:14;21864:58;21956:33;21951:2;21943:6;21939:15;21932:58;21747:250;:::o;22003:366::-;22145:3;22166:67;22230:2;22225:3;22166:67;:::i;:::-;22159:74;;22242:93;22331:3;22242:93;:::i;:::-;22360:2;22355:3;22351:12;22344:19;;22003:366;;;:::o;22375:419::-;22541:4;22579:2;22568:9;22564:18;22556:26;;22628:9;22622:4;22618:20;22614:1;22603:9;22599:17;22592:47;22656:131;22782:4;22656:131;:::i;:::-;22648:139;;22375:419;;;:::o;22800:178::-;22940:30;22936:1;22928:6;22924:14;22917:54;22800:178;:::o;22984:366::-;23126:3;23147:67;23211:2;23206:3;23147:67;:::i;:::-;23140:74;;23223:93;23312:3;23223:93;:::i;:::-;23341:2;23336:3;23332:12;23325:19;;22984:366;;;:::o;23356:419::-;23522:4;23560:2;23549:9;23545:18;23537:26;;23609:9;23603:4;23599:20;23595:1;23584:9;23580:17;23573:47;23637:131;23763:4;23637:131;:::i;:::-;23629:139;;23356:419;;;:::o;23781:191::-;23821:3;23840:20;23858:1;23840:20;:::i;:::-;23835:25;;23874:20;23892:1;23874:20;:::i;:::-;23869:25;;23917:1;23914;23910:9;23903:16;;23938:3;23935:1;23932:10;23929:36;;;23945:18;;:::i;:::-;23929:36;23781:191;;;;:::o;23978:222::-;24118:34;24114:1;24106:6;24102:14;24095:58;24187:5;24182:2;24174:6;24170:15;24163:30;23978:222;:::o;24206:366::-;24348:3;24369:67;24433:2;24428:3;24369:67;:::i;:::-;24362:74;;24445:93;24534:3;24445:93;:::i;:::-;24563:2;24558:3;24554:12;24547:19;;24206:366;;;:::o;24578:419::-;24744:4;24782:2;24771:9;24767:18;24759:26;;24831:9;24825:4;24821:20;24817:1;24806:9;24802:17;24795:47;24859:131;24985:4;24859:131;:::i;:::-;24851:139;;24578:419;;;:::o;25003:306::-;25143:34;25139:1;25131:6;25127:14;25120:58;25212:34;25207:2;25199:6;25195:15;25188:59;25281:20;25276:2;25268:6;25264:15;25257:45;25003:306;:::o;25315:366::-;25457:3;25478:67;25542:2;25537:3;25478:67;:::i;:::-;25471:74;;25554:93;25643:3;25554:93;:::i;:::-;25672:2;25667:3;25663:12;25656:19;;25315:366;;;:::o;25687:419::-;25853:4;25891:2;25880:9;25876:18;25868:26;;25940:9;25934:4;25930:20;25926:1;25915:9;25911:17;25904:47;25968:131;26094:4;25968:131;:::i;:::-;25960:139;;25687:419;;;:::o;26112:194::-;26152:4;26172:20;26190:1;26172:20;:::i;:::-;26167:25;;26206:20;26224:1;26206:20;:::i;:::-;26201:25;;26250:1;26247;26243:9;26235:17;;26274:1;26268:4;26265:11;26262:37;;;26279:18;;:::i;:::-;26262:37;26112:194;;;;:::o;26312:229::-;26452:34;26448:1;26440:6;26436:14;26429:58;26521:12;26516:2;26508:6;26504:15;26497:37;26312:229;:::o;26547:366::-;26689:3;26710:67;26774:2;26769:3;26710:67;:::i;:::-;26703:74;;26786:93;26875:3;26786:93;:::i;:::-;26904:2;26899:3;26895:12;26888:19;;26547:366;;;:::o;26919:419::-;27085:4;27123:2;27112:9;27108:18;27100:26;;27172:9;27166:4;27162:20;27158:1;27147:9;27143:17;27136:47;27200:131;27326:4;27200:131;:::i;:::-;27192:139;;26919:419;;;:::o;27344:143::-;27401:5;27432:6;27426:13;27417:22;;27448:33;27475:5;27448:33;:::i;:::-;27344:143;;;;:::o;27493:351::-;27563:6;27612:2;27600:9;27591:7;27587:23;27583:32;27580:119;;;27618:79;;:::i;:::-;27580:119;27738:1;27763:64;27819:7;27810:6;27799:9;27795:22;27763:64;:::i;:::-;27753:74;;27709:128;27493:351;;;;:::o;27850:85::-;27895:7;27924:5;27913:16;;27850:85;;;:::o;27941:158::-;27999:9;28032:61;28050:42;28059:32;28085:5;28059:32;:::i;:::-;28050:42;:::i;:::-;28032:61;:::i;:::-;28019:74;;27941:158;;;:::o;28105:147::-;28200:45;28239:5;28200:45;:::i;:::-;28195:3;28188:58;28105:147;;:::o;28258:114::-;28325:6;28359:5;28353:12;28343:22;;28258:114;;;:::o;28378:184::-;28477:11;28511:6;28506:3;28499:19;28551:4;28546:3;28542:14;28527:29;;28378:184;;;;:::o;28568:132::-;28635:4;28658:3;28650:11;;28688:4;28683:3;28679:14;28671:22;;28568:132;;;:::o;28706:108::-;28783:24;28801:5;28783:24;:::i;:::-;28778:3;28771:37;28706:108;;:::o;28820:179::-;28889:10;28910:46;28952:3;28944:6;28910:46;:::i;:::-;28988:4;28983:3;28979:14;28965:28;;28820:179;;;;:::o;29005:113::-;29075:4;29107;29102:3;29098:14;29090:22;;29005:113;;;:::o;29154:732::-;29273:3;29302:54;29350:5;29302:54;:::i;:::-;29372:86;29451:6;29446:3;29372:86;:::i;:::-;29365:93;;29482:56;29532:5;29482:56;:::i;:::-;29561:7;29592:1;29577:284;29602:6;29599:1;29596:13;29577:284;;;29678:6;29672:13;29705:63;29764:3;29749:13;29705:63;:::i;:::-;29698:70;;29791:60;29844:6;29791:60;:::i;:::-;29781:70;;29637:224;29624:1;29621;29617:9;29612:14;;29577:284;;;29581:14;29877:3;29870:10;;29278:608;;;29154:732;;;;:::o;29892:831::-;30155:4;30193:3;30182:9;30178:19;30170:27;;30207:71;30275:1;30264:9;30260:17;30251:6;30207:71;:::i;:::-;30288:80;30364:2;30353:9;30349:18;30340:6;30288:80;:::i;:::-;30415:9;30409:4;30405:20;30400:2;30389:9;30385:18;30378:48;30443:108;30546:4;30537:6;30443:108;:::i;:::-;30435:116;;30561:72;30629:2;30618:9;30614:18;30605:6;30561:72;:::i;:::-;30643:73;30711:3;30700:9;30696:19;30687:6;30643:73;:::i;:::-;29892:831;;;;;;;;:::o;30729:180::-;30777:77;30774:1;30767:88;30874:4;30871:1;30864:15;30898:4;30895:1;30888:15;30915:185;30955:1;30972:20;30990:1;30972:20;:::i;:::-;30967:25;;31006:20;31024:1;31006:20;:::i;:::-;31001:25;;31045:1;31035:35;;31050:18;;:::i;:::-;31035:35;31092:1;31089;31085:9;31080:14;;30915:185;;;;:::o;31106:177::-;31246:29;31242:1;31234:6;31230:14;31223:53;31106:177;:::o;31289:366::-;31431:3;31452:67;31516:2;31511:3;31452:67;:::i;:::-;31445:74;;31528:93;31617:3;31528:93;:::i;:::-;31646:2;31641:3;31637:12;31630:19;;31289:366;;;:::o;31661:419::-;31827:4;31865:2;31854:9;31850:18;31842:26;;31914:9;31908:4;31904:20;31900:1;31889:9;31885:17;31878:47;31942:131;32068:4;31942:131;:::i;:::-;31934:139;;31661:419;;;:::o;32086:410::-;32126:7;32149:20;32167:1;32149:20;:::i;:::-;32144:25;;32183:20;32201:1;32183:20;:::i;:::-;32178:25;;32238:1;32235;32231:9;32260:30;32278:11;32260:30;:::i;:::-;32249:41;;32439:1;32430:7;32426:15;32423:1;32420:22;32400:1;32393:9;32373:83;32350:139;;32469:18;;:::i;:::-;32350:139;32134:362;32086:410;;;;:::o;32502:220::-;32642:34;32638:1;32630:6;32626:14;32619:58;32711:3;32706:2;32698:6;32694:15;32687:28;32502:220;:::o;32728:366::-;32870:3;32891:67;32955:2;32950:3;32891:67;:::i;:::-;32884:74;;32967:93;33056:3;32967:93;:::i;:::-;33085:2;33080:3;33076:12;33069:19;;32728:366;;;:::o;33100:419::-;33266:4;33304:2;33293:9;33289:18;33281:26;;33353:9;33347:4;33343:20;33339:1;33328:9;33324:17;33317:47;33381:131;33507:4;33381:131;:::i;:::-;33373:139;;33100:419;;;:::o

Swarm Source

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