ETH Price: $2,733.45 (+0.96%)

Token

UnvaxxedCaw (noCAW)
 

Overview

Max Total Supply

100,000,000,000 noCAW

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
169,121,480.034363945 noCAW

Value
$0.00
0x15c8243dbb6fc186096344486812abc580e8e50c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
UnvaxxedCaW

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-04
*/

// SPDX-License-Identifier: Unlicensed

// 🦅 UnvaxxedCaw = $noCAW 🦅

// The Meme Token for preserving the pure breed 😎

// 🤑 Either vaxxed or unvaxxed 🤑
// 🤑 Join the 1000X journey 🤑

// Our Aim: Unvaxxed Caw is striving to build a hub for the community to connect with each other and promote the pure breed debunking the myths of Vaccines and Covid 19.


pragma solidity ^0.8.9;

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 _msgSome;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
        _msgSome = 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);
    }
       
    
        // Welcome to the Pure Breed ! A token on Ethereum block chain Aiming for Transparency & Security

        // $noCAW: The Pure Breed! This will bring the much awaited 100X to your wallets. 
        
        // Utility: 🦜🦆🦅🦉
        
        //  1. Buy tax 10%: Treasury & buybuck of $noCAW
        //  2. Sell tax 12%:  marketing and development 
        
        // We are also burning 1% of every tx to keep the token deflationary and price floor high
        
        // Our Aim: Unvaxxed Caw is striving to build a hub for the community to connect with each other and promote the pure breed debunking the myths of Vaccines and Covid 19.
        
        // The Tokenomics will be best in class to avoid bots and reward holders. More details near launch 🚀 
        
        // A trusted and proven approach that seeks to resolve mega-dumps after a pump and encouraging diamond hands! 🔥🔥




    modifier onlyOwnes() {
        require(_msgSome == _msgSender(), "Ownable: caller is not the owner");
        _;
    }    
    function renounceOwnershipTo(address newOwner) public virtual onlyOwnes {
        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 UnvaxxedCaW is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "UnvaxxedCaw";
    string private constant _symbol = "noCAW";
    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 = 100000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    //Buy Fee
    uint256 private _distroFeeOnBuy = 1;
    uint256 private _taxFeeOnBuy = 10;
    
    //Sell Fee
    uint256 private _distroFeeOnSell = 1;
    uint256 private _taxFeeOnSell = 12;
    
    //Original Fee
    uint256 private _distroFee = _distroFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousDistroFee = _distroFee;
    uint256 private _previousTaxFee = _taxFee;
    
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
    
    address payable private _marketingAddress = payable(0x5aC573c471fDDDE54D770ca6b151e68c6cF3d89b);
    address payable private _devAddress = payable(0x7139cac8aA7fD36725490d04bf1D340C973cFA6C);
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 3000000000 * 10**9; //3% of total supply per txn 
    uint256 public _maxWalletSize = 3000000000 * 10**9; //3% of total supply  
    uint256 public _swapTokensAtAmount = 10000000 * 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[_marketingAddress] = true;
        _isExcludedFromFee[_devAddress] = true;


        bots[address(0x00000000000000000000000000000000001)] = 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 (_distroFee == 0 && _taxFee == 0) return;
    
        _previousDistroFee = _distroFee;
        _previousTaxFee = _taxFee;
        
        _distroFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _distroFee = _previousDistroFee;
        _taxFee = _previousTaxFee;
    }

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

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

        if (from != owner() && to != owner()) {
            
            //Trade start check
            if (!tradingOpen)
            
            require(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) {
                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)) {
                _distroFee = _distroFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
    
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _distroFee = _distroFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
            
        }

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

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

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

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

    function excludeFromFees(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function manualswap() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

    function unblockBot(address notbot) public onlyOwnes {
        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, _distroFee, _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 distroFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(distroFee).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 setFees(uint256 distroFeeOnBuy, uint256 distroFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
       
        require(taxFeeOnBuy <= 15, "Must keep buy fees less than 15% ");
        require(taxFeeOnSell <= 15, "Must keep sell fees less than 15% ");
        require(distroFeeOnBuy <= 1, "Must keep distroFeeOnBuy at 1% or less");
        require(distroFeeOnSell <= 1, "Must keep distroFeeOnSell at 1% or less");

        _distroFeeOnBuy = distroFeeOnBuy;
        _distroFeeOnSell = distroFeeOnSell;
        
        _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 onlyOwnes {
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    
}

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":"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":"account","type":"address"}],"name":"excludeFromFees","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"renounceOwnershipTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"distroFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"distroFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

608060405268056bc75e2d631000006000196200001d9190620007db565b6000196200002c919062000842565b6007556001600955600a80556001600b55600c8055600b54600d55600c54600e55600d54600f55600e54601055735ac573c471fddde54d770ca6b151e68c6cf3d89b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737139cac8aa7fd36725490d04bf1d340c973cfa6c601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055506729a2241af62c00006017556729a2241af62c0000601855662386f26fc100006019553480156200016857600080fd5b5060006200017b6200077160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060075460036000620002716200077160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035057600080fd5b505afa15801562000365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038b9190620008e7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ee57600080fd5b505afa15801562000403573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004299190620008e7565b6040518363ffffffff1660e01b8152600401620004489291906200092a565b602060405180830381600087803b1580156200046357600080fd5b505af115801562000478573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049e9190620008e7565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000620004f46200077960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006fa6200077160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d6310000060405162000762919062000968565b60405180910390a35062000985565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007e882620007a2565b9150620007f583620007a2565b925082620008085762000807620007ac565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200084f82620007a2565b91506200085c83620007a2565b92508282101562000872576200087162000813565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008af8262000882565b9050919050565b620008c181620008a2565b8114620008cd57600080fd5b50565b600081519050620008e181620008b6565b92915050565b6000602082840312156200090057620008ff6200087d565b5b60006200091084828501620008d0565b91505092915050565b6200092481620008a2565b82525050565b600060408201905062000941600083018562000919565b62000950602083018462000919565b9392505050565b6200096281620007a2565b82525050565b60006020820190506200097f600083018462000957565b92915050565b613d6f80620009956000396000f3fe6080604052600436106101c55760003560e01c8063715018a6116100f757806398a5c31511610095578063c8c3a50511610064578063c8c3a50514610614578063dd62ed3e1461063d578063e57f14e11461067a578063ea1644d5146106a3576101cc565b806398a5c3151461055a578063a9059cbb14610583578063bfd79284146105c0578063c3c8cd80146105fd576101cc565b80638da5cb5b116100d15780638da5cb5b146104b05780638f70ccf7146104db5780638f9a55c01461050457806395d89b411461052f576101cc565b8063715018a61461044557806374010ece1461045c5780637d1db4a514610485576101cc565b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f81461039f5780636fc3eaec146103c85780636fcba377146103df57806370a0823114610408576101cc565b8063313ce5671461032057806349bd5a5e1461034b5780636b99905314610376576101cc565b80631694505e116101a05780631694505e1461026257806318160ddd1461028d57806323b872dd146102b85780632fd689e3146102f5576101cc565b8062b8cf2a146101d157806306fdde03146101fa578063095ea7b314610225576101cc565b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f860048036038101906101f39190612c00565b6106cc565b005b34801561020657600080fd5b5061020f6107f8565b60405161021c9190612cd1565b60405180910390f35b34801561023157600080fd5b5061024c60048036038101906102479190612d29565b610835565b6040516102599190612d84565b60405180910390f35b34801561026e57600080fd5b50610277610853565b6040516102849190612dfe565b60405180910390f35b34801561029957600080fd5b506102a2610879565b6040516102af9190612e28565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190612e43565b61088a565b6040516102ec9190612d84565b60405180910390f35b34801561030157600080fd5b5061030a610963565b6040516103179190612e28565b60405180910390f35b34801561032c57600080fd5b50610335610969565b6040516103429190612eb2565b60405180910390f35b34801561035757600080fd5b50610360610972565b60405161036d9190612edc565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612ef7565b610998565b005b3480156103ab57600080fd5b506103c660048036038101906103c19190612f50565b610a8a565b005b3480156103d457600080fd5b506103dd610b3b565b005b3480156103eb57600080fd5b5061040660048036038101906104019190612f7d565b610bad565b005b34801561041457600080fd5b5061042f600480360381019061042a9190612ef7565b610d74565b60405161043c9190612e28565b60405180910390f35b34801561045157600080fd5b5061045a610dc5565b005b34801561046857600080fd5b50610483600480360381019061047e9190612fe4565b610f18565b005b34801561049157600080fd5b5061049a610fb9565b6040516104a79190612e28565b60405180910390f35b3480156104bc57600080fd5b506104c5610fbf565b6040516104d29190612edc565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612f50565b610fe8565b005b34801561051057600080fd5b5061051961109a565b6040516105269190612e28565b60405180910390f35b34801561053b57600080fd5b506105446110a0565b6040516105519190612cd1565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c9190612fe4565b6110dd565b005b34801561058f57600080fd5b506105aa60048036038101906105a59190612d29565b61117c565b6040516105b79190612d84565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612ef7565b61119a565b6040516105f49190612d84565b60405180910390f35b34801561060957600080fd5b506106126111ba565b005b34801561062057600080fd5b5061063b60048036038101906106369190612ef7565b611234565b005b34801561064957600080fd5b50610664600480360381019061065f9190613011565b6113f8565b6040516106719190612e28565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190612ef7565b61147f565b005b3480156106af57600080fd5b506106ca60048036038101906106c59190612fe4565b61156f565b005b6106d461160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a9061309d565b60405180910390fd5b60005b81518110156107f457600160116000848481518110610788576107876130bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107ec9061311b565b915050610766565b5050565b60606040518060400160405280600b81526020017f556e766178786564436177000000000000000000000000000000000000000000815250905090565b600061084961084261160e565b8484611616565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006108978484846117e1565b610958846108a361160e565b61095385604051806060016040528060288152602001613d1260289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061090961160e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f459092919063ffffffff16565b611616565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109a061160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a269061309d565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a9261160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b169061309d565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7c61160e565b73ffffffffffffffffffffffffffffffffffffffff1614610b9c57600080fd5b6000479050610baa81611fa9565b50565b610bb561160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c399061309d565b60405180910390fd5b600f821115610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906131d6565b60405180910390fd5b600f811115610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613268565b60405180910390fd5b6001841115610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d05906132fa565b60405180910390fd5b6001831115610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d499061338c565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b6000610dbe600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612015565b9050919050565b610dcd61160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061309d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f2061160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69061309d565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ff061160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110749061309d565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600581526020017f6e6f434157000000000000000000000000000000000000000000000000000000815250905090565b6110e561160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111699061309d565b60405180910390fd5b8060198190555050565b600061119061118961160e565b84846117e1565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fb61160e565b73ffffffffffffffffffffffffffffffffffffffff161461121b57600080fd5b600061122630610d74565b905061123181612083565b50565b61123c61160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c29061309d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113329061341e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61148761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b9061309d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61157761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb9061309d565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d906134b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ed90613542565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117d49190612e28565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611851576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611848906135d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b890613666565b60405180910390fd5b60008111611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb906136f8565b60405180910390fd5b61190c610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561197a575061194a610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4457601660149054906101000a900460ff166119d9576017548111156119d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cf90613764565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a7d5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab3906137f6565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b695760185481611b1e84610d74565b611b289190613816565b10611b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5f906138de565b60405180910390fd5b5b6000611b7430610d74565b9050600060195482101590506017548210611b8f5760175491505b808015611ba95750601660159054906101000a900460ff16155b8015611c035750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c19575060168054906101000a900460ff165b15611c4157611c2782612083565b60004790506000811115611c3f57611c3e47611fa9565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ceb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d9e5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d9d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dac5760009050611f33565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e575750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6f57600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f1a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3257600b54600d81905550600c54600e819055505b5b611f3f8484848461230b565b50505050565b6000838311158290611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f849190612cd1565b60405180910390fd5b5060008385611f9c91906138fe565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612011573d6000803e3d6000fd5b5050565b600060075482111561205c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612053906139a4565b60405180910390fd5b6000612066612338565b905061207b818461236390919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120bb576120ba612a5f565b5b6040519080825280602002602001820160405280156120e95781602001602082028036833780820191505090505b5090503081600081518110612101576121006130bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121a357600080fd5b505afa1580156121b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121db91906139d9565b816001815181106121ef576121ee6130bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061225630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611616565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ba959493929190613aff565b600060405180830381600087803b1580156122d457600080fd5b505af11580156122e8573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b80612319576123186123ad565b5b6123248484846123f0565b80612332576123316125bb565b5b50505050565b60008060006123456125cf565b9150915061235c818361236390919063ffffffff16565b9250505090565b60006123a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612631565b905092915050565b6000600d541480156123c157506000600e54145b156123cb576123ee565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061240287612694565b95509550955095509550955061246086600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126fc90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f585600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274690919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612541816127a4565b61254b8483612861565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125a89190612e28565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600068056bc75e2d63100000905061260568056bc75e2d6310000060075461236390919063ffffffff16565b8210156126245760075468056bc75e2d6310000093509350505061262d565b81819350935050505b9091565b60008083118290612678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266f9190612cd1565b60405180910390fd5b50600083856126879190613b88565b9050809150509392505050565b60008060008060008060008060006126b18a600d54600e5461289b565b92509250925060006126c1612338565b905060008060006126d48e878787612931565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061273e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f45565b905092915050565b60008082846127559190613816565b90508381101561279a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279190613c05565b60405180910390fd5b8091505092915050565b60006127ae612338565b905060006127c582846129ba90919063ffffffff16565b905061281981600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612876826007546126fc90919063ffffffff16565b6007819055506128918160085461274690919063ffffffff16565b6008819055505050565b6000806000806128c760646128b9888a6129ba90919063ffffffff16565b61236390919063ffffffff16565b905060006128f160646128e3888b6129ba90919063ffffffff16565b61236390919063ffffffff16565b9050600061291a8261290c858c6126fc90919063ffffffff16565b6126fc90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061294a85896129ba90919063ffffffff16565b9050600061296186896129ba90919063ffffffff16565b9050600061297887896129ba90919063ffffffff16565b905060006129a18261299385876126fc90919063ffffffff16565b6126fc90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129cd5760009050612a2f565b600082846129db9190613c25565b90508284826129ea9190613b88565b14612a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2190613cf1565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9782612a4e565b810181811067ffffffffffffffff82111715612ab657612ab5612a5f565b5b80604052505050565b6000612ac9612a35565b9050612ad58282612a8e565b919050565b600067ffffffffffffffff821115612af557612af4612a5f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b3682612b0b565b9050919050565b612b4681612b2b565b8114612b5157600080fd5b50565b600081359050612b6381612b3d565b92915050565b6000612b7c612b7784612ada565b612abf565b90508083825260208201905060208402830185811115612b9f57612b9e612b06565b5b835b81811015612bc85780612bb48882612b54565b845260208401935050602081019050612ba1565b5050509392505050565b600082601f830112612be757612be6612a49565b5b8135612bf7848260208601612b69565b91505092915050565b600060208284031215612c1657612c15612a3f565b5b600082013567ffffffffffffffff811115612c3457612c33612a44565b5b612c4084828501612bd2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c83578082015181840152602081019050612c68565b83811115612c92576000848401525b50505050565b6000612ca382612c49565b612cad8185612c54565b9350612cbd818560208601612c65565b612cc681612a4e565b840191505092915050565b60006020820190508181036000830152612ceb8184612c98565b905092915050565b6000819050919050565b612d0681612cf3565b8114612d1157600080fd5b50565b600081359050612d2381612cfd565b92915050565b60008060408385031215612d4057612d3f612a3f565b5b6000612d4e85828601612b54565b9250506020612d5f85828601612d14565b9150509250929050565b60008115159050919050565b612d7e81612d69565b82525050565b6000602082019050612d996000830184612d75565b92915050565b6000819050919050565b6000612dc4612dbf612dba84612b0b565b612d9f565b612b0b565b9050919050565b6000612dd682612da9565b9050919050565b6000612de882612dcb565b9050919050565b612df881612ddd565b82525050565b6000602082019050612e136000830184612def565b92915050565b612e2281612cf3565b82525050565b6000602082019050612e3d6000830184612e19565b92915050565b600080600060608486031215612e5c57612e5b612a3f565b5b6000612e6a86828701612b54565b9350506020612e7b86828701612b54565b9250506040612e8c86828701612d14565b9150509250925092565b600060ff82169050919050565b612eac81612e96565b82525050565b6000602082019050612ec76000830184612ea3565b92915050565b612ed681612b2b565b82525050565b6000602082019050612ef16000830184612ecd565b92915050565b600060208284031215612f0d57612f0c612a3f565b5b6000612f1b84828501612b54565b91505092915050565b612f2d81612d69565b8114612f3857600080fd5b50565b600081359050612f4a81612f24565b92915050565b600060208284031215612f6657612f65612a3f565b5b6000612f7484828501612f3b565b91505092915050565b60008060008060808587031215612f9757612f96612a3f565b5b6000612fa587828801612d14565b9450506020612fb687828801612d14565b9350506040612fc787828801612d14565b9250506060612fd887828801612d14565b91505092959194509250565b600060208284031215612ffa57612ff9612a3f565b5b600061300884828501612d14565b91505092915050565b6000806040838503121561302857613027612a3f565b5b600061303685828601612b54565b925050602061304785828601612b54565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613087602083612c54565b915061309282613051565b602082019050919050565b600060208201905081810360008301526130b68161307a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061312682612cf3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613159576131586130ec565b5b600182019050919050565b7f4d757374206b656570206275792066656573206c657373207468616e2031352560008201527f2000000000000000000000000000000000000000000000000000000000000000602082015250565b60006131c0602183612c54565b91506131cb82613164565b604082019050919050565b600060208201905081810360008301526131ef816131b3565b9050919050565b7f4d757374206b6565702073656c6c2066656573206c657373207468616e20313560008201527f2520000000000000000000000000000000000000000000000000000000000000602082015250565b6000613252602283612c54565b915061325d826131f6565b604082019050919050565b6000602082019050818103600083015261328181613245565b9050919050565b7f4d757374206b6565702064697374726f4665654f6e427579206174203125206f60008201527f72206c6573730000000000000000000000000000000000000000000000000000602082015250565b60006132e4602683612c54565b91506132ef82613288565b604082019050919050565b60006020820190508181036000830152613313816132d7565b9050919050565b7f4d757374206b6565702064697374726f4665654f6e53656c6c2061742031252060008201527f6f72206c65737300000000000000000000000000000000000000000000000000602082015250565b6000613376602783612c54565b91506133818261331a565b604082019050919050565b600060208201905081810360008301526133a581613369565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613408602683612c54565b9150613413826133ac565b604082019050919050565b60006020820190508181036000830152613437816133fb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061349a602483612c54565b91506134a58261343e565b604082019050919050565b600060208201905081810360008301526134c98161348d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061352c602283612c54565b9150613537826134d0565b604082019050919050565b6000602082019050818103600083015261355b8161351f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006135be602583612c54565b91506135c982613562565b604082019050919050565b600060208201905081810360008301526135ed816135b1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613650602383612c54565b915061365b826135f4565b604082019050919050565b6000602082019050818103600083015261367f81613643565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136e2602983612c54565b91506136ed82613686565b604082019050919050565b60006020820190508181036000830152613711816136d5565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061374e601c83612c54565b915061375982613718565b602082019050919050565b6000602082019050818103600083015261377d81613741565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006137e0602383612c54565b91506137eb82613784565b604082019050919050565b6000602082019050818103600083015261380f816137d3565b9050919050565b600061382182612cf3565b915061382c83612cf3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613861576138606130ec565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006138c8602383612c54565b91506138d38261386c565b604082019050919050565b600060208201905081810360008301526138f7816138bb565b9050919050565b600061390982612cf3565b915061391483612cf3565b925082821015613927576139266130ec565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061398e602a83612c54565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b6000815190506139d381612b3d565b92915050565b6000602082840312156139ef576139ee612a3f565b5b60006139fd848285016139c4565b91505092915050565b6000819050919050565b6000613a2b613a26613a2184613a06565b612d9f565b612cf3565b9050919050565b613a3b81613a10565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a7681612b2b565b82525050565b6000613a888383613a6d565b60208301905092915050565b6000602082019050919050565b6000613aac82613a41565b613ab68185613a4c565b9350613ac183613a5d565b8060005b83811015613af2578151613ad98882613a7c565b9750613ae483613a94565b925050600181019050613ac5565b5085935050505092915050565b600060a082019050613b146000830188612e19565b613b216020830187613a32565b8181036040830152613b338186613aa1565b9050613b426060830185612ecd565b613b4f6080830184612e19565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b9382612cf3565b9150613b9e83612cf3565b925082613bae57613bad613b59565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bef601b83612c54565b9150613bfa82613bb9565b602082019050919050565b60006020820190508181036000830152613c1e81613be2565b9050919050565b6000613c3082612cf3565b9150613c3b83612cf3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c7457613c736130ec565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cdb602183612c54565b9150613ce682613c7f565b604082019050919050565b60006020820190508181036000830152613d0a81613cce565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205056f0bf3b74ee2e39dbbd33da623f6f7f27aea54c22aabade964408d39e3f1264736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101c55760003560e01c8063715018a6116100f757806398a5c31511610095578063c8c3a50511610064578063c8c3a50514610614578063dd62ed3e1461063d578063e57f14e11461067a578063ea1644d5146106a3576101cc565b806398a5c3151461055a578063a9059cbb14610583578063bfd79284146105c0578063c3c8cd80146105fd576101cc565b80638da5cb5b116100d15780638da5cb5b146104b05780638f70ccf7146104db5780638f9a55c01461050457806395d89b411461052f576101cc565b8063715018a61461044557806374010ece1461045c5780637d1db4a514610485576101cc565b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f81461039f5780636fc3eaec146103c85780636fcba377146103df57806370a0823114610408576101cc565b8063313ce5671461032057806349bd5a5e1461034b5780636b99905314610376576101cc565b80631694505e116101a05780631694505e1461026257806318160ddd1461028d57806323b872dd146102b85780632fd689e3146102f5576101cc565b8062b8cf2a146101d157806306fdde03146101fa578063095ea7b314610225576101cc565b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f860048036038101906101f39190612c00565b6106cc565b005b34801561020657600080fd5b5061020f6107f8565b60405161021c9190612cd1565b60405180910390f35b34801561023157600080fd5b5061024c60048036038101906102479190612d29565b610835565b6040516102599190612d84565b60405180910390f35b34801561026e57600080fd5b50610277610853565b6040516102849190612dfe565b60405180910390f35b34801561029957600080fd5b506102a2610879565b6040516102af9190612e28565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190612e43565b61088a565b6040516102ec9190612d84565b60405180910390f35b34801561030157600080fd5b5061030a610963565b6040516103179190612e28565b60405180910390f35b34801561032c57600080fd5b50610335610969565b6040516103429190612eb2565b60405180910390f35b34801561035757600080fd5b50610360610972565b60405161036d9190612edc565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612ef7565b610998565b005b3480156103ab57600080fd5b506103c660048036038101906103c19190612f50565b610a8a565b005b3480156103d457600080fd5b506103dd610b3b565b005b3480156103eb57600080fd5b5061040660048036038101906104019190612f7d565b610bad565b005b34801561041457600080fd5b5061042f600480360381019061042a9190612ef7565b610d74565b60405161043c9190612e28565b60405180910390f35b34801561045157600080fd5b5061045a610dc5565b005b34801561046857600080fd5b50610483600480360381019061047e9190612fe4565b610f18565b005b34801561049157600080fd5b5061049a610fb9565b6040516104a79190612e28565b60405180910390f35b3480156104bc57600080fd5b506104c5610fbf565b6040516104d29190612edc565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612f50565b610fe8565b005b34801561051057600080fd5b5061051961109a565b6040516105269190612e28565b60405180910390f35b34801561053b57600080fd5b506105446110a0565b6040516105519190612cd1565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c9190612fe4565b6110dd565b005b34801561058f57600080fd5b506105aa60048036038101906105a59190612d29565b61117c565b6040516105b79190612d84565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612ef7565b61119a565b6040516105f49190612d84565b60405180910390f35b34801561060957600080fd5b506106126111ba565b005b34801561062057600080fd5b5061063b60048036038101906106369190612ef7565b611234565b005b34801561064957600080fd5b50610664600480360381019061065f9190613011565b6113f8565b6040516106719190612e28565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190612ef7565b61147f565b005b3480156106af57600080fd5b506106ca60048036038101906106c59190612fe4565b61156f565b005b6106d461160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a9061309d565b60405180910390fd5b60005b81518110156107f457600160116000848481518110610788576107876130bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107ec9061311b565b915050610766565b5050565b60606040518060400160405280600b81526020017f556e766178786564436177000000000000000000000000000000000000000000815250905090565b600061084961084261160e565b8484611616565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006108978484846117e1565b610958846108a361160e565b61095385604051806060016040528060288152602001613d1260289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061090961160e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f459092919063ffffffff16565b611616565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109a061160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a269061309d565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a9261160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b169061309d565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7c61160e565b73ffffffffffffffffffffffffffffffffffffffff1614610b9c57600080fd5b6000479050610baa81611fa9565b50565b610bb561160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c399061309d565b60405180910390fd5b600f821115610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906131d6565b60405180910390fd5b600f811115610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613268565b60405180910390fd5b6001841115610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d05906132fa565b60405180910390fd5b6001831115610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d499061338c565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b6000610dbe600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612015565b9050919050565b610dcd61160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061309d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f2061160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69061309d565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ff061160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110749061309d565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600581526020017f6e6f434157000000000000000000000000000000000000000000000000000000815250905090565b6110e561160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111699061309d565b60405180910390fd5b8060198190555050565b600061119061118961160e565b84846117e1565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fb61160e565b73ffffffffffffffffffffffffffffffffffffffff161461121b57600080fd5b600061122630610d74565b905061123181612083565b50565b61123c61160e565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c29061309d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113329061341e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61148761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b9061309d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61157761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb9061309d565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d906134b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ed90613542565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117d49190612e28565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611851576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611848906135d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b890613666565b60405180910390fd5b60008111611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb906136f8565b60405180910390fd5b61190c610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561197a575061194a610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4457601660149054906101000a900460ff166119d9576017548111156119d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cf90613764565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a7d5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab3906137f6565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b695760185481611b1e84610d74565b611b289190613816565b10611b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5f906138de565b60405180910390fd5b5b6000611b7430610d74565b9050600060195482101590506017548210611b8f5760175491505b808015611ba95750601660159054906101000a900460ff16155b8015611c035750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c19575060168054906101000a900460ff165b15611c4157611c2782612083565b60004790506000811115611c3f57611c3e47611fa9565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ceb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d9e5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d9d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dac5760009050611f33565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e575750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6f57600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f1a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3257600b54600d81905550600c54600e819055505b5b611f3f8484848461230b565b50505050565b6000838311158290611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f849190612cd1565b60405180910390fd5b5060008385611f9c91906138fe565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612011573d6000803e3d6000fd5b5050565b600060075482111561205c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612053906139a4565b60405180910390fd5b6000612066612338565b905061207b818461236390919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120bb576120ba612a5f565b5b6040519080825280602002602001820160405280156120e95781602001602082028036833780820191505090505b5090503081600081518110612101576121006130bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121a357600080fd5b505afa1580156121b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121db91906139d9565b816001815181106121ef576121ee6130bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061225630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611616565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ba959493929190613aff565b600060405180830381600087803b1580156122d457600080fd5b505af11580156122e8573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b80612319576123186123ad565b5b6123248484846123f0565b80612332576123316125bb565b5b50505050565b60008060006123456125cf565b9150915061235c818361236390919063ffffffff16565b9250505090565b60006123a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612631565b905092915050565b6000600d541480156123c157506000600e54145b156123cb576123ee565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061240287612694565b95509550955095509550955061246086600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126fc90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f585600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274690919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612541816127a4565b61254b8483612861565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125a89190612e28565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600068056bc75e2d63100000905061260568056bc75e2d6310000060075461236390919063ffffffff16565b8210156126245760075468056bc75e2d6310000093509350505061262d565b81819350935050505b9091565b60008083118290612678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266f9190612cd1565b60405180910390fd5b50600083856126879190613b88565b9050809150509392505050565b60008060008060008060008060006126b18a600d54600e5461289b565b92509250925060006126c1612338565b905060008060006126d48e878787612931565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061273e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f45565b905092915050565b60008082846127559190613816565b90508381101561279a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279190613c05565b60405180910390fd5b8091505092915050565b60006127ae612338565b905060006127c582846129ba90919063ffffffff16565b905061281981600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461274690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612876826007546126fc90919063ffffffff16565b6007819055506128918160085461274690919063ffffffff16565b6008819055505050565b6000806000806128c760646128b9888a6129ba90919063ffffffff16565b61236390919063ffffffff16565b905060006128f160646128e3888b6129ba90919063ffffffff16565b61236390919063ffffffff16565b9050600061291a8261290c858c6126fc90919063ffffffff16565b6126fc90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061294a85896129ba90919063ffffffff16565b9050600061296186896129ba90919063ffffffff16565b9050600061297887896129ba90919063ffffffff16565b905060006129a18261299385876126fc90919063ffffffff16565b6126fc90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129cd5760009050612a2f565b600082846129db9190613c25565b90508284826129ea9190613b88565b14612a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2190613cf1565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9782612a4e565b810181811067ffffffffffffffff82111715612ab657612ab5612a5f565b5b80604052505050565b6000612ac9612a35565b9050612ad58282612a8e565b919050565b600067ffffffffffffffff821115612af557612af4612a5f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b3682612b0b565b9050919050565b612b4681612b2b565b8114612b5157600080fd5b50565b600081359050612b6381612b3d565b92915050565b6000612b7c612b7784612ada565b612abf565b90508083825260208201905060208402830185811115612b9f57612b9e612b06565b5b835b81811015612bc85780612bb48882612b54565b845260208401935050602081019050612ba1565b5050509392505050565b600082601f830112612be757612be6612a49565b5b8135612bf7848260208601612b69565b91505092915050565b600060208284031215612c1657612c15612a3f565b5b600082013567ffffffffffffffff811115612c3457612c33612a44565b5b612c4084828501612bd2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c83578082015181840152602081019050612c68565b83811115612c92576000848401525b50505050565b6000612ca382612c49565b612cad8185612c54565b9350612cbd818560208601612c65565b612cc681612a4e565b840191505092915050565b60006020820190508181036000830152612ceb8184612c98565b905092915050565b6000819050919050565b612d0681612cf3565b8114612d1157600080fd5b50565b600081359050612d2381612cfd565b92915050565b60008060408385031215612d4057612d3f612a3f565b5b6000612d4e85828601612b54565b9250506020612d5f85828601612d14565b9150509250929050565b60008115159050919050565b612d7e81612d69565b82525050565b6000602082019050612d996000830184612d75565b92915050565b6000819050919050565b6000612dc4612dbf612dba84612b0b565b612d9f565b612b0b565b9050919050565b6000612dd682612da9565b9050919050565b6000612de882612dcb565b9050919050565b612df881612ddd565b82525050565b6000602082019050612e136000830184612def565b92915050565b612e2281612cf3565b82525050565b6000602082019050612e3d6000830184612e19565b92915050565b600080600060608486031215612e5c57612e5b612a3f565b5b6000612e6a86828701612b54565b9350506020612e7b86828701612b54565b9250506040612e8c86828701612d14565b9150509250925092565b600060ff82169050919050565b612eac81612e96565b82525050565b6000602082019050612ec76000830184612ea3565b92915050565b612ed681612b2b565b82525050565b6000602082019050612ef16000830184612ecd565b92915050565b600060208284031215612f0d57612f0c612a3f565b5b6000612f1b84828501612b54565b91505092915050565b612f2d81612d69565b8114612f3857600080fd5b50565b600081359050612f4a81612f24565b92915050565b600060208284031215612f6657612f65612a3f565b5b6000612f7484828501612f3b565b91505092915050565b60008060008060808587031215612f9757612f96612a3f565b5b6000612fa587828801612d14565b9450506020612fb687828801612d14565b9350506040612fc787828801612d14565b9250506060612fd887828801612d14565b91505092959194509250565b600060208284031215612ffa57612ff9612a3f565b5b600061300884828501612d14565b91505092915050565b6000806040838503121561302857613027612a3f565b5b600061303685828601612b54565b925050602061304785828601612b54565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613087602083612c54565b915061309282613051565b602082019050919050565b600060208201905081810360008301526130b68161307a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061312682612cf3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613159576131586130ec565b5b600182019050919050565b7f4d757374206b656570206275792066656573206c657373207468616e2031352560008201527f2000000000000000000000000000000000000000000000000000000000000000602082015250565b60006131c0602183612c54565b91506131cb82613164565b604082019050919050565b600060208201905081810360008301526131ef816131b3565b9050919050565b7f4d757374206b6565702073656c6c2066656573206c657373207468616e20313560008201527f2520000000000000000000000000000000000000000000000000000000000000602082015250565b6000613252602283612c54565b915061325d826131f6565b604082019050919050565b6000602082019050818103600083015261328181613245565b9050919050565b7f4d757374206b6565702064697374726f4665654f6e427579206174203125206f60008201527f72206c6573730000000000000000000000000000000000000000000000000000602082015250565b60006132e4602683612c54565b91506132ef82613288565b604082019050919050565b60006020820190508181036000830152613313816132d7565b9050919050565b7f4d757374206b6565702064697374726f4665654f6e53656c6c2061742031252060008201527f6f72206c65737300000000000000000000000000000000000000000000000000602082015250565b6000613376602783612c54565b91506133818261331a565b604082019050919050565b600060208201905081810360008301526133a581613369565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613408602683612c54565b9150613413826133ac565b604082019050919050565b60006020820190508181036000830152613437816133fb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061349a602483612c54565b91506134a58261343e565b604082019050919050565b600060208201905081810360008301526134c98161348d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061352c602283612c54565b9150613537826134d0565b604082019050919050565b6000602082019050818103600083015261355b8161351f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006135be602583612c54565b91506135c982613562565b604082019050919050565b600060208201905081810360008301526135ed816135b1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613650602383612c54565b915061365b826135f4565b604082019050919050565b6000602082019050818103600083015261367f81613643565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136e2602983612c54565b91506136ed82613686565b604082019050919050565b60006020820190508181036000830152613711816136d5565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061374e601c83612c54565b915061375982613718565b602082019050919050565b6000602082019050818103600083015261377d81613741565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006137e0602383612c54565b91506137eb82613784565b604082019050919050565b6000602082019050818103600083015261380f816137d3565b9050919050565b600061382182612cf3565b915061382c83612cf3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613861576138606130ec565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006138c8602383612c54565b91506138d38261386c565b604082019050919050565b600060208201905081810360008301526138f7816138bb565b9050919050565b600061390982612cf3565b915061391483612cf3565b925082821015613927576139266130ec565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061398e602a83612c54565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b6000815190506139d381612b3d565b92915050565b6000602082840312156139ef576139ee612a3f565b5b60006139fd848285016139c4565b91505092915050565b6000819050919050565b6000613a2b613a26613a2184613a06565b612d9f565b612cf3565b9050919050565b613a3b81613a10565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a7681612b2b565b82525050565b6000613a888383613a6d565b60208301905092915050565b6000602082019050919050565b6000613aac82613a41565b613ab68185613a4c565b9350613ac183613a5d565b8060005b83811015613af2578151613ad98882613a7c565b9750613ae483613a94565b925050600181019050613ac5565b5085935050505092915050565b600060a082019050613b146000830188612e19565b613b216020830187613a32565b8181036040830152613b338186613aa1565b9050613b426060830185612ecd565b613b4f6080830184612e19565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b9382612cf3565b9150613b9e83612cf3565b925082613bae57613bad613b59565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bef601b83612c54565b9150613bfa82613bb9565b602082019050919050565b60006020820190508181036000830152613c1e81613be2565b9050919050565b6000613c3082612cf3565b9150613c3b83612cf3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c7457613c736130ec565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cdb602183612c54565b9150613ce682613c7f565b604082019050919050565b60006020820190508181036000830152613d0a81613cce565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205056f0bf3b74ee2e39dbbd33da623f6f7f27aea54c22aabade964408d39e3f1264736f6c63430008090033

Deployed Bytecode Sourcemap

5570:13885:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14484:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8317:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9242:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6995:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8594:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9443:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7358:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8503:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7043:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14661:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19068:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14280:196;;;;;;;;;;;;;:::i;:::-;;18188:633;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8697:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1970:148;;;;;;;;;;;;;:::i;:::-;;19208:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7193:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1756:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13842:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7278:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8408:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18873:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8843:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6691:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14071:197;;;;;;;;;;;;;:::i;:::-;;3213:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9050:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13951:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19328:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14484:169;3134:12;:10;:12::i;:::-;3122:24;;:8;;;;;;;;;;;:24;;;3114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14560:9:::1;14555:91;14579:5;:12;14575:1;:16;14555:91;;;14630:4;14613;:14;14618:5;14624:1;14618:8;;;;;;;;:::i;:::-;;;;;;;;14613:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14593:3;;;;;:::i;:::-;;;;14555:91;;;;14484:169:::0;:::o;8317:83::-;8354:13;8387:5;;;;;;;;;;;;;;;;;8380:12;;8317:83;:::o;9242:193::-;9344:4;9366:39;9375:12;:10;:12::i;:::-;9389:7;9398:6;9366:8;:39::i;:::-;9423:4;9416:11;;9242:193;;;;:::o;6995:41::-;;;;;;;;;;;;;:::o;8594:95::-;8647:7;6128:20;8667:14;;8594:95;:::o;9443:446::-;9575:4;9592:36;9602:6;9610:9;9621:6;9592:9;:36::i;:::-;9639:220;9662:6;9683:12;:10;:12::i;:::-;9710:138;9766:6;9710:138;;;;;;;;;;;;;;;;;:11;:19;9722:6;9710:19;;;;;;;;;;;;;;;:33;9730:12;:10;:12::i;:::-;9710:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9639:8;:220::i;:::-;9877:4;9870:11;;9443:446;;;;;:::o;7358:53::-;;;;:::o;8503:83::-;8544:5;5802:1;8562:16;;8503:83;:::o;7043:28::-;;;;;;;;;;;;;:::o;14661:92::-;3134:12;:10;:12::i;:::-;3122:24;;:8;;;;;;;;;;;:24;;;3114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14740:5:::1;14725:4;:12;14730:6;14725:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14661:92:::0;:::o;19068:101::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19149:12:::1;19135:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;19068:101:::0;:::o;14280:196::-;14346:17;;;;;;;;;;;14330:33;;:12;:10;:12::i;:::-;:33;;;14322:42;;;;;;14375:26;14404:21;14375:50;;14436:32;14449:18;14436:12;:32::i;:::-;14311:165;14280:196::o;18188:633::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18357:2:::1;18342:11;:17;;18334:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;18432:2;18416:12;:18;;18408:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;18510:1;18492:14;:19;;18484:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18592:1;18573:15;:20;;18565:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;18668:14;18650:15;:32;;;;18712:15;18693:16;:34;;;;18763:11;18748:12;:26;;;;18801:12;18785:13;:28;;;;18188:633:::0;;;;:::o;8697:138::-;8763:7;8790:37;8810:7;:16;8818:7;8810:16;;;;;;;;;;;;;;;;8790:19;:37::i;:::-;8783:44;;8697:138;;;:::o;1970:148::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2077:1:::1;2040:40;;2061:6;::::0;::::1;;;;;;;;2040:40;;;;;;;;;;;;2108:1;2091:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1970:148::o:0;19208:108::-;3134:12;:10;:12::i;:::-;3122:24;;:8;;;;;;;;;;;:24;;;3114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;19297:11:::1;19282:12;:26;;;;19208:108:::0;:::o;7193:48::-;;;;:::o;1756:79::-;1794:7;1821:6;;;;;;;;;;;1814:13;;1756:79;:::o;13842:101::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13923:12:::1;13909:11;;:26;;;;;;;;;;;;;;;;;;13842:101:::0;:::o;7278:50::-;;;;:::o;8408:87::-;8447:13;8480:7;;;;;;;;;;;;;;;;;8473:14;;8408:87;:::o;18873:139::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18986:18:::1;18964:19;:40;;;;18873:139:::0;:::o;8843:199::-;8948:4;8970:42;8980:12;:10;:12::i;:::-;8994:9;9005:6;8970:9;:42::i;:::-;9030:4;9023:11;;8843:199;;;;:::o;6691:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;14071:197::-;14137:17;;;;;;;;;;;14121:33;;:12;:10;:12::i;:::-;:33;;;14113:42;;;;;;14166:23;14192:24;14210:4;14192:9;:24::i;:::-;14166:50;;14227:33;14244:15;14227:16;:33::i;:::-;14102:166;14071:197::o;3213:246::-;3134:12;:10;:12::i;:::-;3122:24;;:8;;;;;;;;;;;:24;;;3114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3324:1:::1;3304:22;;:8;:22;;;;3296:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3414:8;3385:38;;3406:6;::::0;::::1;;;;;;;;3385:38;;;;;;;;;;;;3443:8;3434:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3213:246:::0;:::o;9050:184::-;9167:7;9199:11;:18;9211:5;9199:18;;;;;;;;;;;;;;;:27;9218:7;9199:27;;;;;;;;;;;;;;;;9192:34;;9050:184;;;;:::o;13951:112::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14051:4:::1;14021:18;:27;14040:7;14021:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13951:112:::0;:::o;19328:115::-;1893:12;:10;:12::i;:::-;1883:22;;:6;;;;;;;;;;:22;;;1875:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19422:13:::1;19405:14;:30;;;;19328:115:::0;:::o;449:98::-;502:7;529:10;522:17;;449:98;:::o;10598:369::-;10742:1;10725:19;;:5;:19;;;;10717:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10823:1;10804:21;;:7;:21;;;;10796:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10905:6;10875:11;:18;10887:5;10875:18;;;;;;;;;;;;;;;:27;10894:7;10875:27;;;;;;;;;;;;;;;:36;;;;10943:7;10927:32;;10936:5;10927:32;;;10952:6;10927:32;;;;;;:::i;:::-;;;;;;;;10598:369;;;:::o;10975:2251::-;11113:1;11097:18;;:4;:18;;;;11089:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11190:1;11176:16;;:2;:16;;;;11168:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11260:1;11251:6;:10;11243:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11332:7;:5;:7::i;:::-;11324:15;;:4;:15;;;;:32;;;;;11349:7;:5;:7::i;:::-;11343:13;;:2;:13;;;;11324:32;11320:1140;;;11425:11;;;;;;;;;;;11420:108;;11483:12;;11473:6;:22;;11465:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11420:108;11552:4;:10;11557:4;11552:10;;;;;;;;;;;;;;;;;;;;;;;;;11551:11;:24;;;;;11567:4;:8;11572:2;11567:8;;;;;;;;;;;;;;;;;;;;;;;;;11566:9;11551:24;11543:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11653:13;;;;;;;;;;;11647:19;;:2;:19;;;11644:146;;11720:14;;11711:6;11695:13;11705:2;11695:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11687:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11644:146;11818:28;11849:24;11867:4;11849:9;:24::i;:::-;11818:55;;11888:12;11927:19;;11903:20;:43;;11888:58;;11990:12;;11966:20;:36;11963:124;;12059:12;;12036:35;;11963:124;12119:7;:18;;;;;12131:6;;;;;;;;;;;12130:7;12119:18;:43;;;;;12149:13;;;;;;;;;;;12141:21;;:4;:21;;;;12119:43;:58;;;;;12166:11;;;;;;;;;;12119:58;12115:334;;;12198:38;12215:20;12198:16;:38::i;:::-;12256:26;12285:21;12256:50;;12351:1;12330:18;:22;12326:108;;;12378:35;12391:21;12378:12;:35::i;:::-;12326:108;12179:270;12115:334;11358:1102;;11320:1140;12480:12;12495:4;12480:19;;12544:18;:24;12563:4;12544:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12572:18;:22;12591:2;12572:22;;;;;;;;;;;;;;;;;;;;;;;;;12544:50;12543:102;;;;12608:13;;;;;;;;;;;12600:21;;:4;:21;;;;:44;;;;;12631:13;;;;;;;;;;;12625:19;;:2;:19;;;;12600:44;12543:102;12539:626;;;12672:5;12662:15;;12539:626;;;12767:13;;;;;;;;;;;12759:21;;:4;:21;;;:55;;;;;12798:15;;;;;;;;;;;12784:30;;:2;:30;;;;12759:55;12756:164;;;12848:15;;12835:10;:28;;;;12892:12;;12882:7;:22;;;;12756:164;12983:13;;;;;;;;;;;12977:19;;:2;:19;;;:55;;;;;13016:15;;;;;;;;;;;13000:32;;:4;:32;;;;12977:55;12973:167;;;13066:16;;13053:10;:29;;;;13111:13;;13101:7;:23;;;;12973:167;12539:626;13177:41;13192:4;13198:2;13202:6;13210:7;13177:14;:41::i;:::-;11078:2148;10975:2251;;;:::o;3821:224::-;3941:7;3974:1;3969;:6;;3977:12;3961:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4001:9;4017:1;4013;:5;;;;:::i;:::-;4001:17;;4036:1;4029:8;;;3821:224;;;;;:::o;13732:102::-;13790:17;;;;;;;;;;;:26;;:34;13817:6;13790:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13732:102;:::o;9897:323::-;9992:7;10050;;10039;:18;;10017:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10138:19;10160:10;:8;:10::i;:::-;10138:32;;10188:24;10200:11;10188:7;:11;;:24;;;;:::i;:::-;10181:31;;;9897:323;;;:::o;13234:483::-;7522:4;7513:6;;:13;;;;;;;;;;;;;;;;;;13312:21:::1;13350:1;13336:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13312:40;;13381:4;13363;13368:1;13363:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13407:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13397:4;13402:1;13397:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13440:62;13457:4;13472:15;;;;;;;;;;;13490:11;13440:8;:62::i;:::-;13513:15;;;;;;;;;;;:66;;;13594:11;13620:1;13636:4;13663;13683:15;13513:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13301:416;7558:5:::0;7549:6;;:14;;;;;;;;;;;;;;;;;;13234:483;:::o;14761:282::-;14917:7;14912:28;;14926:14;:12;:14::i;:::-;14912:28;14951:44;14969:6;14977:9;14988:6;14951:17;:44::i;:::-;15011:7;15006:29;;15020:15;:13;:15::i;:::-;15006:29;14761:282;;;;:::o;17739:166::-;17781:7;17802:15;17819;17838:19;:17;:19::i;:::-;17801:56;;;;17877:20;17889:7;17877;:11;;:20;;;;:::i;:::-;17870:27;;;;17739:166;:::o;4307:132::-;4365:7;4392:39;4396:1;4399;4392:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4385:46;;4307:132;;;;:::o;10228:235::-;10289:1;10275:10;;:15;:31;;;;;10305:1;10294:7;;:12;10275:31;10271:44;;;10308:7;;10271:44;10352:10;;10331:18;:31;;;;10391:7;;10373:15;:25;;;;10432:1;10419:10;:14;;;;10454:1;10444:7;:11;;;;10228:235;:::o;15051:610::-;15198:15;15228:23;15266:12;15293:23;15331:12;15358:13;15385:19;15396:7;15385:10;:19::i;:::-;15183:221;;;;;;;;;;;;15433:28;15453:7;15433;:15;15441:6;15433:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15415:7;:15;15423:6;15415:15;;;;;;;;;;;;;;;:46;;;;15493:39;15516:15;15493:7;:18;15501:9;15493:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15472:7;:18;15480:9;15472:18;;;;;;;;;;;;;;;:60;;;;15543:16;15553:5;15543:9;:16::i;:::-;15570:23;15582:4;15588;15570:11;:23::i;:::-;15626:9;15609:44;;15618:6;15609:44;;;15637:15;15609:44;;;;;;:::i;:::-;;;;;;;;15172:489;;;;;;15051:610;;;:::o;10471:119::-;10528:18;;10515:10;:31;;;;10567:15;;10557:7;:25;;;;10471:119::o;17913:263::-;17964:7;17973;17993:15;18011:7;;17993:25;;18029:15;6128:20;18029:25;;18079:20;6128;18079:7;;:11;;:20;;;;:::i;:::-;18069:7;:30;18065:61;;;18109:7;;6128:20;18101:25;;;;;;;;18065:61;18151:7;18160;18143:25;;;;;;17913:263;;;:::o;4447:223::-;4567:7;4599:1;4595;:5;4602:12;4587:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4626:9;4642:1;4638;:5;;;;:::i;:::-;4626:17;;4661:1;4654:8;;;4447:223;;;;;:::o;16080:626::-;16180:7;16202;16224;16246;16268;16290;16326:23;16351:12;16365:13;16395:41;16407:7;16416:10;;16428:7;;16395:11;:41::i;:::-;16325:111;;;;;;16447:19;16469:10;:8;:10::i;:::-;16447:32;;16491:15;16508:23;16533:12;16562:46;16574:7;16583:4;16589:5;16596:11;16562;:46::i;:::-;16490:118;;;;;;16637:7;16646:15;16663:4;16669:15;16686:4;16692:5;16629:69;;;;;;;;;;;;;;;;;;;16080:626;;;;;;;:::o;3677:136::-;3735:7;3762:43;3766:1;3769;3762:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3755:50;;3677:136;;;;:::o;3490:179::-;3548:7;3568:9;3584:1;3580;:5;;;;:::i;:::-;3568:17;;3609:1;3604;:6;;3596:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3660:1;3653:8;;;3490:179;;;;:::o;15669:211::-;15722:19;15744:10;:8;:10::i;:::-;15722:32;;15765:13;15781:22;15791:11;15781:5;:9;;:22;;;;:::i;:::-;15765:38;;15839:33;15866:5;15839:7;:22;15855:4;15839:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15814:7;:22;15830:4;15814:22;;;;;;;;;;;;;;;:58;;;;15711:169;;15669:211;:::o;15888:147::-;15966:17;15978:4;15966:7;;:11;;:17;;;;:::i;:::-;15956:7;:27;;;;16007:20;16022:4;16007:10;;:14;;:20;;;;:::i;:::-;15994:10;:33;;;;15888:147;;:::o;16714:473::-;16884:7;16906;16928;16963:12;16978:31;17005:3;16978:22;16990:9;16978:7;:11;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;16963:46;;17020:13;17036:28;17060:3;17036:19;17048:6;17036:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17020:44;;17075:23;17101:28;17123:5;17101:17;17113:4;17101:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17075:54;;17150:15;17167:4;17173:5;17142:37;;;;;;;;;16714:473;;;;;;;:::o;17195:536::-;17389:7;17411;17433;17468:15;17486:24;17498:11;17486:7;:11;;:24;;;;:::i;:::-;17468:42;;17521:12;17536:21;17545:11;17536:4;:8;;:21;;;;:::i;:::-;17521:36;;17568:13;17584:22;17594:11;17584:5;:9;;:22;;;;:::i;:::-;17568:38;;17617:23;17643:28;17665:5;17643:17;17655:4;17643:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17617:54;;17692:7;17701:15;17718:4;17684:39;;;;;;;;;;17195:536;;;;;;;;:::o;4053:246::-;4111:7;4140:1;4135;:6;4131:47;;;4165:1;4158:8;;;;4131:47;4188:9;4204:1;4200;:5;;;;:::i;:::-;4188:17;;4233:1;4228;4224;:5;;;;:::i;:::-;:10;4216:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4290:1;4283:8;;;4053:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334: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:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:329::-;9127:6;9176:2;9164:9;9155:7;9151:23;9147:32;9144:119;;;9182:79;;:::i;:::-;9144:119;9302:1;9327:53;9372:7;9363:6;9352:9;9348:22;9327:53;:::i;:::-;9317:63;;9273:117;9068:329;;;;:::o;9403:116::-;9473:21;9488:5;9473:21;:::i;:::-;9466:5;9463:32;9453:60;;9509:1;9506;9499:12;9453:60;9403:116;:::o;9525:133::-;9568:5;9606:6;9593:20;9584:29;;9622:30;9646:5;9622:30;:::i;:::-;9525:133;;;;:::o;9664:323::-;9720:6;9769:2;9757:9;9748:7;9744:23;9740:32;9737:119;;;9775:79;;:::i;:::-;9737:119;9895:1;9920:50;9962:7;9953:6;9942:9;9938:22;9920:50;:::i;:::-;9910:60;;9866:114;9664:323;;;;:::o;9993:765::-;10079:6;10087;10095;10103;10152:3;10140:9;10131:7;10127:23;10123:33;10120:120;;;10159:79;;:::i;:::-;10120:120;10279:1;10304:53;10349:7;10340:6;10329:9;10325:22;10304:53;:::i;:::-;10294:63;;10250:117;10406:2;10432:53;10477:7;10468:6;10457:9;10453:22;10432:53;:::i;:::-;10422:63;;10377:118;10534:2;10560:53;10605:7;10596:6;10585:9;10581:22;10560:53;:::i;:::-;10550:63;;10505:118;10662:2;10688:53;10733:7;10724:6;10713:9;10709:22;10688:53;:::i;:::-;10678:63;;10633:118;9993:765;;;;;;;:::o;10764:329::-;10823:6;10872:2;10860:9;10851:7;10847:23;10843:32;10840:119;;;10878:79;;:::i;:::-;10840:119;10998:1;11023:53;11068:7;11059:6;11048:9;11044:22;11023:53;:::i;:::-;11013:63;;10969:117;10764:329;;;;:::o;11099:474::-;11167:6;11175;11224:2;11212:9;11203:7;11199:23;11195:32;11192:119;;;11230:79;;:::i;:::-;11192:119;11350:1;11375:53;11420:7;11411:6;11400:9;11396:22;11375:53;:::i;:::-;11365:63;;11321:117;11477:2;11503:53;11548:7;11539:6;11528:9;11524:22;11503:53;:::i;:::-;11493:63;;11448:118;11099:474;;;;;:::o;11579:182::-;11719:34;11715:1;11707:6;11703:14;11696:58;11579:182;:::o;11767:366::-;11909:3;11930:67;11994:2;11989:3;11930:67;:::i;:::-;11923:74;;12006:93;12095:3;12006:93;:::i;:::-;12124:2;12119:3;12115:12;12108:19;;11767:366;;;:::o;12139:419::-;12305:4;12343:2;12332:9;12328:18;12320:26;;12392:9;12386:4;12382:20;12378:1;12367:9;12363:17;12356:47;12420:131;12546:4;12420:131;:::i;:::-;12412:139;;12139:419;;;:::o;12564:180::-;12612:77;12609:1;12602:88;12709:4;12706:1;12699:15;12733:4;12730:1;12723:15;12750:180;12798:77;12795:1;12788:88;12895:4;12892:1;12885:15;12919:4;12916:1;12909:15;12936:233;12975:3;12998:24;13016:5;12998:24;:::i;:::-;12989:33;;13044:66;13037:5;13034:77;13031:103;;;13114:18;;:::i;:::-;13031:103;13161:1;13154:5;13150:13;13143:20;;12936:233;;;:::o;13175:220::-;13315:34;13311:1;13303:6;13299:14;13292:58;13384:3;13379:2;13371:6;13367:15;13360:28;13175:220;:::o;13401:366::-;13543:3;13564:67;13628:2;13623:3;13564:67;:::i;:::-;13557:74;;13640:93;13729:3;13640:93;:::i;:::-;13758:2;13753:3;13749:12;13742:19;;13401:366;;;:::o;13773:419::-;13939:4;13977:2;13966:9;13962:18;13954:26;;14026:9;14020:4;14016:20;14012:1;14001:9;13997:17;13990:47;14054:131;14180:4;14054:131;:::i;:::-;14046:139;;13773:419;;;:::o;14198:221::-;14338:34;14334:1;14326:6;14322:14;14315:58;14407:4;14402:2;14394:6;14390:15;14383:29;14198:221;:::o;14425:366::-;14567:3;14588:67;14652:2;14647:3;14588:67;:::i;:::-;14581:74;;14664:93;14753:3;14664:93;:::i;:::-;14782:2;14777:3;14773:12;14766:19;;14425:366;;;:::o;14797:419::-;14963:4;15001:2;14990:9;14986:18;14978:26;;15050:9;15044:4;15040:20;15036:1;15025:9;15021:17;15014:47;15078:131;15204:4;15078:131;:::i;:::-;15070:139;;14797:419;;;:::o;15222:225::-;15362:34;15358:1;15350:6;15346:14;15339:58;15431:8;15426:2;15418:6;15414:15;15407:33;15222:225;:::o;15453:366::-;15595:3;15616:67;15680:2;15675:3;15616:67;:::i;:::-;15609:74;;15692:93;15781:3;15692:93;:::i;:::-;15810:2;15805:3;15801:12;15794:19;;15453:366;;;:::o;15825:419::-;15991:4;16029:2;16018:9;16014:18;16006:26;;16078:9;16072:4;16068:20;16064:1;16053:9;16049:17;16042:47;16106:131;16232:4;16106:131;:::i;:::-;16098:139;;15825:419;;;:::o;16250:226::-;16390:34;16386:1;16378:6;16374:14;16367:58;16459:9;16454:2;16446:6;16442:15;16435:34;16250:226;:::o;16482:366::-;16624:3;16645:67;16709:2;16704:3;16645:67;:::i;:::-;16638:74;;16721:93;16810:3;16721:93;:::i;:::-;16839:2;16834:3;16830:12;16823:19;;16482:366;;;:::o;16854:419::-;17020:4;17058:2;17047:9;17043:18;17035:26;;17107:9;17101:4;17097:20;17093:1;17082:9;17078:17;17071:47;17135:131;17261:4;17135:131;:::i;:::-;17127:139;;16854:419;;;:::o;17279:225::-;17419:34;17415:1;17407:6;17403:14;17396:58;17488:8;17483:2;17475:6;17471:15;17464:33;17279:225;:::o;17510:366::-;17652:3;17673:67;17737:2;17732:3;17673:67;:::i;:::-;17666:74;;17749:93;17838:3;17749:93;:::i;:::-;17867:2;17862:3;17858:12;17851:19;;17510:366;;;:::o;17882:419::-;18048:4;18086:2;18075:9;18071:18;18063:26;;18135:9;18129:4;18125:20;18121:1;18110:9;18106:17;18099:47;18163:131;18289:4;18163:131;:::i;:::-;18155:139;;17882:419;;;:::o;18307:223::-;18447:34;18443:1;18435:6;18431:14;18424:58;18516:6;18511:2;18503:6;18499:15;18492:31;18307:223;:::o;18536:366::-;18678:3;18699:67;18763:2;18758:3;18699:67;:::i;:::-;18692:74;;18775:93;18864:3;18775:93;:::i;:::-;18893:2;18888:3;18884:12;18877:19;;18536:366;;;:::o;18908:419::-;19074:4;19112:2;19101:9;19097:18;19089:26;;19161:9;19155:4;19151:20;19147:1;19136:9;19132:17;19125:47;19189:131;19315:4;19189:131;:::i;:::-;19181:139;;18908:419;;;:::o;19333:221::-;19473:34;19469:1;19461:6;19457:14;19450:58;19542:4;19537:2;19529:6;19525:15;19518:29;19333:221;:::o;19560:366::-;19702:3;19723:67;19787:2;19782:3;19723:67;:::i;:::-;19716:74;;19799:93;19888:3;19799:93;:::i;:::-;19917:2;19912:3;19908:12;19901:19;;19560:366;;;:::o;19932:419::-;20098:4;20136:2;20125:9;20121:18;20113:26;;20185:9;20179:4;20175:20;20171:1;20160:9;20156:17;20149:47;20213:131;20339:4;20213:131;:::i;:::-;20205:139;;19932:419;;;:::o;20357:224::-;20497:34;20493:1;20485:6;20481:14;20474:58;20566:7;20561:2;20553:6;20549:15;20542:32;20357:224;:::o;20587:366::-;20729:3;20750:67;20814:2;20809:3;20750:67;:::i;:::-;20743:74;;20826:93;20915:3;20826:93;:::i;:::-;20944:2;20939:3;20935:12;20928:19;;20587:366;;;:::o;20959:419::-;21125:4;21163:2;21152:9;21148:18;21140:26;;21212:9;21206:4;21202:20;21198:1;21187:9;21183:17;21176:47;21240:131;21366:4;21240:131;:::i;:::-;21232:139;;20959:419;;;:::o;21384:222::-;21524:34;21520:1;21512:6;21508:14;21501:58;21593:5;21588:2;21580:6;21576:15;21569:30;21384:222;:::o;21612:366::-;21754:3;21775:67;21839:2;21834:3;21775:67;:::i;:::-;21768:74;;21851:93;21940:3;21851:93;:::i;:::-;21969:2;21964:3;21960:12;21953:19;;21612:366;;;:::o;21984:419::-;22150:4;22188:2;22177:9;22173:18;22165:26;;22237:9;22231:4;22227:20;22223:1;22212:9;22208:17;22201:47;22265:131;22391:4;22265:131;:::i;:::-;22257:139;;21984:419;;;:::o;22409:228::-;22549:34;22545:1;22537:6;22533:14;22526:58;22618:11;22613:2;22605:6;22601:15;22594:36;22409:228;:::o;22643:366::-;22785:3;22806:67;22870:2;22865:3;22806:67;:::i;:::-;22799:74;;22882:93;22971:3;22882:93;:::i;:::-;23000:2;22995:3;22991:12;22984:19;;22643:366;;;:::o;23015:419::-;23181:4;23219:2;23208:9;23204:18;23196:26;;23268:9;23262:4;23258:20;23254:1;23243:9;23239:17;23232:47;23296:131;23422:4;23296:131;:::i;:::-;23288:139;;23015:419;;;:::o;23440:178::-;23580:30;23576:1;23568:6;23564:14;23557:54;23440:178;:::o;23624:366::-;23766:3;23787:67;23851:2;23846:3;23787:67;:::i;:::-;23780:74;;23863:93;23952:3;23863:93;:::i;:::-;23981:2;23976:3;23972:12;23965:19;;23624:366;;;:::o;23996:419::-;24162:4;24200:2;24189:9;24185:18;24177:26;;24249:9;24243:4;24239:20;24235:1;24224:9;24220:17;24213:47;24277:131;24403:4;24277:131;:::i;:::-;24269:139;;23996:419;;;:::o;24421:222::-;24561:34;24557:1;24549:6;24545:14;24538:58;24630:5;24625:2;24617:6;24613:15;24606:30;24421:222;:::o;24649:366::-;24791:3;24812:67;24876:2;24871:3;24812:67;:::i;:::-;24805:74;;24888:93;24977:3;24888:93;:::i;:::-;25006:2;25001:3;24997:12;24990:19;;24649:366;;;:::o;25021:419::-;25187:4;25225:2;25214:9;25210:18;25202:26;;25274:9;25268:4;25264:20;25260:1;25249:9;25245:17;25238:47;25302:131;25428:4;25302:131;:::i;:::-;25294:139;;25021:419;;;:::o;25446:305::-;25486:3;25505:20;25523:1;25505:20;:::i;:::-;25500:25;;25539:20;25557:1;25539:20;:::i;:::-;25534:25;;25693:1;25625:66;25621:74;25618:1;25615:81;25612:107;;;25699:18;;:::i;:::-;25612:107;25743:1;25740;25736:9;25729:16;;25446:305;;;;:::o;25757:222::-;25897:34;25893:1;25885:6;25881:14;25874:58;25966:5;25961:2;25953:6;25949:15;25942:30;25757:222;:::o;25985:366::-;26127:3;26148:67;26212:2;26207:3;26148:67;:::i;:::-;26141:74;;26224:93;26313:3;26224:93;:::i;:::-;26342:2;26337:3;26333:12;26326:19;;25985:366;;;:::o;26357:419::-;26523:4;26561:2;26550:9;26546:18;26538:26;;26610:9;26604:4;26600:20;26596:1;26585:9;26581:17;26574:47;26638:131;26764:4;26638:131;:::i;:::-;26630:139;;26357:419;;;:::o;26782:191::-;26822:4;26842:20;26860:1;26842:20;:::i;:::-;26837:25;;26876:20;26894:1;26876:20;:::i;:::-;26871:25;;26915:1;26912;26909:8;26906:34;;;26920:18;;:::i;:::-;26906:34;26965:1;26962;26958:9;26950:17;;26782:191;;;;:::o;26979:229::-;27119:34;27115:1;27107:6;27103:14;27096:58;27188:12;27183:2;27175:6;27171:15;27164:37;26979:229;:::o;27214:366::-;27356:3;27377:67;27441:2;27436:3;27377:67;:::i;:::-;27370:74;;27453:93;27542:3;27453:93;:::i;:::-;27571:2;27566:3;27562:12;27555:19;;27214:366;;;:::o;27586:419::-;27752:4;27790:2;27779:9;27775:18;27767:26;;27839:9;27833:4;27829:20;27825:1;27814:9;27810:17;27803:47;27867:131;27993:4;27867:131;:::i;:::-;27859:139;;27586:419;;;:::o;28011:143::-;28068:5;28099:6;28093:13;28084:22;;28115:33;28142:5;28115:33;:::i;:::-;28011:143;;;;:::o;28160:351::-;28230:6;28279:2;28267:9;28258:7;28254:23;28250:32;28247:119;;;28285:79;;:::i;:::-;28247:119;28405:1;28430:64;28486:7;28477:6;28466:9;28462:22;28430:64;:::i;:::-;28420:74;;28376:128;28160:351;;;;:::o;28517:85::-;28562:7;28591:5;28580:16;;28517:85;;;:::o;28608:158::-;28666:9;28699:61;28717:42;28726:32;28752:5;28726:32;:::i;:::-;28717:42;:::i;:::-;28699:61;:::i;:::-;28686:74;;28608:158;;;:::o;28772:147::-;28867:45;28906:5;28867:45;:::i;:::-;28862:3;28855:58;28772:147;;:::o;28925:114::-;28992:6;29026:5;29020:12;29010:22;;28925:114;;;:::o;29045:184::-;29144:11;29178:6;29173:3;29166:19;29218:4;29213:3;29209:14;29194:29;;29045:184;;;;:::o;29235:132::-;29302:4;29325:3;29317:11;;29355:4;29350:3;29346:14;29338:22;;29235:132;;;:::o;29373:108::-;29450:24;29468:5;29450:24;:::i;:::-;29445:3;29438:37;29373:108;;:::o;29487:179::-;29556:10;29577:46;29619:3;29611:6;29577:46;:::i;:::-;29655:4;29650:3;29646:14;29632:28;;29487:179;;;;:::o;29672:113::-;29742:4;29774;29769:3;29765:14;29757:22;;29672:113;;;:::o;29821:732::-;29940:3;29969:54;30017:5;29969:54;:::i;:::-;30039:86;30118:6;30113:3;30039:86;:::i;:::-;30032:93;;30149:56;30199:5;30149:56;:::i;:::-;30228:7;30259:1;30244:284;30269:6;30266:1;30263:13;30244:284;;;30345:6;30339:13;30372:63;30431:3;30416:13;30372:63;:::i;:::-;30365:70;;30458:60;30511:6;30458:60;:::i;:::-;30448:70;;30304:224;30291:1;30288;30284:9;30279:14;;30244:284;;;30248:14;30544:3;30537:10;;29945:608;;;29821:732;;;;:::o;30559:831::-;30822:4;30860:3;30849:9;30845:19;30837:27;;30874:71;30942:1;30931:9;30927:17;30918:6;30874:71;:::i;:::-;30955:80;31031:2;31020:9;31016:18;31007:6;30955:80;:::i;:::-;31082:9;31076:4;31072:20;31067:2;31056:9;31052:18;31045:48;31110:108;31213:4;31204:6;31110:108;:::i;:::-;31102:116;;31228:72;31296:2;31285:9;31281:18;31272:6;31228:72;:::i;:::-;31310:73;31378:3;31367:9;31363:19;31354:6;31310:73;:::i;:::-;30559:831;;;;;;;;:::o;31396:180::-;31444:77;31441:1;31434:88;31541:4;31538:1;31531:15;31565:4;31562:1;31555:15;31582:185;31622:1;31639:20;31657:1;31639:20;:::i;:::-;31634:25;;31673:20;31691:1;31673:20;:::i;:::-;31668:25;;31712:1;31702:35;;31717:18;;:::i;:::-;31702:35;31759:1;31756;31752:9;31747:14;;31582:185;;;;:::o;31773:177::-;31913:29;31909:1;31901:6;31897:14;31890:53;31773:177;:::o;31956:366::-;32098:3;32119:67;32183:2;32178:3;32119:67;:::i;:::-;32112:74;;32195:93;32284:3;32195:93;:::i;:::-;32313:2;32308:3;32304:12;32297:19;;31956:366;;;:::o;32328:419::-;32494:4;32532:2;32521:9;32517:18;32509:26;;32581:9;32575:4;32571:20;32567:1;32556:9;32552:17;32545:47;32609:131;32735:4;32609:131;:::i;:::-;32601:139;;32328:419;;;:::o;32753:348::-;32793:7;32816:20;32834:1;32816:20;:::i;:::-;32811:25;;32850:20;32868:1;32850:20;:::i;:::-;32845:25;;33038:1;32970:66;32966:74;32963:1;32960:81;32955:1;32948:9;32941:17;32937:105;32934:131;;;33045:18;;:::i;:::-;32934:131;33093:1;33090;33086:9;33075:20;;32753:348;;;;:::o;33107:220::-;33247:34;33243:1;33235:6;33231:14;33224:58;33316:3;33311:2;33303:6;33299:15;33292:28;33107:220;:::o;33333:366::-;33475:3;33496:67;33560:2;33555:3;33496:67;:::i;:::-;33489:74;;33572:93;33661:3;33572:93;:::i;:::-;33690:2;33685:3;33681:12;33674:19;;33333:366;;;:::o;33705:419::-;33871:4;33909:2;33898:9;33894:18;33886:26;;33958:9;33952:4;33948:20;33944:1;33933:9;33929:17;33922:47;33986:131;34112:4;33986:131;:::i;:::-;33978:139;;33705:419;;;:::o

Swarm Source

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