ETH Price: $2,884.40 (-4.81%)
Gas: 2 Gwei

Token

Earth Token (Earth)
 

Overview

Max Total Supply

1,000,000,000,000,000 Earth

Holders

251 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,027,740,524,011.819969642 Earth

Value
$0.00
0x93e1860fffd26bfd4054843538c0a6a784a2769e
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

EARTH TOKEN is a deflationary and decentralized finance token to combat climate. On this basis, with charity at its core, Earth Token has infinite potential to benefit token holders in the short and long term, while meaning meaningful change to the lives of many people.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EarthToken

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎
Founded by Eartoshi’s philosophy
                      ████████████                      
                ██▓▓██▒▒▒▒▒▒▒▒▒▒░░▓▓████                
            ████░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒████            
          ██░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░██          
        ▓▓░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░██        
      ██▒▒░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒██      
    ██▒▒░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒██    
    ██▒▒░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░▒▒░░░░▒▒▒▒▒▒░░██    
  ██▒▒▒▒░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░██  
  ██▒▒▒▒░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░▒▒▒▒░░▒▒▒▒▒▒░░░░░░░░██  
  ██▒▒▒▒░░░░░░░░░░████▒▒▒▒▒▒▒▒▒▒▒▒██▓▓▒▒▒▒░░░░░░░░░░▓▓  
██▒▒▒▒▒▒░░░░░░░░██░░▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒██▒▒░░░░░░░░░░░░██
██▒▒░░▒▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░██
██▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░██
██▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒░░░░░░░░░░░░░░██
██▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒░░▒▒░░░░░░░░░░░░░░██
██▒▒▒▒▒▒░░▒▒░░▒▒▒▒▒▒▒▒▒▒████████▒▒▒▒▒▒▒▒░░░░░░▒▒░░░░░░██
  ▓▓▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░██  
  ▓▓▒▒▒▒▒▒░░░░░░░░▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░██  
  ██▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▓▓  
  ▒▒▓▓░░▒▒▒▒░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▓▓▒▒  
    ██░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒██    
    ██░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒██    
      ██▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██      
        ██▒▒▒▒▒▒░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓        
          ██▒▒▒▒▒▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██          
            ████▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒████            
                ████▓▓▒▒▒▒▒▒▒▒▒▒▒▒██████                
                      ████████████                     
How to find us: 
Website: https://www.earthtokenerc.org/
Telegram:https://t.me/earthtokenerc
⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎⋆⁺₊⋆ ☾ ⋆⁺₊⋆ ☁︎
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

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 EarthToken is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Earth Token";
    string private constant _symbol = "Earth";
    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;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint8 private _buyTaxRate; uint8 private _sellTaxRate; uint8 private _txTaxRate;

    
    //Buy Fee
    uint256 private _redisFeeOnBuy = 2;
    uint256 private _taxFeeOnBuy = 10;
    
    //Sell Fee
    uint256 private _redisFeeOnSell = 2;
    uint256 private _taxFeeOnSell = 10;
    
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    
    mapping(address => bool) public bots;
    mapping (address => bool) public preTrader;
    mapping(address => uint256) private cooldown;
    
    address payable private _developmentAddress = payable(0x5220b63BaABc16C0626FBf6E72d3Cf5a8F0Eeb32);
    address payable private _marketingAddress = payable(0x5A3Ce6e19ddC309Bfab813d89fFB0276FBe3AE97);
    address payable private _charityAddress = payable(0xE123fA8F35b32439Fd788685324d377835D22dE5);
    
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 3000000000000 * 10**9; //0.3
    uint256 public _maxWalletSize = 10000000000000 * 10**9; //1
    uint256 public _swapTokensAtAmount = 1000000000000 * 10**9; //0.1

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

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

        preTrader[owner()] = true;
        
    
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public 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() && !preTrader[from] && !preTrader[to]) {
            
            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }
              
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            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 {
        _developmentAddress.transfer(amount.div(5));
        _marketingAddress.transfer(amount.div(2));
        _charityAddress.transfer(amount.mul(3).div(10));
    }


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

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

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



    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = 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 MAx 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;
        }
    }
 
    function allowPreTrading(address account, bool allowed) public onlyOwner {
        require(preTrader[account] != allowed, "TOKEN: Already enabled.");
        preTrader[account] = allowed;
    }

    function setTaxWallets(address newTaxWall1, address newTaxWall2, address newTaxWall3) public onlyOwner {
        _developmentAddress = payable(newTaxWall1);
        _marketingAddress = payable(newTaxWall2);
        _charityAddress = payable(newTaxWall3);
		_isExcludedFromFee[newTaxWall1] = true;
		_isExcludedFromFee[newTaxWall2] = true;
		_isExcludedFromFee[newTaxWall3] = true;
    }
}


/**
Luv Da EARF <3 
*/

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[],"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":"account","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"address","name":"newTaxWall1","type":"address"},{"internalType":"address","name":"newTaxWall2","type":"address"},{"internalType":"address","name":"newTaxWall3","type":"address"}],"name":"setTaxWallets","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":"notbot","type":"address"}],"name":"unblockBot","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"}]

608060405269d3c21bcecceda10000006000196200001e919062000850565b6000196200002d9190620008b7565b6006556002600955600a80556002600b55600a600c55600b54600d55600c54600e55600d54600f55600e54601055735220b63baabc16c0626fbf6e72d3cf5a8f0eeb32601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735a3ce6e19ddc309bfab813d89ffb0276fbe3ae97601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e123fa8f35b32439fd788685324d377835d22de5601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff02191690831515021790555068a2a15d09519be0000060195569021e19e0c9bab2400000601a55683635c9adc5dea00000601b55348015620001c557600080fd5b506000620001d8620007e660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600654600260006200028d620007e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039791906200095c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042591906200095c565b6040518363ffffffff1660e01b8152600401620004449291906200099f565b6020604051808303816000875af115801562000464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048a91906200095c565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004e0620007ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260006200070d620007ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200076e620007e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda1000000604051620007d79190620009dd565b60405180910390a350620009fa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200085d8262000817565b91506200086a8362000817565b9250826200087d576200087c62000821565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008c48262000817565b9150620008d18362000817565b925082821015620008e757620008e662000888565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200092482620008f7565b9050919050565b620009368162000917565b81146200094257600080fd5b50565b60008151905062000956816200092b565b92915050565b600060208284031215620009755762000974620008f2565b5b6000620009858482850162000945565b91505092915050565b620009998162000917565b82525050565b6000604082019050620009b660008301856200098e565b620009c560208301846200098e565b9392505050565b620009d78162000817565b82525050565b6000602082019050620009f46000830184620009cc565b92915050565b6145d38062000a0a6000396000f3fe6080604052600436106101e65760003560e01c80637d1db4a511610102578063a9059cbb11610095578063c492f04611610064578063c492f046146106c4578063dd62ed3e146106ed578063ea1644d51461072a578063f2fde38b14610753576101ed565b8063a9059cbb146105f6578063bdd795ef14610633578063bfd7928414610670578063c3c8cd80146106ad576101ed565b806395d89b41116100d157806395d89b411461055057806398a5c3151461057b5780639fda0581146105a4578063a2a957bb146105cd576101ed565b80637d1db4a5146104a65780638da5cb5b146104d15780638f70ccf7146104fc5780638f9a55c014610525576101ed565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec1461041257806370a0823114610429578063715018a61461046657806374010ece1461047d576101ed565b8063313ce5671461036a57806349bd5a5e146103955780636b999053146103c05780636d8aa8f8146103e9576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632f9c4569146103165780632fd689e31461033f576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190613460565b61077c565b005b34801561022757600080fd5b506102306108a6565b60405161023d9190613531565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190613589565b6108e3565b60405161027a91906135e4565b60405180910390f35b34801561028f57600080fd5b50610298610901565b6040516102a5919061365e565b60405180910390f35b3480156102ba57600080fd5b506102c3610927565b6040516102d09190613688565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb91906136a3565b610939565b60405161030d91906135e4565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190613722565b610a12565b005b34801561034b57600080fd5b50610354610b95565b6040516103619190613688565b60405180910390f35b34801561037657600080fd5b5061037f610b9b565b60405161038c919061377e565b60405180910390f35b3480156103a157600080fd5b506103aa610ba4565b6040516103b791906137a8565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906137c3565b610bca565b005b3480156103f557600080fd5b50610410600480360381019061040b91906137f0565b610cba565b005b34801561041e57600080fd5b50610427610d6c565b005b34801561043557600080fd5b50610450600480360381019061044b91906137c3565b610e9c565b60405161045d9190613688565b60405180910390f35b34801561047257600080fd5b5061047b610eed565b005b34801561048957600080fd5b506104a4600480360381019061049f919061381d565b611040565b005b3480156104b257600080fd5b506104bb6110df565b6040516104c89190613688565b60405180910390f35b3480156104dd57600080fd5b506104e66110e5565b6040516104f391906137a8565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e91906137f0565b61110e565b005b34801561053157600080fd5b5061053a6111c0565b6040516105479190613688565b60405180910390f35b34801561055c57600080fd5b506105656111c6565b6040516105729190613531565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d919061381d565b611203565b005b3480156105b057600080fd5b506105cb60048036038101906105c6919061384a565b6112a2565b005b3480156105d957600080fd5b506105f460048036038101906105ef919061389d565b611507565b005b34801561060257600080fd5b5061061d60048036038101906106189190613589565b6115be565b60405161062a91906135e4565b60405180910390f35b34801561063f57600080fd5b5061065a600480360381019061065591906137c3565b6115dc565b60405161066791906135e4565b60405180910390f35b34801561067c57600080fd5b50610697600480360381019061069291906137c3565b6115fc565b6040516106a491906135e4565b60405180910390f35b3480156106b957600080fd5b506106c261161c565b005b3480156106d057600080fd5b506106eb60048036038101906106e6919061395f565b611754565b005b3480156106f957600080fd5b50610714600480360381019061070f91906139bf565b61188e565b6040516107219190613688565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c919061381d565b611915565b005b34801561075f57600080fd5b5061077a600480360381019061077591906137c3565b6119b4565b005b610784611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890613a4b565b60405180910390fd5b60005b81518110156108a25760016011600084848151811061083657610835613a6b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089a90613ac9565b915050610814565b5050565b60606040518060400160405280600b81526020017f456172746820546f6b656e000000000000000000000000000000000000000000815250905090565b60006108f76108f0611b76565b8484611b7e565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600069d3c21bcecceda1000000905090565b6000610946848484611d49565b610a0784610952611b76565b610a028560405180606001604052806028815260200161457660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109b8611b76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126939092919063ffffffff16565b611b7e565b600190509392505050565b610a1a611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90613a4b565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3190613b5e565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd2611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690613a4b565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610cc2611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4690613a4b565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dad611b76565b73ffffffffffffffffffffffffffffffffffffffff161480610e235750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0b611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e825750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6a611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b610e8b57600080fd5b6000479050610e99816126f7565b50565b6000610ee6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612881565b9050919050565b610ef5611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7990613a4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611048611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc90613a4b565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611116611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90613a4b565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600581526020017f4561727468000000000000000000000000000000000000000000000000000000815250905090565b61120b611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90613a4b565b60405180910390fd5b80601b8190555050565b6112aa611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90613a4b565b60405180910390fd5b82601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b61150f611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613a4b565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006115d26115cb611b76565b8484611d49565b6001905092915050565b60126020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661165d611b76565b73ffffffffffffffffffffffffffffffffffffffff1614806116d35750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116bb611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b806117325750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171a611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b61173b57600080fd5b600061174630610e9c565b9050611751816128ef565b50565b61175c611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e090613a4b565b60405180910390fd5b60005b8383905081101561188857816005600086868581811061180f5761180e613a6b565b5b905060200201602081019061182491906137c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061188090613ac9565b9150506117ec565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61191d611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a190613a4b565b60405180910390fd5b80601a8190555050565b6119bc611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4090613a4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090613bf0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be590613c82565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590613d14565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d3c9190613688565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db090613da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2090613e38565b60405180910390fd5b60008111611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390613eca565b60405180910390fd5b611e746110e5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ee25750611eb26110e5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f385750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f8e5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561239257601860149054906101000a900460ff1661203457601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613f5c565b60405180910390fd5b5b601954811115612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090613fc8565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561211d5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61215c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121539061405a565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461220957601a54816121be84610e9c565b6121c8919061407a565b10612208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ff90614142565b60405180910390fd5b5b600061221430610e9c565b90506000601b548210159050601954821061222f5760195491505b8080156122495750601860159054906101000a900460ff16155b80156122a35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156122bb5750601860169054906101000a900460ff165b80156123115750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123675750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561238f57612375826128ef565b6000479050600081111561238d5761238c476126f7565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124395750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806124ec5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156124eb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156124fa5760009050612681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156125a55750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156125bd57600954600d81905550600a54600e819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126685750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561268057600b54600d81905550600c54600e819055505b5b61268d84848484612b68565b50505050565b60008383111582906126db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d29190613531565b60405180910390fd5b50600083856126ea9190614162565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612747600584612b9590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612772573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6127c3600284612b9590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156127ee573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612852600a612844600386612bdf90919063ffffffff16565b612b9590919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561287d573d6000803e3d6000fd5b5050565b60006006548211156128c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128bf90614208565b60405180910390fd5b60006128d2612c5a565b90506128e78184612b9590919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612927576129266132bf565b5b6040519080825280602002602001820160405280156129555781602001602082028036833780820191505090505b509050308160008151811061296d5761296c613a6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a38919061423d565b81600181518110612a4c57612a4b613a6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ab330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b7e565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612b17959493929190614363565b600060405180830381600087803b158015612b3157600080fd5b505af1158015612b45573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612b7657612b75612c85565b5b612b81848484612cc8565b80612b8f57612b8e612e93565b5b50505050565b6000612bd783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ea7565b905092915050565b600080831415612bf25760009050612c54565b60008284612c0091906143bd565b9050828482612c0f9190614446565b14612c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c46906144e9565b60405180910390fd5b809150505b92915050565b6000806000612c67612f0a565b91509150612c7e8183612b9590919063ffffffff16565b9250505090565b6000600d54148015612c9957506000600e54145b15612ca357612cc6565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612cda87612f6f565b955095509550955095509550612d3886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dcd85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e198161307f565b612e23848361313c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e809190613688565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008083118290612eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee59190613531565b60405180910390fd5b5060008385612efd9190614446565b9050809150509392505050565b60008060006006549050600069d3c21bcecceda10000009050612f4269d3c21bcecceda1000000600654612b9590919063ffffffff16565b821015612f625760065469d3c21bcecceda1000000935093505050612f6b565b81819350935050505b9091565b6000806000806000806000806000612f8c8a600d54600e54613176565b9250925092506000612f9c612c5a565b90506000806000612faf8e87878761320c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061301983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612693565b905092915050565b6000808284613030919061407a565b905083811015613075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306c90614555565b60405180910390fd5b8091505092915050565b6000613089612c5a565b905060006130a08284612bdf90919063ffffffff16565b90506130f481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61315182600654612fd790919063ffffffff16565b60068190555061316c8160075461302190919063ffffffff16565b6007819055505050565b6000806000806131a26064613194888a612bdf90919063ffffffff16565b612b9590919063ffffffff16565b905060006131cc60646131be888b612bdf90919063ffffffff16565b612b9590919063ffffffff16565b905060006131f5826131e7858c612fd790919063ffffffff16565b612fd790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806132258589612bdf90919063ffffffff16565b9050600061323c8689612bdf90919063ffffffff16565b905060006132538789612bdf90919063ffffffff16565b9050600061327c8261326e8587612fd790919063ffffffff16565b612fd790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6132f7826132ae565b810181811067ffffffffffffffff82111715613316576133156132bf565b5b80604052505050565b6000613329613295565b905061333582826132ee565b919050565b600067ffffffffffffffff821115613355576133546132bf565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133968261336b565b9050919050565b6133a68161338b565b81146133b157600080fd5b50565b6000813590506133c38161339d565b92915050565b60006133dc6133d78461333a565b61331f565b905080838252602082019050602084028301858111156133ff576133fe613366565b5b835b81811015613428578061341488826133b4565b845260208401935050602081019050613401565b5050509392505050565b600082601f830112613447576134466132a9565b5b81356134578482602086016133c9565b91505092915050565b6000602082840312156134765761347561329f565b5b600082013567ffffffffffffffff811115613494576134936132a4565b5b6134a084828501613432565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134e35780820151818401526020810190506134c8565b838111156134f2576000848401525b50505050565b6000613503826134a9565b61350d81856134b4565b935061351d8185602086016134c5565b613526816132ae565b840191505092915050565b6000602082019050818103600083015261354b81846134f8565b905092915050565b6000819050919050565b61356681613553565b811461357157600080fd5b50565b6000813590506135838161355d565b92915050565b600080604083850312156135a05761359f61329f565b5b60006135ae858286016133b4565b92505060206135bf85828601613574565b9150509250929050565b60008115159050919050565b6135de816135c9565b82525050565b60006020820190506135f960008301846135d5565b92915050565b6000819050919050565b600061362461361f61361a8461336b565b6135ff565b61336b565b9050919050565b600061363682613609565b9050919050565b60006136488261362b565b9050919050565b6136588161363d565b82525050565b6000602082019050613673600083018461364f565b92915050565b61368281613553565b82525050565b600060208201905061369d6000830184613679565b92915050565b6000806000606084860312156136bc576136bb61329f565b5b60006136ca868287016133b4565b93505060206136db868287016133b4565b92505060406136ec86828701613574565b9150509250925092565b6136ff816135c9565b811461370a57600080fd5b50565b60008135905061371c816136f6565b92915050565b600080604083850312156137395761373861329f565b5b6000613747858286016133b4565b92505060206137588582860161370d565b9150509250929050565b600060ff82169050919050565b61377881613762565b82525050565b6000602082019050613793600083018461376f565b92915050565b6137a28161338b565b82525050565b60006020820190506137bd6000830184613799565b92915050565b6000602082840312156137d9576137d861329f565b5b60006137e7848285016133b4565b91505092915050565b6000602082840312156138065761380561329f565b5b60006138148482850161370d565b91505092915050565b6000602082840312156138335761383261329f565b5b600061384184828501613574565b91505092915050565b6000806000606084860312156138635761386261329f565b5b6000613871868287016133b4565b9350506020613882868287016133b4565b9250506040613893868287016133b4565b9150509250925092565b600080600080608085870312156138b7576138b661329f565b5b60006138c587828801613574565b94505060206138d687828801613574565b93505060406138e787828801613574565b92505060606138f887828801613574565b91505092959194509250565b600080fd5b60008083601f84011261391f5761391e6132a9565b5b8235905067ffffffffffffffff81111561393c5761393b613904565b5b60208301915083602082028301111561395857613957613366565b5b9250929050565b6000806000604084860312156139785761397761329f565b5b600084013567ffffffffffffffff811115613996576139956132a4565b5b6139a286828701613909565b935093505060206139b58682870161370d565b9150509250925092565b600080604083850312156139d6576139d561329f565b5b60006139e4858286016133b4565b92505060206139f5858286016133b4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a356020836134b4565b9150613a40826139ff565b602082019050919050565b60006020820190508181036000830152613a6481613a28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ad482613553565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b0757613b06613a9a565b5b600182019050919050565b7f544f4b454e3a20416c726561647920656e61626c65642e000000000000000000600082015250565b6000613b486017836134b4565b9150613b5382613b12565b602082019050919050565b60006020820190508181036000830152613b7781613b3b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613bda6026836134b4565b9150613be582613b7e565b604082019050919050565b60006020820190508181036000830152613c0981613bcd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613c6c6024836134b4565b9150613c7782613c10565b604082019050919050565b60006020820190508181036000830152613c9b81613c5f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cfe6022836134b4565b9150613d0982613ca2565b604082019050919050565b60006020820190508181036000830152613d2d81613cf1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613d906025836134b4565b9150613d9b82613d34565b604082019050919050565b60006020820190508181036000830152613dbf81613d83565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613e226023836134b4565b9150613e2d82613dc6565b604082019050919050565b60006020820190508181036000830152613e5181613e15565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613eb46029836134b4565b9150613ebf82613e58565b604082019050919050565b60006020820190508181036000830152613ee381613ea7565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613f46603f836134b4565b9150613f5182613eea565b604082019050919050565b60006020820190508181036000830152613f7581613f39565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613fb2601c836134b4565b9150613fbd82613f7c565b602082019050919050565b60006020820190508181036000830152613fe181613fa5565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006140446023836134b4565b915061404f82613fe8565b604082019050919050565b6000602082019050818103600083015261407381614037565b9050919050565b600061408582613553565b915061409083613553565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140c5576140c4613a9a565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b600061412c6023836134b4565b9150614137826140d0565b604082019050919050565b6000602082019050818103600083015261415b8161411f565b9050919050565b600061416d82613553565b915061417883613553565b92508282101561418b5761418a613a9a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006141f2602a836134b4565b91506141fd82614196565b604082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b6000815190506142378161339d565b92915050565b6000602082840312156142535761425261329f565b5b600061426184828501614228565b91505092915050565b6000819050919050565b600061428f61428a6142858461426a565b6135ff565b613553565b9050919050565b61429f81614274565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142da8161338b565b82525050565b60006142ec83836142d1565b60208301905092915050565b6000602082019050919050565b6000614310826142a5565b61431a81856142b0565b9350614325836142c1565b8060005b8381101561435657815161433d88826142e0565b9750614348836142f8565b925050600181019050614329565b5085935050505092915050565b600060a0820190506143786000830188613679565b6143856020830187614296565b81810360408301526143978186614305565b90506143a66060830185613799565b6143b36080830184613679565b9695505050505050565b60006143c882613553565b91506143d383613553565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561440c5761440b613a9a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061445182613553565b915061445c83613553565b92508261446c5761446b614417565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006144d36021836134b4565b91506144de82614477565b604082019050919050565b60006020820190508181036000830152614502816144c6565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061453f601b836134b4565b915061454a82614509565b602082019050919050565b6000602082019050818103600083015261456e81614532565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b0e22e91b22b3e47c9c958108e6e5ef67febbc9d9a8d4d20e563b180b7a8e81664736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101e65760003560e01c80637d1db4a511610102578063a9059cbb11610095578063c492f04611610064578063c492f046146106c4578063dd62ed3e146106ed578063ea1644d51461072a578063f2fde38b14610753576101ed565b8063a9059cbb146105f6578063bdd795ef14610633578063bfd7928414610670578063c3c8cd80146106ad576101ed565b806395d89b41116100d157806395d89b411461055057806398a5c3151461057b5780639fda0581146105a4578063a2a957bb146105cd576101ed565b80637d1db4a5146104a65780638da5cb5b146104d15780638f70ccf7146104fc5780638f9a55c014610525576101ed565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec1461041257806370a0823114610429578063715018a61461046657806374010ece1461047d576101ed565b8063313ce5671461036a57806349bd5a5e146103955780636b999053146103c05780636d8aa8f8146103e9576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632f9c4569146103165780632fd689e31461033f576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190613460565b61077c565b005b34801561022757600080fd5b506102306108a6565b60405161023d9190613531565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190613589565b6108e3565b60405161027a91906135e4565b60405180910390f35b34801561028f57600080fd5b50610298610901565b6040516102a5919061365e565b60405180910390f35b3480156102ba57600080fd5b506102c3610927565b6040516102d09190613688565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb91906136a3565b610939565b60405161030d91906135e4565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190613722565b610a12565b005b34801561034b57600080fd5b50610354610b95565b6040516103619190613688565b60405180910390f35b34801561037657600080fd5b5061037f610b9b565b60405161038c919061377e565b60405180910390f35b3480156103a157600080fd5b506103aa610ba4565b6040516103b791906137a8565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906137c3565b610bca565b005b3480156103f557600080fd5b50610410600480360381019061040b91906137f0565b610cba565b005b34801561041e57600080fd5b50610427610d6c565b005b34801561043557600080fd5b50610450600480360381019061044b91906137c3565b610e9c565b60405161045d9190613688565b60405180910390f35b34801561047257600080fd5b5061047b610eed565b005b34801561048957600080fd5b506104a4600480360381019061049f919061381d565b611040565b005b3480156104b257600080fd5b506104bb6110df565b6040516104c89190613688565b60405180910390f35b3480156104dd57600080fd5b506104e66110e5565b6040516104f391906137a8565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e91906137f0565b61110e565b005b34801561053157600080fd5b5061053a6111c0565b6040516105479190613688565b60405180910390f35b34801561055c57600080fd5b506105656111c6565b6040516105729190613531565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d919061381d565b611203565b005b3480156105b057600080fd5b506105cb60048036038101906105c6919061384a565b6112a2565b005b3480156105d957600080fd5b506105f460048036038101906105ef919061389d565b611507565b005b34801561060257600080fd5b5061061d60048036038101906106189190613589565b6115be565b60405161062a91906135e4565b60405180910390f35b34801561063f57600080fd5b5061065a600480360381019061065591906137c3565b6115dc565b60405161066791906135e4565b60405180910390f35b34801561067c57600080fd5b50610697600480360381019061069291906137c3565b6115fc565b6040516106a491906135e4565b60405180910390f35b3480156106b957600080fd5b506106c261161c565b005b3480156106d057600080fd5b506106eb60048036038101906106e6919061395f565b611754565b005b3480156106f957600080fd5b50610714600480360381019061070f91906139bf565b61188e565b6040516107219190613688565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c919061381d565b611915565b005b34801561075f57600080fd5b5061077a600480360381019061077591906137c3565b6119b4565b005b610784611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890613a4b565b60405180910390fd5b60005b81518110156108a25760016011600084848151811061083657610835613a6b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089a90613ac9565b915050610814565b5050565b60606040518060400160405280600b81526020017f456172746820546f6b656e000000000000000000000000000000000000000000815250905090565b60006108f76108f0611b76565b8484611b7e565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600069d3c21bcecceda1000000905090565b6000610946848484611d49565b610a0784610952611b76565b610a028560405180606001604052806028815260200161457660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109b8611b76565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126939092919063ffffffff16565b611b7e565b600190509392505050565b610a1a611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90613a4b565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3190613b5e565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd2611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690613a4b565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610cc2611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4690613a4b565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dad611b76565b73ffffffffffffffffffffffffffffffffffffffff161480610e235750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0b611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b80610e825750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6a611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b610e8b57600080fd5b6000479050610e99816126f7565b50565b6000610ee6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612881565b9050919050565b610ef5611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7990613a4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611048611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc90613a4b565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611116611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90613a4b565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600581526020017f4561727468000000000000000000000000000000000000000000000000000000815250905090565b61120b611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90613a4b565b60405180910390fd5b80601b8190555050565b6112aa611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90613a4b565b60405180910390fd5b82601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b61150f611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613a4b565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006115d26115cb611b76565b8484611d49565b6001905092915050565b60126020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661165d611b76565b73ffffffffffffffffffffffffffffffffffffffff1614806116d35750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116bb611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b806117325750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171a611b76565b73ffffffffffffffffffffffffffffffffffffffff16145b61173b57600080fd5b600061174630610e9c565b9050611751816128ef565b50565b61175c611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e090613a4b565b60405180910390fd5b60005b8383905081101561188857816005600086868581811061180f5761180e613a6b565b5b905060200201602081019061182491906137c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061188090613ac9565b9150506117ec565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61191d611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a190613a4b565b60405180910390fd5b80601a8190555050565b6119bc611b76565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4090613a4b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090613bf0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be590613c82565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590613d14565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d3c9190613688565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db090613da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2090613e38565b60405180910390fd5b60008111611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390613eca565b60405180910390fd5b611e746110e5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ee25750611eb26110e5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f385750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f8e5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561239257601860149054906101000a900460ff1661203457601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613f5c565b60405180910390fd5b5b601954811115612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090613fc8565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561211d5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61215c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121539061405a565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461220957601a54816121be84610e9c565b6121c8919061407a565b10612208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ff90614142565b60405180910390fd5b5b600061221430610e9c565b90506000601b548210159050601954821061222f5760195491505b8080156122495750601860159054906101000a900460ff16155b80156122a35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156122bb5750601860169054906101000a900460ff165b80156123115750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123675750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561238f57612375826128ef565b6000479050600081111561238d5761238c476126f7565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124395750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806124ec5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156124eb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156124fa5760009050612681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156125a55750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156125bd57600954600d81905550600a54600e819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126685750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561268057600b54600d81905550600c54600e819055505b5b61268d84848484612b68565b50505050565b60008383111582906126db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d29190613531565b60405180910390fd5b50600083856126ea9190614162565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612747600584612b9590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612772573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6127c3600284612b9590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156127ee573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612852600a612844600386612bdf90919063ffffffff16565b612b9590919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561287d573d6000803e3d6000fd5b5050565b60006006548211156128c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128bf90614208565b60405180910390fd5b60006128d2612c5a565b90506128e78184612b9590919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612927576129266132bf565b5b6040519080825280602002602001820160405280156129555781602001602082028036833780820191505090505b509050308160008151811061296d5761296c613a6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a38919061423d565b81600181518110612a4c57612a4b613a6b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ab330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b7e565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612b17959493929190614363565b600060405180830381600087803b158015612b3157600080fd5b505af1158015612b45573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612b7657612b75612c85565b5b612b81848484612cc8565b80612b8f57612b8e612e93565b5b50505050565b6000612bd783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ea7565b905092915050565b600080831415612bf25760009050612c54565b60008284612c0091906143bd565b9050828482612c0f9190614446565b14612c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c46906144e9565b60405180910390fd5b809150505b92915050565b6000806000612c67612f0a565b91509150612c7e8183612b9590919063ffffffff16565b9250505090565b6000600d54148015612c9957506000600e54145b15612ca357612cc6565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612cda87612f6f565b955095509550955095509550612d3886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dcd85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e198161307f565b612e23848361313c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e809190613688565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008083118290612eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee59190613531565b60405180910390fd5b5060008385612efd9190614446565b9050809150509392505050565b60008060006006549050600069d3c21bcecceda10000009050612f4269d3c21bcecceda1000000600654612b9590919063ffffffff16565b821015612f625760065469d3c21bcecceda1000000935093505050612f6b565b81819350935050505b9091565b6000806000806000806000806000612f8c8a600d54600e54613176565b9250925092506000612f9c612c5a565b90506000806000612faf8e87878761320c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061301983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612693565b905092915050565b6000808284613030919061407a565b905083811015613075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306c90614555565b60405180910390fd5b8091505092915050565b6000613089612c5a565b905060006130a08284612bdf90919063ffffffff16565b90506130f481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61315182600654612fd790919063ffffffff16565b60068190555061316c8160075461302190919063ffffffff16565b6007819055505050565b6000806000806131a26064613194888a612bdf90919063ffffffff16565b612b9590919063ffffffff16565b905060006131cc60646131be888b612bdf90919063ffffffff16565b612b9590919063ffffffff16565b905060006131f5826131e7858c612fd790919063ffffffff16565b612fd790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806132258589612bdf90919063ffffffff16565b9050600061323c8689612bdf90919063ffffffff16565b905060006132538789612bdf90919063ffffffff16565b9050600061327c8261326e8587612fd790919063ffffffff16565b612fd790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6132f7826132ae565b810181811067ffffffffffffffff82111715613316576133156132bf565b5b80604052505050565b6000613329613295565b905061333582826132ee565b919050565b600067ffffffffffffffff821115613355576133546132bf565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133968261336b565b9050919050565b6133a68161338b565b81146133b157600080fd5b50565b6000813590506133c38161339d565b92915050565b60006133dc6133d78461333a565b61331f565b905080838252602082019050602084028301858111156133ff576133fe613366565b5b835b81811015613428578061341488826133b4565b845260208401935050602081019050613401565b5050509392505050565b600082601f830112613447576134466132a9565b5b81356134578482602086016133c9565b91505092915050565b6000602082840312156134765761347561329f565b5b600082013567ffffffffffffffff811115613494576134936132a4565b5b6134a084828501613432565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134e35780820151818401526020810190506134c8565b838111156134f2576000848401525b50505050565b6000613503826134a9565b61350d81856134b4565b935061351d8185602086016134c5565b613526816132ae565b840191505092915050565b6000602082019050818103600083015261354b81846134f8565b905092915050565b6000819050919050565b61356681613553565b811461357157600080fd5b50565b6000813590506135838161355d565b92915050565b600080604083850312156135a05761359f61329f565b5b60006135ae858286016133b4565b92505060206135bf85828601613574565b9150509250929050565b60008115159050919050565b6135de816135c9565b82525050565b60006020820190506135f960008301846135d5565b92915050565b6000819050919050565b600061362461361f61361a8461336b565b6135ff565b61336b565b9050919050565b600061363682613609565b9050919050565b60006136488261362b565b9050919050565b6136588161363d565b82525050565b6000602082019050613673600083018461364f565b92915050565b61368281613553565b82525050565b600060208201905061369d6000830184613679565b92915050565b6000806000606084860312156136bc576136bb61329f565b5b60006136ca868287016133b4565b93505060206136db868287016133b4565b92505060406136ec86828701613574565b9150509250925092565b6136ff816135c9565b811461370a57600080fd5b50565b60008135905061371c816136f6565b92915050565b600080604083850312156137395761373861329f565b5b6000613747858286016133b4565b92505060206137588582860161370d565b9150509250929050565b600060ff82169050919050565b61377881613762565b82525050565b6000602082019050613793600083018461376f565b92915050565b6137a28161338b565b82525050565b60006020820190506137bd6000830184613799565b92915050565b6000602082840312156137d9576137d861329f565b5b60006137e7848285016133b4565b91505092915050565b6000602082840312156138065761380561329f565b5b60006138148482850161370d565b91505092915050565b6000602082840312156138335761383261329f565b5b600061384184828501613574565b91505092915050565b6000806000606084860312156138635761386261329f565b5b6000613871868287016133b4565b9350506020613882868287016133b4565b9250506040613893868287016133b4565b9150509250925092565b600080600080608085870312156138b7576138b661329f565b5b60006138c587828801613574565b94505060206138d687828801613574565b93505060406138e787828801613574565b92505060606138f887828801613574565b91505092959194509250565b600080fd5b60008083601f84011261391f5761391e6132a9565b5b8235905067ffffffffffffffff81111561393c5761393b613904565b5b60208301915083602082028301111561395857613957613366565b5b9250929050565b6000806000604084860312156139785761397761329f565b5b600084013567ffffffffffffffff811115613996576139956132a4565b5b6139a286828701613909565b935093505060206139b58682870161370d565b9150509250925092565b600080604083850312156139d6576139d561329f565b5b60006139e4858286016133b4565b92505060206139f5858286016133b4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a356020836134b4565b9150613a40826139ff565b602082019050919050565b60006020820190508181036000830152613a6481613a28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ad482613553565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b0757613b06613a9a565b5b600182019050919050565b7f544f4b454e3a20416c726561647920656e61626c65642e000000000000000000600082015250565b6000613b486017836134b4565b9150613b5382613b12565b602082019050919050565b60006020820190508181036000830152613b7781613b3b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613bda6026836134b4565b9150613be582613b7e565b604082019050919050565b60006020820190508181036000830152613c0981613bcd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613c6c6024836134b4565b9150613c7782613c10565b604082019050919050565b60006020820190508181036000830152613c9b81613c5f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cfe6022836134b4565b9150613d0982613ca2565b604082019050919050565b60006020820190508181036000830152613d2d81613cf1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613d906025836134b4565b9150613d9b82613d34565b604082019050919050565b60006020820190508181036000830152613dbf81613d83565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613e226023836134b4565b9150613e2d82613dc6565b604082019050919050565b60006020820190508181036000830152613e5181613e15565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613eb46029836134b4565b9150613ebf82613e58565b604082019050919050565b60006020820190508181036000830152613ee381613ea7565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613f46603f836134b4565b9150613f5182613eea565b604082019050919050565b60006020820190508181036000830152613f7581613f39565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613fb2601c836134b4565b9150613fbd82613f7c565b602082019050919050565b60006020820190508181036000830152613fe181613fa5565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006140446023836134b4565b915061404f82613fe8565b604082019050919050565b6000602082019050818103600083015261407381614037565b9050919050565b600061408582613553565b915061409083613553565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140c5576140c4613a9a565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b600061412c6023836134b4565b9150614137826140d0565b604082019050919050565b6000602082019050818103600083015261415b8161411f565b9050919050565b600061416d82613553565b915061417883613553565b92508282101561418b5761418a613a9a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006141f2602a836134b4565b91506141fd82614196565b604082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b6000815190506142378161339d565b92915050565b6000602082840312156142535761425261329f565b5b600061426184828501614228565b91505092915050565b6000819050919050565b600061428f61428a6142858461426a565b6135ff565b613553565b9050919050565b61429f81614274565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142da8161338b565b82525050565b60006142ec83836142d1565b60208301905092915050565b6000602082019050919050565b6000614310826142a5565b61431a81856142b0565b9350614325836142c1565b8060005b8381101561435657815161433d88826142e0565b9750614348836142f8565b925050600181019050614329565b5085935050505092915050565b600060a0820190506143786000830188613679565b6143856020830187614296565b81810360408301526143978186614305565b90506143a66060830185613799565b6143b36080830184613679565b9695505050505050565b60006143c882613553565b91506143d383613553565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561440c5761440b613a9a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061445182613553565b915061445c83613553565b92508261446c5761446b614417565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006144d36021836134b4565b91506144de82614477565b604082019050919050565b60006020820190508181036000830152614502816144c6565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061453f601b836134b4565b915061454a82614509565b602082019050919050565b6000602082019050818103600083015261456e81614532565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b0e22e91b22b3e47c9c958108e6e5ef67febbc9d9a8d4d20e563b180b7a8e81664736f6c634300080b0033

Deployed Bytecode Sourcemap

8730:14975:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18230:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11715:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12640:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10403:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11992:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12841:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23105:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10730:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11901:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10451:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18407:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22479:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17948:270;;;;;;;;;;;;;:::i;:::-;;12095:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6209:148;;;;;;;;;;;;;:::i;:::-;;22619:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10601:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17560:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10665:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11806:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22284:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23309:393;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21931:301;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12241:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9979:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9936:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17669:271;;;;;;;;;;;;;:::i;:::-;;22862:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12448:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22739:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6369:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18230:169;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18306:9:::1;18301:91;18325:5;:12;18321:1;:16;18301:91;;;18376:4;18359;:14;18364:5;18370:1;18364:8;;;;;;;;:::i;:::-;;;;;;;;18359:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18339:3;;;;;:::i;:::-;;;;18301:91;;;;18230:169:::0;:::o;11715:83::-;11752:13;11785:5;;;;;;;;;;;;;;;;;11778:12;;11715:83;:::o;12640:193::-;12742:4;12764:39;12773:12;:10;:12::i;:::-;12787:7;12796:6;12764:8;:39::i;:::-;12821:4;12814:11;;12640:193;;;;:::o;10403:41::-;;;;;;;;;;;;;:::o;11992:95::-;12045:7;9287:24;12065:14;;11992:95;:::o;12841:446::-;12973:4;12990:36;13000:6;13008:9;13019:6;12990:9;:36::i;:::-;13037:220;13060:6;13081:12;:10;:12::i;:::-;13108:138;13164:6;13108:138;;;;;;;;;;;;;;;;;:11;:19;13120:6;13108:19;;;;;;;;;;;;;;;:33;13128:12;:10;:12::i;:::-;13108:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;13037:8;:220::i;:::-;13275:4;13268:11;;12841:446;;;;;:::o;23105:196::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23219:7:::1;23197:29;;:9;:18;23207:7;23197:18;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;23189:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;23286:7;23265:9;:18;23275:7;23265:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;23105:196:::0;;:::o;10730:58::-;;;;:::o;11901:83::-;11942:5;8961:1;11960:16;;11901:83;:::o;10451:28::-;;;;;;;;;;;;;:::o;18407:92::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18486:5:::1;18471:4;:12;18476:6;18471:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;18407:92:::0;:::o;22479:101::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22560:12:::1;22546:11;;:26;;;;;;;;;;;;;;;;;;22479:101:::0;:::o;17948:270::-;18014:19;;;;;;;;;;;17998:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;18053:17;;;;;;;;;;;18037:33;;:12;:10;:12::i;:::-;:33;;;17998:72;:107;;;;18090:15;;;;;;;;;;;18074:31;;:12;:10;:12::i;:::-;:31;;;17998:107;17990:116;;;;;;18117:26;18146:21;18117:50;;18178:32;18191:18;18178:12;:32::i;:::-;17979:239;17948:270::o;12095:138::-;12161:7;12188:37;12208:7;:16;12216:7;12208:16;;;;;;;;;;;;;;;;12188:19;:37::i;:::-;12181:44;;12095:138;;;:::o;6209:148::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6316:1:::1;6279:40;;6300:6;::::0;::::1;;;;;;;;6279:40;;;;;;;;;;;;6347:1;6330:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6209:148::o:0;22619:108::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22708:11:::1;22693:12;:26;;;;22619:108:::0;:::o;10601:51::-;;;;:::o;5995:79::-;6033:7;6060:6;;;;;;;;;;;6053:13;;5995:79;:::o;17560:101::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17641:12:::1;17627:11;;:26;;;;;;;;;;;;;;;;;;17560:101:::0;:::o;10665:54::-;;;;:::o;11806:87::-;11845:13;11878:7;;;;;;;;;;;;;;;;;11871:14;;11806:87;:::o;22284:139::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22397:18:::1;22375:19;:40;;;;22284:139:::0;:::o;23309:393::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23453:11:::1;23423:19;;:42;;;;;;;;;;;;;;;;;;23504:11;23476:17;;:40;;;;;;;;;;;;;;;;;;23553:11;23527:15;;:38;;;;;;;;;;;;;;;;;;23604:4;23570:18;:31;23589:11;23570:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23647:4;23613:18;:31;23632:11;23613:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23690:4;23656:18;:31;23675:11;23656:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23309:393:::0;;;:::o;21931:301::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22082:13:::1;22065:14;:30;;;;22124:14;22106:15;:32;;;;22174:11;22159:12;:26;;;;22212:12;22196:13;:28;;;;21931:301:::0;;;;:::o;12241:199::-;12346:4;12368:42;12378:12;:10;:12::i;:::-;12392:9;12403:6;12368:9;:42::i;:::-;12428:4;12421:11;;12241:199;;;;:::o;9979:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;9936:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;17669:271::-;17735:19;;;;;;;;;;;17719:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;17774:17;;;;;;;;;;;17758:33;;:12;:10;:12::i;:::-;:33;;;17719:72;:107;;;;17811:15;;;;;;;;;;;17795:31;;:12;:10;:12::i;:::-;:31;;;17719:107;17711:116;;;;;;17838:23;17864:24;17882:4;17864:9;:24::i;:::-;17838:50;;17899:33;17916:15;17899:16;:33::i;:::-;17700:240;17669:271::o;22862:234::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22979:9:::1;22975:114;22998:8;;:15;;22994:1;:19;22975:114;;;23069:8;23035:18;:31;23054:8;;23063:1;23054:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;23035:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;23015:3;;;;;:::i;:::-;;;;22975:114;;;;22862:234:::0;;;:::o;12448:184::-;12565:7;12597:11;:18;12609:5;12597:18;;;;;;;;;;;;;;;:27;12616:7;12597:27;;;;;;;;;;;;;;;;12590:34;;12448:184;;;;:::o;22739:115::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22833:13:::1;22816:14;:30;;;;22739:115:::0;:::o;6369:244::-;6132:12;:10;:12::i;:::-;6122:22;;:6;;;;;;;;;;:22;;;6114:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6478:1:::1;6458:22;;:8;:22;;;;6450:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6568:8;6539:38;;6560:6;::::0;::::1;;;;;;;;6539:38;;;;;;;;;;;;6597:8;6588:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6369:244:::0;:::o;4754:98::-;4807:7;4834:10;4827:17;;4754:98;:::o;13990:369::-;14134:1;14117:19;;:5;:19;;;;14109:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14215:1;14196:21;;:7;:21;;;;14188:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14297:6;14267:11;:18;14279:5;14267:18;;;;;;;;;;;;;;;:27;14286:7;14267:27;;;;;;;;;;;;;;;:36;;;;14335:7;14319:32;;14328:5;14319:32;;;14344:6;14319:32;;;;;;:::i;:::-;;;;;;;;13990:369;;;:::o;14367:2466::-;14505:1;14489:18;;:4;:18;;;;14481:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14582:1;14568:16;;:2;:16;;;;14560:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14652:1;14643:6;:10;14635:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14724:7;:5;:7::i;:::-;14716:15;;:4;:15;;;;:32;;;;;14741:7;:5;:7::i;:::-;14735:13;;:2;:13;;;;14716:32;:52;;;;;14753:9;:15;14763:4;14753:15;;;;;;;;;;;;;;;;;;;;;;;;;14752:16;14716:52;:70;;;;;14773:9;:13;14783:2;14773:13;;;;;;;;;;;;;;;;;;;;;;;;;14772:14;14716:70;14712:1359;;;14855:11;;;;;;;;;;;14850:144;;14895:9;:15;14905:4;14895:15;;;;;;;;;;;;;;;;;;;;;;;;;14887:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;14850:144;15042:12;;15032:6;:22;;15024:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;15111:4;:10;15116:4;15111:10;;;;;;;;;;;;;;;;;;;;;;;;;15110:11;:24;;;;;15126:4;:8;15131:2;15126:8;;;;;;;;;;;;;;;;;;;;;;;;;15125:9;15110:24;15102:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15212:13;;;;;;;;;;;15206:19;;:2;:19;;;15203:146;;15279:14;;15270:6;15254:13;15264:2;15254:9;:13::i;:::-;:22;;;;:::i;:::-;:39;15246:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;15203:146;15377:28;15408:24;15426:4;15408:9;:24::i;:::-;15377:55;;15447:12;15486:19;;15462:20;:43;;15447:58;;15549:12;;15525:20;:36;15522:124;;15618:12;;15595:35;;15522:124;15678:7;:18;;;;;15690:6;;;;;;;;;;;15689:7;15678:18;:43;;;;;15708:13;;;;;;;;;;;15700:21;;:4;:21;;;;15678:43;:58;;;;;15725:11;;;;;;;;;;;15678:58;:87;;;;;15741:18;:24;15760:4;15741:24;;;;;;;;;;;;;;;;;;;;;;;;;15740:25;15678:87;:114;;;;;15770:18;:22;15789:2;15770:22;;;;;;;;;;;;;;;;;;;;;;;;;15769:23;15678:114;15674:386;;;15813:38;15830:20;15813:16;:38::i;:::-;15870:26;15899:21;15870:50;;15964:1;15943:18;:22;15939:106;;;15990:35;16003:21;15990:12;:35::i;:::-;15939:106;15794:266;15674:386;14788:1283;;14712:1359;16091:12;16106:4;16091:19;;16155:18;:24;16174:4;16155:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;16183:18;:22;16202:2;16183:22;;;;;;;;;;;;;;;;;;;;;;;;;16155:50;16154:102;;;;16219:13;;;;;;;;;;;16211:21;;:4;:21;;;;:44;;;;;16242:13;;;;;;;;;;;16236:19;;:2;:19;;;;16211:44;16154:102;16150:622;;;16283:5;16273:15;;16150:622;;;16378:13;;;;;;;;;;;16370:21;;:4;:21;;;:55;;;;;16409:15;;;;;;;;;;;16395:30;;:2;:30;;;;16370:55;16367:162;;;16458:14;;16446:9;:26;;;;16501:12;;16491:7;:22;;;;16367:162;16592:13;;;;;;;;;;;16586:19;;:2;:19;;;:55;;;;;16625:15;;;;;;;;;;;16609:32;;:4;:32;;;;16586:55;16582:165;;;16674:15;;16662:9;:27;;;;16718:13;;16708:7;:23;;;;16582:165;16150:622;16784:41;16799:4;16805:2;16809:6;16817:7;16784:14;:41::i;:::-;14470:2363;14367:2466;;;:::o;6981:224::-;7101:7;7134:1;7129;:6;;7137:12;7121:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7161:9;7177:1;7173;:5;;;;:::i;:::-;7161:17;;7196:1;7189:8;;;6981:224;;;;;:::o;17332:218::-;17389:19;;;;;;;;;;;:28;;:43;17418:13;17429:1;17418:6;:10;;:13;;;;:::i;:::-;17389:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17443:17;;;;;;;;;;;:26;;:41;17470:13;17481:1;17470:6;:10;;:13;;;;:::i;:::-;17443:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17495:15;;;;;;;;;;;:24;;:47;17520:21;17538:2;17520:13;17531:1;17520:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;17495:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17332:218;:::o;13295:323::-;13390:7;13448;;13437;:18;;13415:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;13536:19;13558:10;:8;:10::i;:::-;13536:32;;13586:24;13598:11;13586:7;:11;;:24;;;;:::i;:::-;13579:31;;;13295:323;;;:::o;16841:483::-;10897:4;10888:6;;:13;;;;;;;;;;;;;;;;;;16919:21:::1;16957:1;16943:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16919:40;;16988:4;16970;16975:1;16970:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;17014:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17004:4;17009:1;17004:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;17047:62;17064:4;17079:15;;;;;;;;;;;17097:11;17047:8;:62::i;:::-;17120:15;;;;;;;;;;;:66;;;17201:11;17227:1;17243:4;17270;17290:15;17120:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16908:416;10933:5:::0;10924:6;;:14;;;;;;;;;;;;;;;;;;16841:483;:::o;18507:282::-;18663:7;18658:28;;18672:14;:12;:14::i;:::-;18658:28;18697:44;18715:6;18723:9;18734:6;18697:17;:44::i;:::-;18757:7;18752:29;;18766:15;:13;:15::i;:::-;18752:29;18507:282;;;;:::o;7467:132::-;7525:7;7552:39;7556:1;7559;7552:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7545:46;;7467:132;;;;:::o;7213:246::-;7271:7;7300:1;7295;:6;7291:47;;;7325:1;7318:8;;;;7291:47;7348:9;7364:1;7360;:5;;;;:::i;:::-;7348:17;;7393:1;7388;7384;:5;;;;:::i;:::-;:10;7376:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;7450:1;7443:8;;;7213:246;;;;;:::o;21482:166::-;21524:7;21545:15;21562;21581:19;:17;:19::i;:::-;21544:56;;;;21620:20;21632:7;21620;:11;;:20;;;;:::i;:::-;21613:27;;;;21482:166;:::o;13626:231::-;13686:1;13673:9;;:14;:30;;;;;13702:1;13691:7;;:12;13673:30;13669:43;;;13705:7;;13669:43;13748:9;;13728:17;:29;;;;13786:7;;13768:15;:25;;;;13826:1;13814:9;:13;;;;13848:1;13838:7;:11;;;;13626:231;:::o;18797:610::-;18944:15;18974:23;19012:12;19039:23;19077:12;19104:13;19131:19;19142:7;19131:10;:19::i;:::-;18929:221;;;;;;;;;;;;19179:28;19199:7;19179;:15;19187:6;19179:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19161:7;:15;19169:6;19161:15;;;;;;;;;;;;;;;:46;;;;19239:39;19262:15;19239:7;:18;19247:9;19239:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;19218:7;:18;19226:9;19218:18;;;;;;;;;;;;;;;:60;;;;19289:16;19299:5;19289:9;:16::i;:::-;19316:23;19328:4;19334;19316:11;:23::i;:::-;19372:9;19355:44;;19364:6;19355:44;;;19383:15;19355:44;;;;;;:::i;:::-;;;;;;;;18918:489;;;;;;18797:610;;;:::o;13865:117::-;13921:17;;13909:9;:29;;;;13959:15;;13949:7;:25;;;;13865:117::o;7607:223::-;7727:7;7759:1;7755;:5;7762:12;7747:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7786:9;7802:1;7798;:5;;;;:::i;:::-;7786:17;;7821:1;7814:8;;;7607:223;;;;;:::o;21656:263::-;21707:7;21716;21736:15;21754:7;;21736:25;;21772:15;9287:24;21772:25;;21822:20;9287:24;21822:7;;:11;;:20;;;;:::i;:::-;21812:7;:30;21808:61;;;21852:7;;9287:24;21844:25;;;;;;;;21808:61;21894:7;21903;21886:25;;;;;;21656:263;;;:::o;19826:625::-;19926:7;19948;19970;19992;20014;20036;20072:23;20097:12;20111:13;20141:40;20153:7;20162:9;;20173:7;;20141:11;:40::i;:::-;20071:110;;;;;;20192:19;20214:10;:8;:10::i;:::-;20192:32;;20236:15;20253:23;20278:12;20307:46;20319:7;20328:4;20334:5;20341:11;20307;:46::i;:::-;20235:118;;;;;;20382:7;20391:15;20408:4;20414:15;20431:4;20437:5;20374:69;;;;;;;;;;;;;;;;;;;19826:625;;;;;;;:::o;6837:136::-;6895:7;6922:43;6926:1;6929;6922:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6915:50;;6837:136;;;;:::o;6650:179::-;6708:7;6728:9;6744:1;6740;:5;;;;:::i;:::-;6728:17;;6769:1;6764;:6;;6756:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6820:1;6813:8;;;6650:179;;;;:::o;19415:211::-;19468:19;19490:10;:8;:10::i;:::-;19468:32;;19511:13;19527:22;19537:11;19527:5;:9;;:22;;;;:::i;:::-;19511:38;;19585:33;19612:5;19585:7;:22;19601:4;19585:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;19560:7;:22;19576:4;19560:22;;;;;;;;;;;;;;;:58;;;;19457:169;;19415:211;:::o;19634:147::-;19712:17;19724:4;19712:7;;:11;;:17;;;;:::i;:::-;19702:7;:27;;;;19753:20;19768:4;19753:10;;:14;;:20;;;;:::i;:::-;19740:10;:33;;;;19634:147;;:::o;20459:471::-;20628:7;20650;20672;20707:12;20722:30;20748:3;20722:21;20734:8;20722:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;20707:45;;20763:13;20779:28;20803:3;20779:19;20791:6;20779:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;20763:44;;20818:23;20844:28;20866:5;20844:17;20856:4;20844:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;20818:54;;20893:15;20910:4;20916:5;20885:37;;;;;;;;;20459:471;;;;;;;:::o;20938:536::-;21132:7;21154;21176;21211:15;21229:24;21241:11;21229:7;:11;;:24;;;;:::i;:::-;21211:42;;21264:12;21279:21;21288:11;21279:4;:8;;:21;;;;:::i;:::-;21264:36;;21311:13;21327:22;21337:11;21327:5;:9;;:22;;;;:::i;:::-;21311:38;;21360:23;21386:28;21408:5;21386:17;21398:4;21386:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;21360:54;;21435:7;21444:15;21461:4;21427:39;;;;;;;;;;20938:536;;;;;;;;:::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:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:116::-;8356:21;8371:5;8356:21;:::i;:::-;8349:5;8346:32;8336:60;;8392:1;8389;8382:12;8336:60;8286:116;:::o;8408:133::-;8451:5;8489:6;8476:20;8467:29;;8505:30;8529:5;8505:30;:::i;:::-;8408:133;;;;:::o;8547:468::-;8612:6;8620;8669:2;8657:9;8648:7;8644:23;8640:32;8637:119;;;8675:79;;:::i;:::-;8637:119;8795:1;8820:53;8865:7;8856:6;8845:9;8841:22;8820:53;:::i;:::-;8810:63;;8766:117;8922:2;8948:50;8990:7;8981:6;8970:9;8966:22;8948:50;:::i;:::-;8938:60;;8893:115;8547:468;;;;;:::o;9021:86::-;9056:7;9096:4;9089:5;9085:16;9074:27;;9021:86;;;:::o;9113:112::-;9196:22;9212:5;9196:22;:::i;:::-;9191:3;9184:35;9113:112;;:::o;9231:214::-;9320:4;9358:2;9347:9;9343:18;9335:26;;9371:67;9435:1;9424:9;9420:17;9411:6;9371:67;:::i;:::-;9231:214;;;;:::o;9451:118::-;9538:24;9556:5;9538:24;:::i;:::-;9533:3;9526:37;9451:118;;:::o;9575:222::-;9668:4;9706:2;9695:9;9691:18;9683:26;;9719:71;9787:1;9776:9;9772:17;9763:6;9719:71;:::i;:::-;9575:222;;;;:::o;9803:329::-;9862:6;9911:2;9899:9;9890:7;9886:23;9882:32;9879:119;;;9917:79;;:::i;:::-;9879:119;10037:1;10062:53;10107:7;10098:6;10087:9;10083:22;10062:53;:::i;:::-;10052:63;;10008:117;9803:329;;;;:::o;10138:323::-;10194:6;10243:2;10231:9;10222:7;10218:23;10214:32;10211:119;;;10249:79;;:::i;:::-;10211:119;10369:1;10394:50;10436:7;10427:6;10416:9;10412:22;10394:50;:::i;:::-;10384:60;;10340:114;10138:323;;;;:::o;10467:329::-;10526:6;10575:2;10563:9;10554:7;10550:23;10546:32;10543:119;;;10581:79;;:::i;:::-;10543:119;10701:1;10726:53;10771:7;10762:6;10751:9;10747:22;10726:53;:::i;:::-;10716:63;;10672:117;10467:329;;;;:::o;10802:619::-;10879:6;10887;10895;10944:2;10932:9;10923:7;10919:23;10915:32;10912:119;;;10950:79;;:::i;:::-;10912:119;11070:1;11095:53;11140:7;11131:6;11120:9;11116:22;11095:53;:::i;:::-;11085:63;;11041:117;11197:2;11223:53;11268:7;11259:6;11248:9;11244:22;11223:53;:::i;:::-;11213:63;;11168:118;11325:2;11351:53;11396:7;11387:6;11376:9;11372:22;11351:53;:::i;:::-;11341:63;;11296:118;10802:619;;;;;:::o;11427:765::-;11513:6;11521;11529;11537;11586:3;11574:9;11565:7;11561:23;11557:33;11554:120;;;11593:79;;:::i;:::-;11554:120;11713:1;11738:53;11783:7;11774:6;11763:9;11759:22;11738:53;:::i;:::-;11728:63;;11684:117;11840:2;11866:53;11911:7;11902:6;11891:9;11887:22;11866:53;:::i;:::-;11856:63;;11811:118;11968:2;11994:53;12039:7;12030:6;12019:9;12015:22;11994:53;:::i;:::-;11984:63;;11939:118;12096:2;12122:53;12167:7;12158:6;12147:9;12143:22;12122:53;:::i;:::-;12112:63;;12067:118;11427:765;;;;;;;:::o;12198:117::-;12307:1;12304;12297:12;12338:568;12411:8;12421:6;12471:3;12464:4;12456:6;12452:17;12448:27;12438:122;;12479:79;;:::i;:::-;12438:122;12592:6;12579:20;12569:30;;12622:18;12614:6;12611:30;12608:117;;;12644:79;;:::i;:::-;12608:117;12758:4;12750:6;12746:17;12734:29;;12812:3;12804:4;12796:6;12792:17;12782:8;12778:32;12775:41;12772:128;;;12819:79;;:::i;:::-;12772:128;12338:568;;;;;:::o;12912:698::-;13004:6;13012;13020;13069:2;13057:9;13048:7;13044:23;13040:32;13037:119;;;13075:79;;:::i;:::-;13037:119;13223:1;13212:9;13208:17;13195:31;13253:18;13245:6;13242:30;13239:117;;;13275:79;;:::i;:::-;13239:117;13388:80;13460:7;13451:6;13440:9;13436:22;13388:80;:::i;:::-;13370:98;;;;13166:312;13517:2;13543:50;13585:7;13576:6;13565:9;13561:22;13543:50;:::i;:::-;13533:60;;13488:115;12912:698;;;;;:::o;13616:474::-;13684:6;13692;13741:2;13729:9;13720:7;13716:23;13712:32;13709:119;;;13747:79;;:::i;:::-;13709:119;13867:1;13892:53;13937:7;13928:6;13917:9;13913:22;13892:53;:::i;:::-;13882:63;;13838:117;13994:2;14020:53;14065:7;14056:6;14045:9;14041:22;14020:53;:::i;:::-;14010:63;;13965:118;13616:474;;;;;:::o;14096:182::-;14236:34;14232:1;14224:6;14220:14;14213:58;14096:182;:::o;14284:366::-;14426:3;14447:67;14511:2;14506:3;14447:67;:::i;:::-;14440:74;;14523:93;14612:3;14523:93;:::i;:::-;14641:2;14636:3;14632:12;14625:19;;14284:366;;;:::o;14656:419::-;14822:4;14860:2;14849:9;14845:18;14837:26;;14909:9;14903:4;14899:20;14895:1;14884:9;14880:17;14873:47;14937:131;15063:4;14937:131;:::i;:::-;14929:139;;14656:419;;;:::o;15081:180::-;15129:77;15126:1;15119:88;15226:4;15223:1;15216:15;15250:4;15247:1;15240:15;15267:180;15315:77;15312:1;15305:88;15412:4;15409:1;15402:15;15436:4;15433:1;15426:15;15453:233;15492:3;15515:24;15533:5;15515:24;:::i;:::-;15506:33;;15561:66;15554:5;15551:77;15548:103;;;15631:18;;:::i;:::-;15548:103;15678:1;15671:5;15667:13;15660:20;;15453:233;;;:::o;15692:173::-;15832:25;15828:1;15820:6;15816:14;15809:49;15692:173;:::o;15871:366::-;16013:3;16034:67;16098:2;16093:3;16034:67;:::i;:::-;16027:74;;16110:93;16199:3;16110:93;:::i;:::-;16228:2;16223:3;16219:12;16212:19;;15871:366;;;:::o;16243:419::-;16409:4;16447:2;16436:9;16432:18;16424:26;;16496:9;16490:4;16486:20;16482:1;16471:9;16467:17;16460:47;16524:131;16650:4;16524:131;:::i;:::-;16516:139;;16243:419;;;:::o;16668:225::-;16808:34;16804:1;16796:6;16792:14;16785:58;16877:8;16872:2;16864:6;16860:15;16853:33;16668:225;:::o;16899:366::-;17041:3;17062:67;17126:2;17121:3;17062:67;:::i;:::-;17055:74;;17138:93;17227:3;17138:93;:::i;:::-;17256:2;17251:3;17247:12;17240:19;;16899:366;;;:::o;17271:419::-;17437:4;17475:2;17464:9;17460:18;17452:26;;17524:9;17518:4;17514:20;17510:1;17499:9;17495:17;17488:47;17552:131;17678:4;17552:131;:::i;:::-;17544:139;;17271:419;;;:::o;17696:223::-;17836:34;17832:1;17824:6;17820:14;17813:58;17905:6;17900:2;17892:6;17888:15;17881:31;17696:223;:::o;17925:366::-;18067:3;18088:67;18152:2;18147:3;18088:67;:::i;:::-;18081:74;;18164:93;18253:3;18164:93;:::i;:::-;18282:2;18277:3;18273:12;18266:19;;17925:366;;;:::o;18297:419::-;18463:4;18501:2;18490:9;18486:18;18478:26;;18550:9;18544:4;18540:20;18536:1;18525:9;18521:17;18514:47;18578:131;18704:4;18578:131;:::i;:::-;18570:139;;18297:419;;;:::o;18722:221::-;18862:34;18858:1;18850:6;18846:14;18839:58;18931:4;18926:2;18918:6;18914:15;18907:29;18722:221;:::o;18949:366::-;19091:3;19112:67;19176:2;19171:3;19112:67;:::i;:::-;19105:74;;19188:93;19277:3;19188:93;:::i;:::-;19306:2;19301:3;19297:12;19290:19;;18949:366;;;:::o;19321:419::-;19487:4;19525:2;19514:9;19510:18;19502:26;;19574:9;19568:4;19564:20;19560:1;19549:9;19545:17;19538:47;19602:131;19728:4;19602:131;:::i;:::-;19594:139;;19321:419;;;:::o;19746:224::-;19886:34;19882:1;19874:6;19870:14;19863:58;19955:7;19950:2;19942:6;19938:15;19931:32;19746:224;:::o;19976:366::-;20118:3;20139:67;20203:2;20198:3;20139:67;:::i;:::-;20132:74;;20215:93;20304:3;20215:93;:::i;:::-;20333:2;20328:3;20324:12;20317:19;;19976:366;;;:::o;20348:419::-;20514:4;20552:2;20541:9;20537:18;20529:26;;20601:9;20595:4;20591:20;20587:1;20576:9;20572:17;20565:47;20629:131;20755:4;20629:131;:::i;:::-;20621:139;;20348:419;;;:::o;20773:222::-;20913:34;20909:1;20901:6;20897:14;20890:58;20982:5;20977:2;20969:6;20965:15;20958:30;20773:222;:::o;21001:366::-;21143:3;21164:67;21228:2;21223:3;21164:67;:::i;:::-;21157:74;;21240:93;21329:3;21240:93;:::i;:::-;21358:2;21353:3;21349:12;21342:19;;21001:366;;;:::o;21373:419::-;21539:4;21577:2;21566:9;21562:18;21554:26;;21626:9;21620:4;21616:20;21612:1;21601:9;21597:17;21590:47;21654:131;21780:4;21654:131;:::i;:::-;21646:139;;21373:419;;;:::o;21798:228::-;21938:34;21934:1;21926:6;21922:14;21915:58;22007:11;22002:2;21994:6;21990:15;21983:36;21798:228;:::o;22032:366::-;22174:3;22195:67;22259:2;22254:3;22195:67;:::i;:::-;22188:74;;22271:93;22360:3;22271:93;:::i;:::-;22389:2;22384:3;22380:12;22373:19;;22032:366;;;:::o;22404:419::-;22570:4;22608:2;22597:9;22593:18;22585:26;;22657:9;22651:4;22647:20;22643:1;22632:9;22628:17;22621:47;22685:131;22811:4;22685:131;:::i;:::-;22677:139;;22404:419;;;:::o;22829:250::-;22969:34;22965:1;22957:6;22953:14;22946:58;23038:33;23033:2;23025:6;23021:15;23014:58;22829:250;:::o;23085:366::-;23227:3;23248:67;23312:2;23307:3;23248:67;:::i;:::-;23241:74;;23324:93;23413:3;23324:93;:::i;:::-;23442:2;23437:3;23433:12;23426:19;;23085:366;;;:::o;23457:419::-;23623:4;23661:2;23650:9;23646:18;23638:26;;23710:9;23704:4;23700:20;23696:1;23685:9;23681:17;23674:47;23738:131;23864:4;23738:131;:::i;:::-;23730:139;;23457:419;;;:::o;23882:178::-;24022:30;24018:1;24010:6;24006:14;23999:54;23882:178;:::o;24066:366::-;24208:3;24229:67;24293:2;24288:3;24229:67;:::i;:::-;24222:74;;24305:93;24394:3;24305:93;:::i;:::-;24423:2;24418:3;24414:12;24407:19;;24066:366;;;:::o;24438:419::-;24604:4;24642:2;24631:9;24627:18;24619:26;;24691:9;24685:4;24681:20;24677:1;24666:9;24662:17;24655:47;24719:131;24845:4;24719:131;:::i;:::-;24711:139;;24438:419;;;:::o;24863:222::-;25003:34;24999:1;24991:6;24987:14;24980:58;25072:5;25067:2;25059:6;25055:15;25048:30;24863:222;:::o;25091:366::-;25233:3;25254:67;25318:2;25313:3;25254:67;:::i;:::-;25247:74;;25330:93;25419:3;25330:93;:::i;:::-;25448:2;25443:3;25439:12;25432:19;;25091:366;;;:::o;25463:419::-;25629:4;25667:2;25656:9;25652:18;25644:26;;25716:9;25710:4;25706:20;25702:1;25691:9;25687:17;25680:47;25744:131;25870:4;25744:131;:::i;:::-;25736:139;;25463:419;;;:::o;25888:305::-;25928:3;25947:20;25965:1;25947:20;:::i;:::-;25942:25;;25981:20;25999:1;25981:20;:::i;:::-;25976:25;;26135:1;26067:66;26063:74;26060:1;26057:81;26054:107;;;26141:18;;:::i;:::-;26054:107;26185:1;26182;26178:9;26171:16;;25888:305;;;;:::o;26199:222::-;26339:34;26335:1;26327:6;26323:14;26316:58;26408:5;26403:2;26395:6;26391:15;26384:30;26199:222;:::o;26427:366::-;26569:3;26590:67;26654:2;26649:3;26590:67;:::i;:::-;26583:74;;26666:93;26755:3;26666:93;:::i;:::-;26784:2;26779:3;26775:12;26768:19;;26427:366;;;:::o;26799:419::-;26965:4;27003:2;26992:9;26988:18;26980:26;;27052:9;27046:4;27042:20;27038:1;27027:9;27023:17;27016:47;27080:131;27206:4;27080:131;:::i;:::-;27072:139;;26799:419;;;:::o;27224:191::-;27264:4;27284:20;27302:1;27284:20;:::i;:::-;27279:25;;27318:20;27336:1;27318:20;:::i;:::-;27313:25;;27357:1;27354;27351:8;27348:34;;;27362:18;;:::i;:::-;27348:34;27407:1;27404;27400:9;27392:17;;27224:191;;;;:::o;27421:229::-;27561:34;27557:1;27549:6;27545:14;27538:58;27630:12;27625:2;27617:6;27613:15;27606:37;27421:229;:::o;27656:366::-;27798:3;27819:67;27883:2;27878:3;27819:67;:::i;:::-;27812:74;;27895:93;27984:3;27895:93;:::i;:::-;28013:2;28008:3;28004:12;27997:19;;27656:366;;;:::o;28028:419::-;28194:4;28232:2;28221:9;28217:18;28209:26;;28281:9;28275:4;28271:20;28267:1;28256:9;28252:17;28245:47;28309:131;28435:4;28309:131;:::i;:::-;28301:139;;28028:419;;;:::o;28453:143::-;28510:5;28541:6;28535:13;28526:22;;28557:33;28584:5;28557:33;:::i;:::-;28453:143;;;;:::o;28602:351::-;28672:6;28721:2;28709:9;28700:7;28696:23;28692:32;28689:119;;;28727:79;;:::i;:::-;28689:119;28847:1;28872:64;28928:7;28919:6;28908:9;28904:22;28872:64;:::i;:::-;28862:74;;28818:128;28602:351;;;;:::o;28959:85::-;29004:7;29033:5;29022:16;;28959:85;;;:::o;29050:158::-;29108:9;29141:61;29159:42;29168:32;29194:5;29168:32;:::i;:::-;29159:42;:::i;:::-;29141:61;:::i;:::-;29128:74;;29050:158;;;:::o;29214:147::-;29309:45;29348:5;29309:45;:::i;:::-;29304:3;29297:58;29214:147;;:::o;29367:114::-;29434:6;29468:5;29462:12;29452:22;;29367:114;;;:::o;29487:184::-;29586:11;29620:6;29615:3;29608:19;29660:4;29655:3;29651:14;29636:29;;29487:184;;;;:::o;29677:132::-;29744:4;29767:3;29759:11;;29797:4;29792:3;29788:14;29780:22;;29677:132;;;:::o;29815:108::-;29892:24;29910:5;29892:24;:::i;:::-;29887:3;29880:37;29815:108;;:::o;29929:179::-;29998:10;30019:46;30061:3;30053:6;30019:46;:::i;:::-;30097:4;30092:3;30088:14;30074:28;;29929:179;;;;:::o;30114:113::-;30184:4;30216;30211:3;30207:14;30199:22;;30114:113;;;:::o;30263:732::-;30382:3;30411:54;30459:5;30411:54;:::i;:::-;30481:86;30560:6;30555:3;30481:86;:::i;:::-;30474:93;;30591:56;30641:5;30591:56;:::i;:::-;30670:7;30701:1;30686:284;30711:6;30708:1;30705:13;30686:284;;;30787:6;30781:13;30814:63;30873:3;30858:13;30814:63;:::i;:::-;30807:70;;30900:60;30953:6;30900:60;:::i;:::-;30890:70;;30746:224;30733:1;30730;30726:9;30721:14;;30686:284;;;30690:14;30986:3;30979:10;;30387:608;;;30263:732;;;;:::o;31001:831::-;31264:4;31302:3;31291:9;31287:19;31279:27;;31316:71;31384:1;31373:9;31369:17;31360:6;31316:71;:::i;:::-;31397:80;31473:2;31462:9;31458:18;31449:6;31397:80;:::i;:::-;31524:9;31518:4;31514:20;31509:2;31498:9;31494:18;31487:48;31552:108;31655:4;31646:6;31552:108;:::i;:::-;31544:116;;31670:72;31738:2;31727:9;31723:18;31714:6;31670:72;:::i;:::-;31752:73;31820:3;31809:9;31805:19;31796:6;31752:73;:::i;:::-;31001:831;;;;;;;;:::o;31838:348::-;31878:7;31901:20;31919:1;31901:20;:::i;:::-;31896:25;;31935:20;31953:1;31935:20;:::i;:::-;31930:25;;32123:1;32055:66;32051:74;32048:1;32045:81;32040:1;32033:9;32026:17;32022:105;32019:131;;;32130:18;;:::i;:::-;32019:131;32178:1;32175;32171:9;32160:20;;31838:348;;;;:::o;32192:180::-;32240:77;32237:1;32230:88;32337:4;32334:1;32327:15;32361:4;32358:1;32351:15;32378:185;32418:1;32435:20;32453:1;32435:20;:::i;:::-;32430:25;;32469:20;32487:1;32469:20;:::i;:::-;32464:25;;32508:1;32498:35;;32513:18;;:::i;:::-;32498:35;32555:1;32552;32548:9;32543:14;;32378:185;;;;:::o;32569:220::-;32709:34;32705:1;32697:6;32693:14;32686:58;32778:3;32773:2;32765:6;32761:15;32754:28;32569:220;:::o;32795:366::-;32937:3;32958:67;33022:2;33017:3;32958:67;:::i;:::-;32951:74;;33034:93;33123:3;33034:93;:::i;:::-;33152:2;33147:3;33143:12;33136:19;;32795:366;;;:::o;33167:419::-;33333:4;33371:2;33360:9;33356:18;33348:26;;33420:9;33414:4;33410:20;33406:1;33395:9;33391:17;33384:47;33448:131;33574:4;33448:131;:::i;:::-;33440:139;;33167:419;;;:::o;33592:177::-;33732:29;33728:1;33720:6;33716:14;33709:53;33592:177;:::o;33775:366::-;33917:3;33938:67;34002:2;33997:3;33938:67;:::i;:::-;33931:74;;34014:93;34103:3;34014:93;:::i;:::-;34132:2;34127:3;34123:12;34116:19;;33775:366;;;:::o;34147:419::-;34313:4;34351:2;34340:9;34336:18;34328:26;;34400:9;34394:4;34390:20;34386:1;34375:9;34371:17;34364:47;34428:131;34554:4;34428:131;:::i;:::-;34420:139;;34147:419;;;:::o

Swarm Source

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