ETH Price: $2,543.05 (+0.37%)
Gas: 2.01 Gwei

Token

Binance Pepe (bPEPE)
 

Overview

Max Total Supply

10,000,000 bPEPE

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
160,000 bPEPE

Value
$0.00
0x7efE83E51607EEa50231284Cc0A44D1A20AA30f0
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:
Token

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-10
*/

/*
                                                                                                                               
Telegram Portal : https://t.me/binancepepe_eth1
Twitter : https://twitter.com/Binancepepe_eth
Website : https://binance-pepe.vip/

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.10;

abstract contract Context {

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}

abstract contract Ownable is Context {

    address private _owner;

    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 isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

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

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

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Token is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    
    string private _name = "Binance Pepe";
    string private _symbol = "bPEPE";
    uint8 private _decimals = 8;

    address marketingWallet = 0x50be03F01c62c49a95016A1911127065C22b9852;

    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public constant zeroAddress = 0x0000000000000000000000000000000000000000;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 totalBuy = 20;
    uint256 totalSell = 35;

    uint256 constant denominator = 100;

    uint256 private _totalSupply = 10_000_000 * 10 ** _decimals;   

    uint256 public minimumTokensBeforeSwap = 2000 * 10 ** _decimals;

    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(denominator);     //2%
    uint256 public _walletMax = _totalSupply.mul(2).div(denominator);    //2%

    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;
    bool public ActiveTrade = false;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

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

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        address dev = msg.sender;            
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[dev] = true;

        isWalletLimitExempt[dev] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[dev] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[dev] = _totalSupply;
        emit Transfer(address(0), dev, _totalSupply);
    }

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

    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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20:from zero");
        require(recipient != address(0), "ERC20:to zero");
        require(amount > 0, "Invalid Amount");

        if(!ActiveTrade){
            require(isExcludedFromFee[sender] || isExcludedFromFee[recipient],"Trading is Paused!");
        }

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {  
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount,"Max Tx");
            } 

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet");
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 contractBalance) private lockTheSwap {
        
        if(contractBalance == 0) return;

        uint totalShares = totalBuy.add(totalSell);
        if(totalShares == 0) return;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0) {
            (bool os,) = payable(marketingWallet).call{value: amountReceived}("");  
            if(os) {}
        }
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;
        
        unchecked {

            if(isMarketPair[sender]) {

                feeAmount = amount.mul(totalBuy).div(denominator);
            
            }
            else if(isMarketPair[recipient]) {
                
                feeAmount = amount.mul(totalSell).div(denominator);
                
            }     

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyOwner { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
        adr.transfer(recipient,amount);
    }

    function enableTrading(bool _status) external onlyOwner {
        ActiveTrade = _status;
    }

    function removeLimits() external onlyOwner {
        checkWalletLimit = false;
        EnableTxLimit = false;
    }

    function enableLimits() external onlyOwner {
        checkWalletLimit = true;
        EnableTxLimit = true;   
    }

    function setFee(uint _buyside, uint _sellside) external onlyOwner {        
        totalBuy = _buyside;
        totalSell = _sellside;
    }

    function setMarketingWallets(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet;
    }

    function setExcludeFromFee(address _adr,bool _status) external onlyOwner {
        require(isExcludedFromFee[_adr] != _status,"Not Changed!!");
        isExcludedFromFee[_adr] = _status;
    }

    function ExcludeWalletLimit(address _adr,bool _status) external onlyOwner {
        require(isWalletLimitExempt[_adr] != _status,"Not Changed!!");
        isWalletLimitExempt[_adr] = _status;
    }

    function ExcludeTxLimit(address _adr,bool _status) external onlyOwner {
        require(isTxLimitExempt[_adr] != _status,"Not Changed!!");
        isTxLimitExempt[_adr] = _status;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) external onlyOwner() {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
        if(_status) {
            isWalletLimitExempt[address(_pair)] = true;
        }
    }

}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"ActiveTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renouncedOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyside","type":"uint256"},{"internalType":"uint256","name":"_sellside","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600c81526020017f42696e616e636520506570650000000000000000000000000000000000000000815250600190816200004a919062000d30565b506040518060400160405280600581526020017f62504550450000000000000000000000000000000000000000000000000000008152506002908162000091919062000d30565b506008600360006101000a81548160ff021916908360ff1602179055507350be03f01c62c49a95016a1911127065c22b9852600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600a556023600b55600360009054906101000a900460ff16600a6200012b919062000fa7565b629896806200013b919062000ff8565b600c55600360009054906101000a900460ff16600a6200015c919062000fa7565b6107d06200016b919062000ff8565b600d55620001a56064620001916002600c546200097160201b6200231f1790919060201c565b620009f460201b620023991790919060201c565b600e55620001df6064620001cb6002600c546200097160201b6200231f1790919060201c565b620009f460201b620023991790919060201c565b600f556001601060006101000a81548160ff0219169083151502179055506001601060016101000a81548160ff0219169083151502179055506000601060026101000a81548160ff0219169083151502179055506001601160156101000a81548160ff0219169083151502179055503480156200025b57600080fd5b5060006200026e62000a4660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c9190620010ad565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042a9190620010ad565b6040518363ffffffff1660e01b815260040162000449929190620010f0565b6020604051808303816000875af115801562000469573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048f9190620010ad565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c54600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200096191906200112e565b60405180910390a35050620012fd565b6000808303620009855760009050620009ee565b6000828462000995919062000ff8565b9050828482620009a691906200117a565b14620009e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009e09062001239565b60405180910390fd5b809150505b92915050565b600062000a3e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a4e60201b60201c565b905092915050565b600033905090565b6000808311829062000a98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a8f9190620012d9565b60405180910390fd5b506000838562000aa991906200117a565b9050809150509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b3857607f821691505b60208210810362000b4e5762000b4d62000af0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bb87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b79565b62000bc4868362000b79565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c1162000c0b62000c058462000bdc565b62000be6565b62000bdc565b9050919050565b6000819050919050565b62000c2d8362000bf0565b62000c4562000c3c8262000c18565b84845462000b86565b825550505050565b600090565b62000c5c62000c4d565b62000c6981848462000c22565b505050565b5b8181101562000c915762000c8560008262000c52565b60018101905062000c6f565b5050565b601f82111562000ce05762000caa8162000b54565b62000cb58462000b69565b8101602085101562000cc5578190505b62000cdd62000cd48562000b69565b83018262000c6e565b50505b505050565b600082821c905092915050565b600062000d056000198460080262000ce5565b1980831691505092915050565b600062000d20838362000cf2565b9150826002028217905092915050565b62000d3b8262000ab6565b67ffffffffffffffff81111562000d575762000d5662000ac1565b5b62000d63825462000b1f565b62000d7082828562000c95565b600060209050601f83116001811462000da8576000841562000d93578287015190505b62000d9f858262000d12565b86555062000e0f565b601f19841662000db88662000b54565b60005b8281101562000de25784890151825560018201915060208501945060208101905062000dbb565b8683101562000e02578489015162000dfe601f89168262000cf2565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ea55780860481111562000e7d5762000e7c62000e17565b5b600185161562000e8d5780820291505b808102905062000e9d8562000e46565b945062000e5d565b94509492505050565b60008262000ec0576001905062000f93565b8162000ed0576000905062000f93565b816001811462000ee9576002811462000ef45762000f2a565b600191505062000f93565b60ff84111562000f095762000f0862000e17565b5b8360020a91508482111562000f235762000f2262000e17565b5b5062000f93565b5060208310610133831016604e8410600b841016171562000f645782820a90508381111562000f5e5762000f5d62000e17565b5b62000f93565b62000f73848484600162000e53565b9250905081840481111562000f8d5762000f8c62000e17565b5b81810290505b9392505050565b600060ff82169050919050565b600062000fb48262000bdc565b915062000fc18362000f9a565b925062000ff07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000eae565b905092915050565b6000620010058262000bdc565b9150620010128362000bdc565b9250828202620010228162000bdc565b915082820484148315176200103c576200103b62000e17565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620010758262001048565b9050919050565b620010878162001068565b81146200109357600080fd5b50565b600081519050620010a7816200107c565b92915050565b600060208284031215620010c657620010c562001043565b5b6000620010d68482850162001096565b91505092915050565b620010ea8162001068565b82525050565b6000604082019050620011076000830185620010df565b620011166020830184620010df565b9392505050565b620011288162000bdc565b82525050565b60006020820190506200114560008301846200111d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011878262000bdc565b9150620011948362000bdc565b925082620011a757620011a66200114b565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062001221602183620011b2565b91506200122e82620011c3565b604082019050919050565b60006020820190508181036000830152620012548162001212565b9050919050565b60005b838110156200127b5780820151818401526020810190506200125e565b60008484015250505050565b6000601f19601f8301169050919050565b6000620012a58262000ab6565b620012b18185620011b2565b9350620012c38185602086016200125b565b620012ce8162001287565b840191505092915050565b60006020820190508181036000830152620012f5818462001298565b905092915050565b614771806200130d6000396000f3fe6080604052600436106102815760003560e01c8063728d41c91161014f578063c0b4d199116100c1578063d2d7ad831161007a578063d2d7ad83146109a7578063dd62ed3e146109d2578063e6b2603b14610a0f578063f275f64b14610a26578063f2fde38b14610a4f578063f872858a14610a7857610288565b8063c0b4d1991461089b578063c16dd4a4146108c4578063c49b9a80146108ed578063c816841b14610916578063c867d60b14610941578063cea9d26f1461097e57610288565b80638da5cb5b116101135780638da5cb5b146107775780638f32d59b146107a257806395d89b41146107cd578063a457c2d7146107f8578063a9059cbb14610835578063af9549e01461087257610288565b8063728d41c9146106a4578063751039fc146106cd5780637d1db4a5146106e4578063807c2d9c1461070f5780638b42507f1461073a57610288565b80633187c304116101f357806352f7c988116101ac57806352f7c988146105965780635342acb4146105bf5780635c85974f146105fc5780635e42358c146106255780636902ca611461065057806370a082311461066757610288565b80633187c3041461047457806338ec0b111461049f57806339509351146104c85780633b97084a146105055780633ecad2711461052e5780634a74bb021461056b57610288565b806318160ddd1161024557806318160ddd1461037457806320365d5f1461039f57806323b872dd146103b657806327c8f835146103f35780632b112e491461041e578063313ce5671461044957610288565b806306fdde031461028d5780630930907b146102b8578063095ea7b3146102e357806313ea1d89146103205780631694505e1461034957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aa3565b6040516102af9190613774565b60405180910390f35b3480156102c457600080fd5b506102cd610b35565b6040516102da91906137d7565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190613859565b610b3a565b60405161031791906138b4565b60405180910390f35b34801561032c57600080fd5b50610347600480360381019061034291906138fb565b610b58565b005b34801561035557600080fd5b5061035e610cda565b60405161036b919061399a565b60405180910390f35b34801561038057600080fd5b50610389610d00565b60405161039691906139c4565b60405180910390f35b3480156103ab57600080fd5b506103b4610d0a565b005b3480156103c257600080fd5b506103dd60048036038101906103d891906139df565b610e5f565b6040516103ea91906138b4565b60405180910390f35b3480156103ff57600080fd5b50610408610f39565b60405161041591906137d7565b60405180910390f35b34801561042a57600080fd5b50610433610f3f565b60405161044091906139c4565b60405180910390f35b34801561045557600080fd5b5061045e610f80565b60405161046b9190613a4e565b60405180910390f35b34801561048057600080fd5b50610489610f97565b60405161049691906138b4565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c191906138fb565b610faa565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190613859565b61112c565b6040516104fc91906138b4565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190613a69565b6111df565b005b34801561053a57600080fd5b5061055560048036038101906105509190613a96565b61127e565b60405161056291906138b4565b60405180910390f35b34801561057757600080fd5b5061058061129e565b60405161058d91906138b4565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613ac3565b6112b1565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613a96565b611358565b6040516105f391906138b4565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613a69565b611378565b005b34801561063157600080fd5b5061063a611417565b60405161064791906138b4565b60405180910390f35b34801561065c57600080fd5b5061066561142a565b005b34801561067357600080fd5b5061068e60048036038101906106899190613a96565b6114f7565b60405161069b91906139c4565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190613a69565b611540565b005b3480156106d957600080fd5b506106e26115df565b005b3480156106f057600080fd5b506106f96116ac565b60405161070691906139c4565b60405180910390f35b34801561071b57600080fd5b506107246116b2565b60405161073191906139c4565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190613a96565b6116b8565b60405161076e91906138b4565b60405180910390f35b34801561078357600080fd5b5061078c6116d8565b60405161079991906137d7565b60405180910390f35b3480156107ae57600080fd5b506107b7611701565b6040516107c491906138b4565b60405180910390f35b3480156107d957600080fd5b506107e2611758565b6040516107ef9190613774565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190613859565b6117ea565b60405161082c91906138b4565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190613859565b6118b7565b60405161086991906138b4565b60405180910390f35b34801561087e57600080fd5b50610899600480360381019061089491906138fb565b6118d6565b005b3480156108a757600080fd5b506108c260048036038101906108bd9190613a96565b611a58565b005b3480156108d057600080fd5b506108eb60048036038101906108e691906138fb565b611b31565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613b03565b611c80565b005b34801561092257600080fd5b5061092b611d69565b60405161093891906137d7565b60405180910390f35b34801561094d57600080fd5b5061096860048036038101906109639190613a96565b611d8f565b60405161097591906138b4565b60405180910390f35b34801561098a57600080fd5b506109a560048036038101906109a09190613b6e565b611daf565b005b3480156109b357600080fd5b506109bc611ec8565b6040516109c991906139c4565b60405180910390f35b3480156109de57600080fd5b506109f960048036038101906109f49190613bc1565b611ece565b604051610a0691906139c4565b60405180910390f35b348015610a1b57600080fd5b50610a24611f55565b005b348015610a3257600080fd5b50610a4d6004803603810190610a489190613b03565b612099565b005b348015610a5b57600080fd5b50610a766004803603810190610a719190613a96565b61214b565b005b348015610a8457600080fd5b50610a8d61230c565b604051610a9a91906138b4565b60405180910390f35b606060018054610ab290613c30565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90613c30565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b5050505050905090565b600081565b6000610b4e610b476123e3565b84846123eb565b6001905092915050565b610b606123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613cad565b60405180910390fd5b801515600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690613d19565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b610d126123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9690613cad565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e6c8484846125b4565b50610f2e84610e796123e3565b610f29856040518060600160405280602881526020016146ef60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610edf6123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b6123eb565b600190509392505050565b61dead81565b6000610f7b610f4e60006114f7565b610f6d610f5c61dead6114f7565b600c54612ccf90919063ffffffff16565b612ccf90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b601060029054906101000a900460ff1681565b610fb26123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103690613cad565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890613d19565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006111d56111396123e3565b846111d0856005600061114a6123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b6123eb565b6001905092915050565b6111e76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126b90613cad565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b601160159054906101000a900460ff1681565b6112b96123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d90613cad565b60405180910390fd5b81600a8190555080600b819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6113806123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490613cad565b60405180910390fd5b80600e8190555050565b601060009054906101000a900460ff1681565b6114326123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b690613cad565b60405180910390fd5b6001601060016101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115486123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90613cad565b60405180910390fd5b80600f8190555050565b6115e76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90613cad565b60405180910390fd5b6000601060016101000a81548160ff0219169083151502179055506000601060006101000a81548160ff021916908315150217905550565b600e5481565b600f5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60606002805461176790613c30565b80601f016020809104026020016040519081016040528092919081815260200182805461179390613c30565b80156117e05780601f106117b5576101008083540402835291602001916117e0565b820191906000526020600020905b8154815290600101906020018083116117c357829003601f168201915b5050505050905090565b60006118ad6117f76123e3565b846118a88560405180606001604052806025815260200161471760259139600560006118216123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b6123eb565b6001905092915050565b60006118cb6118c46123e3565b84846125b4565b506001905092915050565b6118de6123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196290613cad565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f490613d19565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a606123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae490613cad565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b396123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbd90613cad565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611c7c576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b611c886123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0c90613cad565b60405180910390fd5b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611d5e91906138b4565b60405180910390a150565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611db76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3b90613cad565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611e7f929190613d39565b6020604051808303816000875af1158015611e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec29190613d77565b50505050565b600d5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f5d6123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe190613cad565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161201090613dd5565b60006040518083038185875af1925050503d806000811461204d576040519150601f19603f3d011682016040523d82523d6000602084013e612052565b606091505b5050905080612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d90613e36565b60405180910390fd5b50565b6120a16123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461212e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212590613cad565b60405180910390fd5b80601060026101000a81548160ff02191690831515021790555050565b6121536123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d790613cad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224690613ec8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060019054906101000a900460ff1681565b60008083036123315760009050612393565b6000828461233f9190613f17565b905082848261234e9190613f88565b1461238e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123859061402b565b60405180910390fd5b809150505b92915050565b60006123db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d77565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361245a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612451906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c09061414f565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125a791906139c4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261b906141bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268a90614227565b60405180910390fd5b600082116126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd90614293565b60405180910390fd5b601060029054906101000a900460ff166127cb57600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061278b5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c1906142ff565b60405180910390fd5b5b601160149054906101000a900460ff16156127f2576127eb848484612dda565b9050612c64565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128965750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128ae5750601060009054906101000a900460ff165b156128f957600e548211156128f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ef9061436b565b60405180910390fd5b5b6000612904306114f7565b90506000600d54821015905080801561292a5750601160149054906101000a900460ff16155b80156129805750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129985750601160159054906101000a900460ff165b156129a7576129a682612fad565b5b612a30846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a7f87876130da565b612a9357612a8e878787613245565b612a95565b845b9050601060019054906101000a900460ff168015612afd5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b6257600f54612b2082612b12896114f7565b612d1990919063ffffffff16565b1115612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906143d7565b60405180910390fd5b5b612bb481600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c5491906139c4565b60405180910390a3600193505050505b9392505050565b6000838311158290612cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612caa9190613774565b60405180910390fd5b5060008385612cc291906143f7565b9050809150509392505050565b6000612d1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c6b565b905092915050565b6000808284612d28919061442b565b905083811015612d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d64906144ab565b60405180910390fd5b8091505092915050565b60008083118290612dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612db59190613774565b60405180910390fd5b5060008385612dcd9190613f88565b9050809150509392505050565b6000612e65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612efa82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f9a91906139c4565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff02191690831515021790555060008103156130bc576000612fea600b54600a54612d1990919063ffffffff16565b905060008103612ffa57506130bc565b600047905061300883613468565b600061301d8247612ccf90919063ffffffff16565b905060008111156130b8576000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161307090613dd5565b60006040518083038185875af1925050503d80600081146130ad576040519150601f19603f3d011682016040523d82523d6000602084013e6130b2565b606091505b50509050505b5050505b6000601160146101000a81548160ff02191690831515021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061317d5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561318b576001905061323f565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061322c5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561323a576000905061323f565b600090505b92915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132c9576132c260646132b4600a548661231f90919063ffffffff16565b61239990919063ffffffff16565b9050613347565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613346576133436064613335600b548661231f90919063ffffffff16565b61239990919063ffffffff16565b90505b5b600081111561344b576133a281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161344291906139c4565b60405180910390a35b61345e8184612ccf90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613485576134846144cb565b5b6040519080825280602002602001820160405280156134b35781602001602082028036833780820191505090505b50905030816000815181106134cb576134ca6144fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613572573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613596919061453e565b816001815181106135aa576135a96144fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061361130601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123eb565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613675959493929190614664565b600060405180830381600087803b15801561368f57600080fd5b505af11580156136a3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136d89291906146be565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561371e578082015181840152602081019050613703565b60008484015250505050565b6000601f19601f8301169050919050565b6000613746826136e4565b61375081856136ef565b9350613760818560208601613700565b6137698161372a565b840191505092915050565b6000602082019050818103600083015261378e818461373b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137c182613796565b9050919050565b6137d1816137b6565b82525050565b60006020820190506137ec60008301846137c8565b92915050565b600080fd5b613800816137b6565b811461380b57600080fd5b50565b60008135905061381d816137f7565b92915050565b6000819050919050565b61383681613823565b811461384157600080fd5b50565b6000813590506138538161382d565b92915050565b600080604083850312156138705761386f6137f2565b5b600061387e8582860161380e565b925050602061388f85828601613844565b9150509250929050565b60008115159050919050565b6138ae81613899565b82525050565b60006020820190506138c960008301846138a5565b92915050565b6138d881613899565b81146138e357600080fd5b50565b6000813590506138f5816138cf565b92915050565b60008060408385031215613912576139116137f2565b5b60006139208582860161380e565b9250506020613931858286016138e6565b9150509250929050565b6000819050919050565b600061396061395b61395684613796565b61393b565b613796565b9050919050565b600061397282613945565b9050919050565b600061398482613967565b9050919050565b61399481613979565b82525050565b60006020820190506139af600083018461398b565b92915050565b6139be81613823565b82525050565b60006020820190506139d960008301846139b5565b92915050565b6000806000606084860312156139f8576139f76137f2565b5b6000613a068682870161380e565b9350506020613a178682870161380e565b9250506040613a2886828701613844565b9150509250925092565b600060ff82169050919050565b613a4881613a32565b82525050565b6000602082019050613a636000830184613a3f565b92915050565b600060208284031215613a7f57613a7e6137f2565b5b6000613a8d84828501613844565b91505092915050565b600060208284031215613aac57613aab6137f2565b5b6000613aba8482850161380e565b91505092915050565b60008060408385031215613ada57613ad96137f2565b5b6000613ae885828601613844565b9250506020613af985828601613844565b9150509250929050565b600060208284031215613b1957613b186137f2565b5b6000613b27848285016138e6565b91505092915050565b6000613b3b826137b6565b9050919050565b613b4b81613b30565b8114613b5657600080fd5b50565b600081359050613b6881613b42565b92915050565b600080600060608486031215613b8757613b866137f2565b5b6000613b9586828701613b59565b9350506020613ba68682870161380e565b9250506040613bb786828701613844565b9150509250925092565b60008060408385031215613bd857613bd76137f2565b5b6000613be68582860161380e565b9250506020613bf78582860161380e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c4857607f821691505b602082108103613c5b57613c5a613c01565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c976020836136ef565b9150613ca282613c61565b602082019050919050565b60006020820190508181036000830152613cc681613c8a565b9050919050565b7f4e6f74204368616e676564212100000000000000000000000000000000000000600082015250565b6000613d03600d836136ef565b9150613d0e82613ccd565b602082019050919050565b60006020820190508181036000830152613d3281613cf6565b9050919050565b6000604082019050613d4e60008301856137c8565b613d5b60208301846139b5565b9392505050565b600081519050613d71816138cf565b92915050565b600060208284031215613d8d57613d8c6137f2565b5b6000613d9b84828501613d62565b91505092915050565b600081905092915050565b50565b6000613dbf600083613da4565b9150613dca82613daf565b600082019050919050565b6000613de082613db2565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613e206014836136ef565b9150613e2b82613dea565b602082019050919050565b60006020820190508181036000830152613e4f81613e13565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613eb26026836136ef565b9150613ebd82613e56565b604082019050919050565b60006020820190508181036000830152613ee181613ea5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f2282613823565b9150613f2d83613823565b9250828202613f3b81613823565b91508282048414831517613f5257613f51613ee8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f9382613823565b9150613f9e83613823565b925082613fae57613fad613f59565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140156021836136ef565b915061402082613fb9565b604082019050919050565b6000602082019050818103600083015261404481614008565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140a76024836136ef565b91506140b28261404b565b604082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141396022836136ef565b9150614144826140dd565b604082019050919050565b600060208201905081810360008301526141688161412c565b9050919050565b7f45524332303a66726f6d207a65726f0000000000000000000000000000000000600082015250565b60006141a5600f836136ef565b91506141b08261416f565b602082019050919050565b600060208201905081810360008301526141d481614198565b9050919050565b7f45524332303a746f207a65726f00000000000000000000000000000000000000600082015250565b6000614211600d836136ef565b915061421c826141db565b602082019050919050565b6000602082019050818103600083015261424081614204565b9050919050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b600061427d600e836136ef565b915061428882614247565b602082019050919050565b600060208201905081810360008301526142ac81614270565b9050919050565b7f54726164696e6720697320506175736564210000000000000000000000000000600082015250565b60006142e96012836136ef565b91506142f4826142b3565b602082019050919050565b60006020820190508181036000830152614318816142dc565b9050919050565b7f4d61782054780000000000000000000000000000000000000000000000000000600082015250565b60006143556006836136ef565b91506143608261431f565b602082019050919050565b6000602082019050818103600083015261438481614348565b9050919050565b7f4d61782057616c6c657400000000000000000000000000000000000000000000600082015250565b60006143c1600a836136ef565b91506143cc8261438b565b602082019050919050565b600060208201905081810360008301526143f0816143b4565b9050919050565b600061440282613823565b915061440d83613823565b925082820390508181111561442557614424613ee8565b5b92915050565b600061443682613823565b915061444183613823565b925082820190508082111561445957614458613ee8565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614495601b836136ef565b91506144a08261445f565b602082019050919050565b600060208201905081810360008301526144c481614488565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614538816137f7565b92915050565b600060208284031215614554576145536137f2565b5b600061456284828501614529565b91505092915050565b6000819050919050565b600061459061458b6145868461456b565b61393b565b613823565b9050919050565b6145a081614575565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6145db816137b6565b82525050565b60006145ed83836145d2565b60208301905092915050565b6000602082019050919050565b6000614611826145a6565b61461b81856145b1565b9350614626836145c2565b8060005b8381101561465757815161463e88826145e1565b9750614649836145f9565b92505060018101905061462a565b5085935050505092915050565b600060a08201905061467960008301886139b5565b6146866020830187614597565b81810360408301526146988186614606565b90506146a760608301856137c8565b6146b460808301846139b5565b9695505050505050565b60006040820190506146d360008301856139b5565b81810360208301526146e58184614606565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206deea0399e3dc48ad83a22f508c88f5368eb41b702a12d5acfc0995df3b49a5964736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063728d41c91161014f578063c0b4d199116100c1578063d2d7ad831161007a578063d2d7ad83146109a7578063dd62ed3e146109d2578063e6b2603b14610a0f578063f275f64b14610a26578063f2fde38b14610a4f578063f872858a14610a7857610288565b8063c0b4d1991461089b578063c16dd4a4146108c4578063c49b9a80146108ed578063c816841b14610916578063c867d60b14610941578063cea9d26f1461097e57610288565b80638da5cb5b116101135780638da5cb5b146107775780638f32d59b146107a257806395d89b41146107cd578063a457c2d7146107f8578063a9059cbb14610835578063af9549e01461087257610288565b8063728d41c9146106a4578063751039fc146106cd5780637d1db4a5146106e4578063807c2d9c1461070f5780638b42507f1461073a57610288565b80633187c304116101f357806352f7c988116101ac57806352f7c988146105965780635342acb4146105bf5780635c85974f146105fc5780635e42358c146106255780636902ca611461065057806370a082311461066757610288565b80633187c3041461047457806338ec0b111461049f57806339509351146104c85780633b97084a146105055780633ecad2711461052e5780634a74bb021461056b57610288565b806318160ddd1161024557806318160ddd1461037457806320365d5f1461039f57806323b872dd146103b657806327c8f835146103f35780632b112e491461041e578063313ce5671461044957610288565b806306fdde031461028d5780630930907b146102b8578063095ea7b3146102e357806313ea1d89146103205780631694505e1461034957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aa3565b6040516102af9190613774565b60405180910390f35b3480156102c457600080fd5b506102cd610b35565b6040516102da91906137d7565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190613859565b610b3a565b60405161031791906138b4565b60405180910390f35b34801561032c57600080fd5b50610347600480360381019061034291906138fb565b610b58565b005b34801561035557600080fd5b5061035e610cda565b60405161036b919061399a565b60405180910390f35b34801561038057600080fd5b50610389610d00565b60405161039691906139c4565b60405180910390f35b3480156103ab57600080fd5b506103b4610d0a565b005b3480156103c257600080fd5b506103dd60048036038101906103d891906139df565b610e5f565b6040516103ea91906138b4565b60405180910390f35b3480156103ff57600080fd5b50610408610f39565b60405161041591906137d7565b60405180910390f35b34801561042a57600080fd5b50610433610f3f565b60405161044091906139c4565b60405180910390f35b34801561045557600080fd5b5061045e610f80565b60405161046b9190613a4e565b60405180910390f35b34801561048057600080fd5b50610489610f97565b60405161049691906138b4565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c191906138fb565b610faa565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190613859565b61112c565b6040516104fc91906138b4565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190613a69565b6111df565b005b34801561053a57600080fd5b5061055560048036038101906105509190613a96565b61127e565b60405161056291906138b4565b60405180910390f35b34801561057757600080fd5b5061058061129e565b60405161058d91906138b4565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613ac3565b6112b1565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613a96565b611358565b6040516105f391906138b4565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613a69565b611378565b005b34801561063157600080fd5b5061063a611417565b60405161064791906138b4565b60405180910390f35b34801561065c57600080fd5b5061066561142a565b005b34801561067357600080fd5b5061068e60048036038101906106899190613a96565b6114f7565b60405161069b91906139c4565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190613a69565b611540565b005b3480156106d957600080fd5b506106e26115df565b005b3480156106f057600080fd5b506106f96116ac565b60405161070691906139c4565b60405180910390f35b34801561071b57600080fd5b506107246116b2565b60405161073191906139c4565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190613a96565b6116b8565b60405161076e91906138b4565b60405180910390f35b34801561078357600080fd5b5061078c6116d8565b60405161079991906137d7565b60405180910390f35b3480156107ae57600080fd5b506107b7611701565b6040516107c491906138b4565b60405180910390f35b3480156107d957600080fd5b506107e2611758565b6040516107ef9190613774565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190613859565b6117ea565b60405161082c91906138b4565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190613859565b6118b7565b60405161086991906138b4565b60405180910390f35b34801561087e57600080fd5b50610899600480360381019061089491906138fb565b6118d6565b005b3480156108a757600080fd5b506108c260048036038101906108bd9190613a96565b611a58565b005b3480156108d057600080fd5b506108eb60048036038101906108e691906138fb565b611b31565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613b03565b611c80565b005b34801561092257600080fd5b5061092b611d69565b60405161093891906137d7565b60405180910390f35b34801561094d57600080fd5b5061096860048036038101906109639190613a96565b611d8f565b60405161097591906138b4565b60405180910390f35b34801561098a57600080fd5b506109a560048036038101906109a09190613b6e565b611daf565b005b3480156109b357600080fd5b506109bc611ec8565b6040516109c991906139c4565b60405180910390f35b3480156109de57600080fd5b506109f960048036038101906109f49190613bc1565b611ece565b604051610a0691906139c4565b60405180910390f35b348015610a1b57600080fd5b50610a24611f55565b005b348015610a3257600080fd5b50610a4d6004803603810190610a489190613b03565b612099565b005b348015610a5b57600080fd5b50610a766004803603810190610a719190613a96565b61214b565b005b348015610a8457600080fd5b50610a8d61230c565b604051610a9a91906138b4565b60405180910390f35b606060018054610ab290613c30565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90613c30565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b5050505050905090565b600081565b6000610b4e610b476123e3565b84846123eb565b6001905092915050565b610b606123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613cad565b60405180910390fd5b801515600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690613d19565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b610d126123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9690613cad565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e6c8484846125b4565b50610f2e84610e796123e3565b610f29856040518060600160405280602881526020016146ef60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610edf6123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b6123eb565b600190509392505050565b61dead81565b6000610f7b610f4e60006114f7565b610f6d610f5c61dead6114f7565b600c54612ccf90919063ffffffff16565b612ccf90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b601060029054906101000a900460ff1681565b610fb26123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103690613cad565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890613d19565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006111d56111396123e3565b846111d0856005600061114a6123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b6123eb565b6001905092915050565b6111e76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126b90613cad565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b601160159054906101000a900460ff1681565b6112b96123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d90613cad565b60405180910390fd5b81600a8190555080600b819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6113806123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490613cad565b60405180910390fd5b80600e8190555050565b601060009054906101000a900460ff1681565b6114326123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b690613cad565b60405180910390fd5b6001601060016101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115486123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90613cad565b60405180910390fd5b80600f8190555050565b6115e76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90613cad565b60405180910390fd5b6000601060016101000a81548160ff0219169083151502179055506000601060006101000a81548160ff021916908315150217905550565b600e5481565b600f5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60606002805461176790613c30565b80601f016020809104026020016040519081016040528092919081815260200182805461179390613c30565b80156117e05780601f106117b5576101008083540402835291602001916117e0565b820191906000526020600020905b8154815290600101906020018083116117c357829003601f168201915b5050505050905090565b60006118ad6117f76123e3565b846118a88560405180606001604052806025815260200161471760259139600560006118216123e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b6123eb565b6001905092915050565b60006118cb6118c46123e3565b84846125b4565b506001905092915050565b6118de6123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196290613cad565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f490613d19565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a606123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae490613cad565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b396123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbd90613cad565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611c7c576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b611c886123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0c90613cad565b60405180910390fd5b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611d5e91906138b4565b60405180910390a150565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611db76123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3b90613cad565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611e7f929190613d39565b6020604051808303816000875af1158015611e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec29190613d77565b50505050565b600d5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f5d6123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe190613cad565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161201090613dd5565b60006040518083038185875af1925050503d806000811461204d576040519150601f19603f3d011682016040523d82523d6000602084013e612052565b606091505b5050905080612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d90613e36565b60405180910390fd5b50565b6120a16123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461212e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212590613cad565b60405180910390fd5b80601060026101000a81548160ff02191690831515021790555050565b6121536123e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d790613cad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224690613ec8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060019054906101000a900460ff1681565b60008083036123315760009050612393565b6000828461233f9190613f17565b905082848261234e9190613f88565b1461238e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123859061402b565b60405180910390fd5b809150505b92915050565b60006123db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d77565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361245a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612451906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c09061414f565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125a791906139c4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261b906141bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268a90614227565b60405180910390fd5b600082116126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd90614293565b60405180910390fd5b601060029054906101000a900460ff166127cb57600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061278b5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c1906142ff565b60405180910390fd5b5b601160149054906101000a900460ff16156127f2576127eb848484612dda565b9050612c64565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128965750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128ae5750601060009054906101000a900460ff165b156128f957600e548211156128f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ef9061436b565b60405180910390fd5b5b6000612904306114f7565b90506000600d54821015905080801561292a5750601160149054906101000a900460ff16155b80156129805750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129985750601160159054906101000a900460ff165b156129a7576129a682612fad565b5b612a30846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a7f87876130da565b612a9357612a8e878787613245565b612a95565b845b9050601060019054906101000a900460ff168015612afd5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b6257600f54612b2082612b12896114f7565b612d1990919063ffffffff16565b1115612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906143d7565b60405180910390fd5b5b612bb481600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c5491906139c4565b60405180910390a3600193505050505b9392505050565b6000838311158290612cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612caa9190613774565b60405180910390fd5b5060008385612cc291906143f7565b9050809150509392505050565b6000612d1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c6b565b905092915050565b6000808284612d28919061442b565b905083811015612d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d64906144ab565b60405180910390fd5b8091505092915050565b60008083118290612dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612db59190613774565b60405180910390fd5b5060008385612dcd9190613f88565b9050809150509392505050565b6000612e65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c6b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612efa82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f9a91906139c4565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff02191690831515021790555060008103156130bc576000612fea600b54600a54612d1990919063ffffffff16565b905060008103612ffa57506130bc565b600047905061300883613468565b600061301d8247612ccf90919063ffffffff16565b905060008111156130b8576000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161307090613dd5565b60006040518083038185875af1925050503d80600081146130ad576040519150601f19603f3d011682016040523d82523d6000602084013e6130b2565b606091505b50509050505b5050505b6000601160146101000a81548160ff02191690831515021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061317d5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561318b576001905061323f565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061322c5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561323a576000905061323f565b600090505b92915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132c9576132c260646132b4600a548661231f90919063ffffffff16565b61239990919063ffffffff16565b9050613347565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613346576133436064613335600b548661231f90919063ffffffff16565b61239990919063ffffffff16565b90505b5b600081111561344b576133a281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1990919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161344291906139c4565b60405180910390a35b61345e8184612ccf90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613485576134846144cb565b5b6040519080825280602002602001820160405280156134b35781602001602082028036833780820191505090505b50905030816000815181106134cb576134ca6144fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613572573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613596919061453e565b816001815181106135aa576135a96144fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061361130601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123eb565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613675959493929190614664565b600060405180830381600087803b15801561368f57600080fd5b505af11580156136a3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136d89291906146be565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561371e578082015181840152602081019050613703565b60008484015250505050565b6000601f19601f8301169050919050565b6000613746826136e4565b61375081856136ef565b9350613760818560208601613700565b6137698161372a565b840191505092915050565b6000602082019050818103600083015261378e818461373b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137c182613796565b9050919050565b6137d1816137b6565b82525050565b60006020820190506137ec60008301846137c8565b92915050565b600080fd5b613800816137b6565b811461380b57600080fd5b50565b60008135905061381d816137f7565b92915050565b6000819050919050565b61383681613823565b811461384157600080fd5b50565b6000813590506138538161382d565b92915050565b600080604083850312156138705761386f6137f2565b5b600061387e8582860161380e565b925050602061388f85828601613844565b9150509250929050565b60008115159050919050565b6138ae81613899565b82525050565b60006020820190506138c960008301846138a5565b92915050565b6138d881613899565b81146138e357600080fd5b50565b6000813590506138f5816138cf565b92915050565b60008060408385031215613912576139116137f2565b5b60006139208582860161380e565b9250506020613931858286016138e6565b9150509250929050565b6000819050919050565b600061396061395b61395684613796565b61393b565b613796565b9050919050565b600061397282613945565b9050919050565b600061398482613967565b9050919050565b61399481613979565b82525050565b60006020820190506139af600083018461398b565b92915050565b6139be81613823565b82525050565b60006020820190506139d960008301846139b5565b92915050565b6000806000606084860312156139f8576139f76137f2565b5b6000613a068682870161380e565b9350506020613a178682870161380e565b9250506040613a2886828701613844565b9150509250925092565b600060ff82169050919050565b613a4881613a32565b82525050565b6000602082019050613a636000830184613a3f565b92915050565b600060208284031215613a7f57613a7e6137f2565b5b6000613a8d84828501613844565b91505092915050565b600060208284031215613aac57613aab6137f2565b5b6000613aba8482850161380e565b91505092915050565b60008060408385031215613ada57613ad96137f2565b5b6000613ae885828601613844565b9250506020613af985828601613844565b9150509250929050565b600060208284031215613b1957613b186137f2565b5b6000613b27848285016138e6565b91505092915050565b6000613b3b826137b6565b9050919050565b613b4b81613b30565b8114613b5657600080fd5b50565b600081359050613b6881613b42565b92915050565b600080600060608486031215613b8757613b866137f2565b5b6000613b9586828701613b59565b9350506020613ba68682870161380e565b9250506040613bb786828701613844565b9150509250925092565b60008060408385031215613bd857613bd76137f2565b5b6000613be68582860161380e565b9250506020613bf78582860161380e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c4857607f821691505b602082108103613c5b57613c5a613c01565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c976020836136ef565b9150613ca282613c61565b602082019050919050565b60006020820190508181036000830152613cc681613c8a565b9050919050565b7f4e6f74204368616e676564212100000000000000000000000000000000000000600082015250565b6000613d03600d836136ef565b9150613d0e82613ccd565b602082019050919050565b60006020820190508181036000830152613d3281613cf6565b9050919050565b6000604082019050613d4e60008301856137c8565b613d5b60208301846139b5565b9392505050565b600081519050613d71816138cf565b92915050565b600060208284031215613d8d57613d8c6137f2565b5b6000613d9b84828501613d62565b91505092915050565b600081905092915050565b50565b6000613dbf600083613da4565b9150613dca82613daf565b600082019050919050565b6000613de082613db2565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613e206014836136ef565b9150613e2b82613dea565b602082019050919050565b60006020820190508181036000830152613e4f81613e13565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613eb26026836136ef565b9150613ebd82613e56565b604082019050919050565b60006020820190508181036000830152613ee181613ea5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f2282613823565b9150613f2d83613823565b9250828202613f3b81613823565b91508282048414831517613f5257613f51613ee8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f9382613823565b9150613f9e83613823565b925082613fae57613fad613f59565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140156021836136ef565b915061402082613fb9565b604082019050919050565b6000602082019050818103600083015261404481614008565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140a76024836136ef565b91506140b28261404b565b604082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141396022836136ef565b9150614144826140dd565b604082019050919050565b600060208201905081810360008301526141688161412c565b9050919050565b7f45524332303a66726f6d207a65726f0000000000000000000000000000000000600082015250565b60006141a5600f836136ef565b91506141b08261416f565b602082019050919050565b600060208201905081810360008301526141d481614198565b9050919050565b7f45524332303a746f207a65726f00000000000000000000000000000000000000600082015250565b6000614211600d836136ef565b915061421c826141db565b602082019050919050565b6000602082019050818103600083015261424081614204565b9050919050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b600061427d600e836136ef565b915061428882614247565b602082019050919050565b600060208201905081810360008301526142ac81614270565b9050919050565b7f54726164696e6720697320506175736564210000000000000000000000000000600082015250565b60006142e96012836136ef565b91506142f4826142b3565b602082019050919050565b60006020820190508181036000830152614318816142dc565b9050919050565b7f4d61782054780000000000000000000000000000000000000000000000000000600082015250565b60006143556006836136ef565b91506143608261431f565b602082019050919050565b6000602082019050818103600083015261438481614348565b9050919050565b7f4d61782057616c6c657400000000000000000000000000000000000000000000600082015250565b60006143c1600a836136ef565b91506143cc8261438b565b602082019050919050565b600060208201905081810360008301526143f0816143b4565b9050919050565b600061440282613823565b915061440d83613823565b925082820390508181111561442557614424613ee8565b5b92915050565b600061443682613823565b915061444183613823565b925082820190508082111561445957614458613ee8565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614495601b836136ef565b91506144a08261445f565b602082019050919050565b600060208201905081810360008301526144c481614488565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614538816137f7565b92915050565b600060208284031215614554576145536137f2565b5b600061456284828501614529565b91505092915050565b6000819050919050565b600061459061458b6145868461456b565b61393b565b613823565b9050919050565b6145a081614575565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6145db816137b6565b82525050565b60006145ed83836145d2565b60208301905092915050565b6000602082019050919050565b6000614611826145a6565b61461b81856145b1565b9350614626836145c2565b8060005b8381101561465757815161463e88826145e1565b9750614649836145f9565b92505060018101905061462a565b5085935050505092915050565b600060a08201905061467960008301886139b5565b6146866020830187614597565b81810360408301526146988186614606565b90506146a760608301856137c8565b6146b460808301846139b5565b9695505050505050565b60006040820190506146d360008301856139b5565b81810360208301526146e58184614606565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206deea0399e3dc48ad83a22f508c88f5368eb41b702a12d5acfc0995df3b49a5964736f6c63430008120033

Deployed Bytecode Sourcemap

4692:12094:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7574:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5070:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8744:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15837:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6045:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7851:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3195:231;;;;;;;;;;;;;:::i;:::-;;9695:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4983:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9262:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7760:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6005:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15629:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8241:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16033:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5347:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6160:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15151:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5290:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16279:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5924:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15024:119;;;;;;;;;;;;;:::i;:::-;;7959:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16165:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14898:118;;;;;;;;;;;;;:::i;:::-;;5760:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5843:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5458:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2870:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3095:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7665:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8467:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9520:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15426:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15303:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16571:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16388:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6093:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5399:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14654:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5688:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8090:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14436:178;;;;;;;;;;;;;:::i;:::-;;14794:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3434:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5963:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7574:83;7611:13;7644:5;7637:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7574:83;:::o;5070:80::-;5108:42;5070:80;:::o;8744:161::-;8819:4;8836:39;8845:12;:10;:12::i;:::-;8859:7;8868:6;8836:8;:39::i;:::-;8893:4;8886:11;;8744:161;;;;:::o;15837:188::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15951:7:::1;15926:32;;:15;:21;15942:4;15926:21;;;;;;;;;;;;;;;;;;;;;;;;;:32;;::::0;15918:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16010:7;15986:15;:21;16002:4;15986:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;15837:188:::0;;:::o;6045:41::-;;;;;;;;;;;;;:::o;7851:100::-;7904:7;7931:12;;7924:19;;7851:100;:::o;3195:231::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3303:42:::1;3266:81;;3287:6;::::0;::::1;;;;;;;;3266:81;;;;;;;;;;;;3375:42;3358:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3195:231::o:0;9695:313::-;9793:4;9810:36;9820:6;9828:9;9839:6;9810:9;:36::i;:::-;;9857:121;9866:6;9874:12;:10;:12::i;:::-;9888:89;9926:6;9888:89;;;;;;;;;;;;;;;;;:11;:19;9900:6;9888:19;;;;;;;;;;;;;;;:33;9908:12;:10;:12::i;:::-;9888:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9857:8;:121::i;:::-;9996:4;9989:11;;9695:313;;;;;:::o;4983:80::-;5021:42;4983:80;:::o;9262:156::-;9315:7;9342:68;9387:22;5108:42;9387:9;:22::i;:::-;9342:40;9359:22;5021:42;9359:9;:22::i;:::-;9342:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;9335:75;;9262:156;:::o;7760:83::-;7801:5;7826:9;;;;;;;;;;;7819:16;;7760:83;:::o;6005:31::-;;;;;;;;;;;;;:::o;15629:200::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15751:7:::1;15722:36;;:19;:25;15742:4;15722:25;;;;;;;;;;;;;;;;;;;;;;;;;:36;;::::0;15714:61:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15814:7;15786:19;:25;15806:4;15786:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;15629:200:::0;;:::o;8241:218::-;8329:4;8346:83;8355:12;:10;:12::i;:::-;8369:7;8378:50;8417:10;8378:11;:25;8390:12;:10;:12::i;:::-;8378:25;;;;;;;;;;;;;;;:34;8404:7;8378:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8346:8;:83::i;:::-;8447:4;8440:11;;8241:218;;;;:::o;16033:124::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16141:8:::1;16115:23;:34;;;;16033:124:::0;:::o;5347:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6160:40::-;;;;;;;;;;;;;:::o;15151:144::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15247:8:::1;15236;:19;;;;15278:9;15266;:21;;;;15151:144:::0;;:::o;5290:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;16279:101::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16364:8:::1;16349:12;:23;;;;16279:101:::0;:::o;5924:32::-;;;;;;;;;;;;;:::o;15024:119::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15097:4:::1;15078:16;;:23;;;;;;;;;;;;;;;;;;15128:4;15112:13;;:20;;;;;;;;;;;;;;;;;;15024:119::o:0;7959:123::-;8025:7;8051:9;:18;8061:7;8051:18;;;;;;;;;;;;;;;;8044:25;;7959:123;;;:::o;16165:106::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16255:8:::1;16242:10;:21;;;;16165:106:::0;:::o;14898:118::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14971:5:::1;14952:16;;:24;;;;;;;;;;;;;;;;;;15003:5;14987:13;;:21;;;;;;;;;;;;;;;;;;14898:118::o:0;5760:67::-;;;;:::o;5843:64::-;;;;:::o;5458:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2870:79::-;2908:7;2935:6;;;;;;;;;;;2928:13;;2870:79;:::o;3095:92::-;3135:4;3173:6;;;;;;;;;;;3159:20;;:10;:20;;;3152:27;;3095:92;:::o;7665:87::-;7704:13;7737:7;7730:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:87;:::o;8467:269::-;8560:4;8577:129;8586:12;:10;:12::i;:::-;8600:7;8609:96;8648:15;8609:96;;;;;;;;;;;;;;;;;:11;:25;8621:12;:10;:12::i;:::-;8609:25;;;;;;;;;;;;;;;:34;8635:7;8609:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8577:8;:129::i;:::-;8724:4;8717:11;;8467:269;;;;:::o;9520:167::-;9598:4;9615:42;9625:12;:10;:12::i;:::-;9639:9;9650:6;9615:9;:42::i;:::-;;9675:4;9668:11;;9520:167;;;;:::o;15426:195::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15545:7:::1;15518:34;;:17;:23;15536:4;15518:23;;;;;;;;;;;;;;;;;;;;;;;;;:34;;::::0;15510:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15606:7;15580:17;:23;15598:4;15580:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;15426:195:::0;;:::o;15303:115::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15400:10:::1;15382:15;;:28;;;;;;;;;;;;;;;;;;15303:115:::0;:::o;16571:210::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16675:7:::1;16653:12;:19;16666:5;16653:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;16696:7;16693:81;;;16758:4;16720:19;:35;16748:5;16720:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;16693:81;16571:210:::0;;:::o;16388:175::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16493:8:::1;16469:21;;:32;;;;;;;;;;;;;;;;;;16517:38;16546:8;16517:38;;;;;;:::i;:::-;;;;;;;;16388:175:::0;:::o;6093:26::-;;;;;;;;;;;;;:::o;5399:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;14654:132::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14748:3:::1;:12;;;14761:9;14771:6;14748:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14654:132:::0;;;:::o;5688:63::-;;;;:::o;8090:143::-;8171:7;8198:11;:18;8210:5;8198:18;;;;;;;;;;;;;;;:27;8217:7;8198:27;;;;;;;;;;;;;;;;8191:34;;8090:143;;;;:::o;14436:178::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14491:7:::1;14511:10;14503:24;;14535:21;14503:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14490:71;;;14580:2;14572:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;14478:136;14436:178::o:0;14794:96::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14875:7:::1;14861:11;;:21;;;;;;;;;;;;;;;;;;14794:96:::0;:::o;3434:244::-;3014:12;:10;:12::i;:::-;3004:22;;:6;;;;;;;;;;:22;;;2996:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3543:1:::1;3523:22;;:8;:22;;::::0;3515:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3633:8;3604:38;;3625:6;::::0;::::1;;;;;;;;3604:38;;;;;;;;;;;;3662:8;3653:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3434:244:::0;:::o;5963:35::-;;;;;;;;;;;;;:::o;1854:250::-;1912:7;1941:1;1936;:6;1932:47;;1966:1;1959:8;;;;1932:47;1991:9;2007:1;2003;:5;;;;:::i;:::-;1991:17;;2036:1;2031;2027;:5;;;;:::i;:::-;:10;2019:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2095:1;2088:8;;;1854:250;;;;;:::o;2112:132::-;2170:7;2197:39;2201:1;2204;2197:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2190:46;;2112:132;;;;:::o;372:115::-;425:15;468:10;453:26;;372:115;:::o;8913:337::-;9023:1;9006:19;;:5;:19;;;8998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9104:1;9085:21;;:7;:21;;;9077:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9188:6;9158:11;:18;9170:5;9158:18;;;;;;;;;;;;;;;:27;9177:7;9158:27;;;;;;;;;;;;;;;:36;;;;9226:7;9210:32;;9219:5;9210:32;;;9235:6;9210:32;;;;;;:::i;:::-;;;;;;;;8913:337;;;:::o;10016:1665::-;10103:4;10148:1;10130:20;;:6;:20;;;10122:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10210:1;10189:23;;:9;:23;;;10181:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10258:1;10249:6;:10;10241:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;10295:11;;;;;;;;;;;10291:130;;10330:17;:25;10348:6;10330:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;10359:17;:28;10377:9;10359:28;;;;;;;;;;;;;;;;;;;;;;;;;10330:57;10322:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10291:130;10436:16;;;;;;;;;;;10433:1241;;;10486:41;10501:6;10509:9;10520:6;10486:14;:41::i;:::-;10479:48;;;;10433:1241;10585:15;:23;10601:6;10585:23;;;;;;;;;;;;;;;;;;;;;;;;;10584:24;:55;;;;;10613:15;:26;10629:9;10613:26;;;;;;;;;;;;;;;;;;;;;;;;;10612:27;10584:55;:72;;;;;10643:13;;;;;;;;;;;10584:72;10581:152;;;10695:12;;10685:6;:22;;10677:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;10581:152;10750:28;10781:24;10799:4;10781:9;:24::i;:::-;10750:55;;10820:28;10875:23;;10851:20;:47;;10820:78;;10931:23;:44;;;;;10959:16;;;;;;;;;;;10958:17;10931:44;:69;;;;;10980:12;:20;10993:6;10980:20;;;;;;;;;;;;;;;;;;;;;;;;;10979:21;10931:69;:94;;;;;11004:21;;;;;;;;;;;10931:94;10927:185;;;11060:36;11075:20;11060:14;:36::i;:::-;10927:185;11148:53;11170:6;11148:53;;;;;;;;;;;;;;;;;:9;:17;11158:6;11148:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11128:9;:17;11138:6;11128:17;;;;;;;;;;;;;;;:73;;;;11218:19;11240:31;11254:6;11261:9;11240:13;:31::i;:::-;:77;;11283:34;11291:6;11299:9;11310:6;11283:7;:34::i;:::-;11240:77;;;11274:6;11240:77;11218:99;;11337:16;;;;;;;;;;;:51;;;;;11358:19;:30;11378:9;11358:30;;;;;;;;;;;;;;;;;;;;;;;;;11357:31;11337:51;11334:164;;;11458:10;;11417:37;11442:11;11417:20;11427:9;11417;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;11409:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11334:164;11537:37;11562:11;11537:9;:20;11547:9;11537:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;11514:9;:20;11524:9;11514:20;;;;;;;;;;;;;;;:60;;;;11613:9;11596:40;;11605:6;11596:40;;;11624:11;11596:40;;;;;;:::i;:::-;;;;;;;;11658:4;11651:11;;;;;10016:1665;;;;;;:::o;1654:192::-;1740:7;1773:1;1768;:6;;1776:12;1760:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1800:9;1816:1;1812;:5;;;;:::i;:::-;1800:17;;1837:1;1830:8;;;1654:192;;;;;:::o;1510:136::-;1568:7;1595:43;1599:1;1602;1595:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1588:50;;1510:136;;;;:::o;1321:181::-;1379:7;1399:9;1415:1;1411;:5;;;;:::i;:::-;1399:17;;1440:1;1435;:6;;1427:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1493:1;1486:8;;;1321:181;;;;:::o;2252:278::-;2338:7;2370:1;2366;:5;2373:12;2358:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2397:9;2413:1;2409;:5;;;;:::i;:::-;2397:17;;2521:1;2514:8;;;2252:278;;;;;:::o;11689:330::-;11782:4;11819:53;11841:6;11819:53;;;;;;;;;;;;;;;;;:9;:17;11829:6;11819:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11799:9;:17;11809:6;11799:17;;;;;;;;;;;;;;;:73;;;;11906:32;11931:6;11906:9;:20;11916:9;11906:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11883:9;:20;11893:9;11883:20;;;;;;;;;;;;;;;:55;;;;11971:9;11954:35;;11963:6;11954:35;;;11982:6;11954:35;;;;;;:::i;:::-;;;;;;;;12007:4;12000:11;;11689:330;;;;;:::o;12027:558::-;6546:4;6527:16;;:23;;;;;;;;;;;;;;;;;;12139:1:::1;12120:15;:20:::0;12117:32;12142:7:::1;12117:32;12161:16;12180:23;12193:9;;12180:8;;:12;;:23;;;;:::i;:::-;12161:42;;12232:1;12217:11;:16:::0;12214:28:::1;;12235:7;;;12214:28;12254:22;12279:21;12254:46;;12311:33;12328:15;12311:16;:33::i;:::-;12355:22;12380:41;12406:14;12380:21;:25;;:41;;;;:::i;:::-;12355:66;;12454:1;12437:14;:18;12434:144;;;12473:7;12493:15;;;;;;;;;;;12485:29;;12522:14;12485:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12472:69;;;12457:121;12434:144;12096:489;;;6561:1;6592:5:::0;6573:16;;:24;;;;;;;;;;;;;;;;;;12027:558;:::o;13271:366::-;13352:4;13372:17;:25;13390:6;13372:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;13401:17;:28;13419:9;13401:28;;;;;;;;;;;;;;;;;;;;;;;;;13372:57;13369:261;;;13453:4;13446:11;;;;13369:261;13488:12;:20;13501:6;13488:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;13512:12;:23;13525:9;13512:23;;;;;;;;;;;;;;;;;;;;;;;;;13488:47;13484:146;;;13559:5;13552:12;;;;13484:146;13613:5;13606:12;;13271:366;;;;;:::o;13645:750::-;13731:7;13761:14;13826:12;:20;13839:6;13826:20;;;;;;;;;;;;;;;;;;;;;;;;;13823:293;;;13881:37;5605:3;13881:20;13892:8;;13881:6;:10;;:20;;;;:::i;:::-;:24;;:37;;;;:::i;:::-;13869:49;;13823:293;;;13970:12;:23;13983:9;13970:23;;;;;;;;;;;;;;;;;;;;;;;;;13967:149;;;14044:38;5605:3;14044:21;14055:9;;14044:6;:10;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;14032:50;;13967:149;13823:293;14152:1;14140:9;:13;14137:185;;;14201:39;14230:9;14201;:24;14219:4;14201:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;14174:9;:24;14192:4;14174:24;;;;;;;;;;;;;;;:66;;;;14289:4;14264:42;;14273:6;14264:42;;;14296:9;14264:42;;;;;;:::i;:::-;;;;;;;;14137:185;14345:21;14356:9;14345:6;:10;;:21;;;;:::i;:::-;14338:28;;;13645:750;;;;;:::o;12597:666::-;12723:21;12761:1;12747:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12723:40;;12792:4;12774;12779:1;12774:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12818:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:4;12813:1;12808:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12853:62;12870:4;12885:15;;;;;;;;;;;12903:11;12853:8;:62::i;:::-;12954:15;;;;;;;;;;;:66;;;13035:11;13061:1;13105:4;13132;13168:15;12954:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13220:35;13237:11;13250:4;13220:35;;;;;;;:::i;:::-;;;;;;;;12652:611;12597:666;:::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:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:96::-;1518:7;1547:24;1565:5;1547:24;:::i;:::-;1536:35;;1481:96;;;:::o;1583:118::-;1670:24;1688:5;1670:24;:::i;:::-;1665:3;1658:37;1583:118;;:::o;1707:222::-;1800:4;1838:2;1827:9;1823:18;1815:26;;1851:71;1919:1;1908:9;1904:17;1895:6;1851:71;:::i;:::-;1707:222;;;;:::o;2016:117::-;2125:1;2122;2115:12;2262:122;2335:24;2353:5;2335:24;:::i;:::-;2328:5;2325:35;2315:63;;2374:1;2371;2364:12;2315:63;2262:122;:::o;2390:139::-;2436:5;2474:6;2461:20;2452:29;;2490:33;2517:5;2490:33;:::i;:::-;2390:139;;;;:::o;2535:77::-;2572:7;2601:5;2590:16;;2535:77;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:116::-;3868:21;3883:5;3868:21;:::i;:::-;3861:5;3858:32;3848:60;;3904:1;3901;3894:12;3848:60;3798:116;:::o;3920:133::-;3963:5;4001:6;3988:20;3979:29;;4017:30;4041:5;4017:30;:::i;:::-;3920:133;;;;:::o;4059:468::-;4124:6;4132;4181:2;4169:9;4160:7;4156:23;4152:32;4149:119;;;4187:79;;:::i;:::-;4149:119;4307:1;4332:53;4377:7;4368:6;4357:9;4353:22;4332:53;:::i;:::-;4322:63;;4278:117;4434:2;4460:50;4502:7;4493:6;4482:9;4478:22;4460:50;:::i;:::-;4450:60;;4405:115;4059:468;;;;;:::o;4533:60::-;4561:3;4582:5;4575:12;;4533:60;;;:::o;4599:142::-;4649:9;4682:53;4700:34;4709:24;4727:5;4709:24;:::i;:::-;4700:34;:::i;:::-;4682:53;:::i;:::-;4669:66;;4599:142;;;:::o;4747:126::-;4797:9;4830:37;4861:5;4830:37;:::i;:::-;4817:50;;4747:126;;;:::o;4879:152::-;4955:9;4988:37;5019:5;4988:37;:::i;:::-;4975:50;;4879:152;;;:::o;5037:183::-;5150:63;5207:5;5150:63;:::i;:::-;5145:3;5138:76;5037:183;;:::o;5226:274::-;5345:4;5383:2;5372:9;5368:18;5360:26;;5396:97;5490:1;5479:9;5475:17;5466:6;5396:97;:::i;:::-;5226:274;;;;:::o;5506:118::-;5593:24;5611:5;5593:24;:::i;:::-;5588:3;5581:37;5506:118;;:::o;5630:222::-;5723:4;5761:2;5750:9;5746:18;5738:26;;5774:71;5842:1;5831:9;5827:17;5818:6;5774:71;:::i;:::-;5630:222;;;;:::o;5858:619::-;5935:6;5943;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;6381:2;6407:53;6452:7;6443:6;6432:9;6428:22;6407:53;:::i;:::-;6397:63;;6352:118;5858:619;;;;;:::o;6483:86::-;6518:7;6558:4;6551:5;6547:16;6536:27;;6483:86;;;:::o;6575:112::-;6658:22;6674:5;6658:22;:::i;:::-;6653:3;6646:35;6575:112;;:::o;6693:214::-;6782:4;6820:2;6809:9;6805:18;6797:26;;6833:67;6897:1;6886:9;6882:17;6873:6;6833:67;:::i;:::-;6693:214;;;;:::o;6913:329::-;6972:6;7021:2;7009:9;7000:7;6996:23;6992:32;6989:119;;;7027:79;;:::i;:::-;6989:119;7147:1;7172:53;7217:7;7208:6;7197:9;7193:22;7172:53;:::i;:::-;7162:63;;7118:117;6913:329;;;;:::o;7248:::-;7307:6;7356:2;7344:9;7335:7;7331:23;7327:32;7324:119;;;7362:79;;:::i;:::-;7324:119;7482:1;7507:53;7552:7;7543:6;7532:9;7528:22;7507:53;:::i;:::-;7497:63;;7453:117;7248:329;;;;:::o;7583:474::-;7651:6;7659;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7961:2;7987:53;8032:7;8023:6;8012:9;8008:22;7987:53;:::i;:::-;7977:63;;7932:118;7583:474;;;;;:::o;8063:323::-;8119:6;8168:2;8156:9;8147:7;8143:23;8139:32;8136:119;;;8174:79;;:::i;:::-;8136:119;8294:1;8319:50;8361:7;8352:6;8341:9;8337:22;8319:50;:::i;:::-;8309:60;;8265:114;8063:323;;;;:::o;8392:109::-;8442:7;8471:24;8489:5;8471:24;:::i;:::-;8460:35;;8392:109;;;:::o;8507:148::-;8593:37;8624:5;8593:37;:::i;:::-;8586:5;8583:48;8573:76;;8645:1;8642;8635:12;8573:76;8507:148;:::o;8661:165::-;8720:5;8758:6;8745:20;8736:29;;8774:46;8814:5;8774:46;:::i;:::-;8661:165;;;;:::o;8832:645::-;8922:6;8930;8938;8987:2;8975:9;8966:7;8962:23;8958:32;8955:119;;;8993:79;;:::i;:::-;8955:119;9113:1;9138:66;9196:7;9187:6;9176:9;9172:22;9138:66;:::i;:::-;9128:76;;9084:130;9253:2;9279:53;9324:7;9315:6;9304:9;9300:22;9279:53;:::i;:::-;9269:63;;9224:118;9381:2;9407:53;9452:7;9443:6;9432:9;9428:22;9407:53;:::i;:::-;9397:63;;9352:118;8832:645;;;;;:::o;9483:474::-;9551:6;9559;9608:2;9596:9;9587:7;9583:23;9579:32;9576:119;;;9614:79;;:::i;:::-;9576:119;9734:1;9759:53;9804:7;9795:6;9784:9;9780:22;9759:53;:::i;:::-;9749:63;;9705:117;9861:2;9887:53;9932:7;9923:6;9912:9;9908:22;9887:53;:::i;:::-;9877:63;;9832:118;9483:474;;;;;:::o;9963:180::-;10011:77;10008:1;10001:88;10108:4;10105:1;10098:15;10132:4;10129:1;10122:15;10149:320;10193:6;10230:1;10224:4;10220:12;10210:22;;10277:1;10271:4;10267:12;10298:18;10288:81;;10354:4;10346:6;10342:17;10332:27;;10288:81;10416:2;10408:6;10405:14;10385:18;10382:38;10379:84;;10435:18;;:::i;:::-;10379:84;10200:269;10149:320;;;:::o;10475:182::-;10615:34;10611:1;10603:6;10599:14;10592:58;10475:182;:::o;10663:366::-;10805:3;10826:67;10890:2;10885:3;10826:67;:::i;:::-;10819:74;;10902:93;10991:3;10902:93;:::i;:::-;11020:2;11015:3;11011:12;11004:19;;10663:366;;;:::o;11035:419::-;11201:4;11239:2;11228:9;11224:18;11216:26;;11288:9;11282:4;11278:20;11274:1;11263:9;11259:17;11252:47;11316:131;11442:4;11316:131;:::i;:::-;11308:139;;11035:419;;;:::o;11460:163::-;11600:15;11596:1;11588:6;11584:14;11577:39;11460:163;:::o;11629:366::-;11771:3;11792:67;11856:2;11851:3;11792:67;:::i;:::-;11785:74;;11868:93;11957:3;11868:93;:::i;:::-;11986:2;11981:3;11977:12;11970:19;;11629:366;;;:::o;12001:419::-;12167:4;12205:2;12194:9;12190:18;12182:26;;12254:9;12248:4;12244:20;12240:1;12229:9;12225:17;12218:47;12282:131;12408:4;12282:131;:::i;:::-;12274:139;;12001:419;;;:::o;12426:332::-;12547:4;12585:2;12574:9;12570:18;12562:26;;12598:71;12666:1;12655:9;12651:17;12642:6;12598:71;:::i;:::-;12679:72;12747:2;12736:9;12732:18;12723:6;12679:72;:::i;:::-;12426:332;;;;;:::o;12764:137::-;12818:5;12849:6;12843:13;12834:22;;12865:30;12889:5;12865:30;:::i;:::-;12764:137;;;;:::o;12907:345::-;12974:6;13023:2;13011:9;13002:7;12998:23;12994:32;12991:119;;;13029:79;;:::i;:::-;12991:119;13149:1;13174:61;13227:7;13218:6;13207:9;13203:22;13174:61;:::i;:::-;13164:71;;13120:125;12907:345;;;;:::o;13258:147::-;13359:11;13396:3;13381:18;;13258:147;;;;:::o;13411:114::-;;:::o;13531:398::-;13690:3;13711:83;13792:1;13787:3;13711:83;:::i;:::-;13704:90;;13803:93;13892:3;13803:93;:::i;:::-;13921:1;13916:3;13912:11;13905:18;;13531:398;;;:::o;13935:379::-;14119:3;14141:147;14284:3;14141:147;:::i;:::-;14134:154;;14305:3;14298:10;;13935:379;;;:::o;14320:170::-;14460:22;14456:1;14448:6;14444:14;14437:46;14320:170;:::o;14496:366::-;14638:3;14659:67;14723:2;14718:3;14659:67;:::i;:::-;14652:74;;14735:93;14824:3;14735:93;:::i;:::-;14853:2;14848:3;14844:12;14837:19;;14496:366;;;:::o;14868:419::-;15034:4;15072:2;15061:9;15057:18;15049:26;;15121:9;15115:4;15111:20;15107:1;15096:9;15092:17;15085:47;15149:131;15275:4;15149:131;:::i;:::-;15141:139;;14868:419;;;:::o;15293:225::-;15433:34;15429:1;15421:6;15417:14;15410:58;15502:8;15497:2;15489:6;15485:15;15478:33;15293:225;:::o;15524:366::-;15666:3;15687:67;15751:2;15746:3;15687:67;:::i;:::-;15680:74;;15763:93;15852:3;15763:93;:::i;:::-;15881:2;15876:3;15872:12;15865:19;;15524:366;;;:::o;15896:419::-;16062:4;16100:2;16089:9;16085:18;16077:26;;16149:9;16143:4;16139:20;16135:1;16124:9;16120:17;16113:47;16177:131;16303:4;16177:131;:::i;:::-;16169:139;;15896:419;;;:::o;16321:180::-;16369:77;16366:1;16359:88;16466:4;16463:1;16456:15;16490:4;16487:1;16480:15;16507:410;16547:7;16570:20;16588:1;16570:20;:::i;:::-;16565:25;;16604:20;16622:1;16604:20;:::i;:::-;16599:25;;16659:1;16656;16652:9;16681:30;16699:11;16681:30;:::i;:::-;16670:41;;16860:1;16851:7;16847:15;16844:1;16841:22;16821:1;16814:9;16794:83;16771:139;;16890:18;;:::i;:::-;16771:139;16555:362;16507:410;;;;:::o;16923:180::-;16971:77;16968:1;16961:88;17068:4;17065:1;17058:15;17092:4;17089:1;17082:15;17109:185;17149:1;17166:20;17184:1;17166:20;:::i;:::-;17161:25;;17200:20;17218:1;17200:20;:::i;:::-;17195:25;;17239:1;17229:35;;17244:18;;:::i;:::-;17229:35;17286:1;17283;17279:9;17274:14;;17109:185;;;;:::o;17300:220::-;17440:34;17436:1;17428:6;17424:14;17417:58;17509:3;17504:2;17496:6;17492:15;17485:28;17300:220;:::o;17526:366::-;17668:3;17689:67;17753:2;17748:3;17689:67;:::i;:::-;17682:74;;17765:93;17854:3;17765:93;:::i;:::-;17883:2;17878:3;17874:12;17867:19;;17526:366;;;:::o;17898:419::-;18064:4;18102:2;18091:9;18087:18;18079:26;;18151:9;18145:4;18141:20;18137:1;18126:9;18122:17;18115:47;18179:131;18305:4;18179:131;:::i;:::-;18171:139;;17898:419;;;:::o;18323:223::-;18463:34;18459:1;18451:6;18447:14;18440:58;18532:6;18527:2;18519:6;18515:15;18508:31;18323:223;:::o;18552:366::-;18694:3;18715:67;18779:2;18774:3;18715:67;:::i;:::-;18708:74;;18791:93;18880:3;18791:93;:::i;:::-;18909:2;18904:3;18900:12;18893:19;;18552:366;;;:::o;18924:419::-;19090:4;19128:2;19117:9;19113:18;19105:26;;19177:9;19171:4;19167:20;19163:1;19152:9;19148:17;19141:47;19205:131;19331:4;19205:131;:::i;:::-;19197:139;;18924:419;;;:::o;19349:221::-;19489:34;19485:1;19477:6;19473:14;19466:58;19558:4;19553:2;19545:6;19541:15;19534:29;19349:221;:::o;19576:366::-;19718:3;19739:67;19803:2;19798:3;19739:67;:::i;:::-;19732:74;;19815:93;19904:3;19815:93;:::i;:::-;19933:2;19928:3;19924:12;19917:19;;19576:366;;;:::o;19948:419::-;20114:4;20152:2;20141:9;20137:18;20129:26;;20201:9;20195:4;20191:20;20187:1;20176:9;20172:17;20165:47;20229:131;20355:4;20229:131;:::i;:::-;20221:139;;19948:419;;;:::o;20373:165::-;20513:17;20509:1;20501:6;20497:14;20490:41;20373:165;:::o;20544:366::-;20686:3;20707:67;20771:2;20766:3;20707:67;:::i;:::-;20700:74;;20783:93;20872:3;20783:93;:::i;:::-;20901:2;20896:3;20892:12;20885:19;;20544:366;;;:::o;20916:419::-;21082:4;21120:2;21109:9;21105:18;21097:26;;21169:9;21163:4;21159:20;21155:1;21144:9;21140:17;21133:47;21197:131;21323:4;21197:131;:::i;:::-;21189:139;;20916:419;;;:::o;21341:163::-;21481:15;21477:1;21469:6;21465:14;21458:39;21341:163;:::o;21510:366::-;21652:3;21673:67;21737:2;21732:3;21673:67;:::i;:::-;21666:74;;21749:93;21838:3;21749:93;:::i;:::-;21867:2;21862:3;21858:12;21851:19;;21510:366;;;:::o;21882:419::-;22048:4;22086:2;22075:9;22071:18;22063:26;;22135:9;22129:4;22125:20;22121:1;22110:9;22106:17;22099:47;22163:131;22289:4;22163:131;:::i;:::-;22155:139;;21882:419;;;:::o;22307:164::-;22447:16;22443:1;22435:6;22431:14;22424:40;22307:164;:::o;22477:366::-;22619:3;22640:67;22704:2;22699:3;22640:67;:::i;:::-;22633:74;;22716:93;22805:3;22716:93;:::i;:::-;22834:2;22829:3;22825:12;22818:19;;22477:366;;;:::o;22849:419::-;23015:4;23053:2;23042:9;23038:18;23030:26;;23102:9;23096:4;23092:20;23088:1;23077:9;23073:17;23066:47;23130:131;23256:4;23130:131;:::i;:::-;23122:139;;22849:419;;;:::o;23274:168::-;23414:20;23410:1;23402:6;23398:14;23391:44;23274:168;:::o;23448:366::-;23590:3;23611:67;23675:2;23670:3;23611:67;:::i;:::-;23604:74;;23687:93;23776:3;23687:93;:::i;:::-;23805:2;23800:3;23796:12;23789:19;;23448:366;;;:::o;23820:419::-;23986:4;24024:2;24013:9;24009:18;24001:26;;24073:9;24067:4;24063:20;24059:1;24048:9;24044:17;24037:47;24101:131;24227:4;24101:131;:::i;:::-;24093:139;;23820:419;;;:::o;24245:156::-;24385:8;24381:1;24373:6;24369:14;24362:32;24245:156;:::o;24407:365::-;24549:3;24570:66;24634:1;24629:3;24570:66;:::i;:::-;24563:73;;24645:93;24734:3;24645:93;:::i;:::-;24763:2;24758:3;24754:12;24747:19;;24407:365;;;:::o;24778:419::-;24944:4;24982:2;24971:9;24967:18;24959:26;;25031:9;25025:4;25021:20;25017:1;25006:9;25002:17;24995:47;25059:131;25185:4;25059:131;:::i;:::-;25051:139;;24778:419;;;:::o;25203:160::-;25343:12;25339:1;25331:6;25327:14;25320:36;25203:160;:::o;25369:366::-;25511:3;25532:67;25596:2;25591:3;25532:67;:::i;:::-;25525:74;;25608:93;25697:3;25608:93;:::i;:::-;25726:2;25721:3;25717:12;25710:19;;25369:366;;;:::o;25741:419::-;25907:4;25945:2;25934:9;25930:18;25922:26;;25994:9;25988:4;25984:20;25980:1;25969:9;25965:17;25958:47;26022:131;26148:4;26022:131;:::i;:::-;26014:139;;25741:419;;;:::o;26166:194::-;26206:4;26226:20;26244:1;26226:20;:::i;:::-;26221:25;;26260:20;26278:1;26260:20;:::i;:::-;26255:25;;26304:1;26301;26297:9;26289:17;;26328:1;26322:4;26319:11;26316:37;;;26333:18;;:::i;:::-;26316:37;26166:194;;;;:::o;26366:191::-;26406:3;26425:20;26443:1;26425:20;:::i;:::-;26420:25;;26459:20;26477:1;26459:20;:::i;:::-;26454:25;;26502:1;26499;26495:9;26488:16;;26523:3;26520:1;26517:10;26514:36;;;26530:18;;:::i;:::-;26514:36;26366:191;;;;:::o;26563:177::-;26703:29;26699:1;26691:6;26687:14;26680:53;26563:177;:::o;26746:366::-;26888:3;26909:67;26973:2;26968:3;26909:67;:::i;:::-;26902:74;;26985:93;27074:3;26985:93;:::i;:::-;27103:2;27098:3;27094:12;27087:19;;26746:366;;;:::o;27118:419::-;27284:4;27322:2;27311:9;27307:18;27299:26;;27371:9;27365:4;27361:20;27357:1;27346:9;27342:17;27335:47;27399:131;27525:4;27399:131;:::i;:::-;27391:139;;27118:419;;;:::o;27543:180::-;27591:77;27588:1;27581:88;27688:4;27685:1;27678:15;27712:4;27709:1;27702:15;27729:180;27777:77;27774:1;27767:88;27874:4;27871:1;27864:15;27898:4;27895:1;27888:15;27915:143;27972:5;28003:6;27997:13;27988:22;;28019:33;28046:5;28019:33;:::i;:::-;27915:143;;;;:::o;28064:351::-;28134:6;28183:2;28171:9;28162:7;28158:23;28154:32;28151:119;;;28189:79;;:::i;:::-;28151:119;28309:1;28334:64;28390:7;28381:6;28370:9;28366:22;28334:64;:::i;:::-;28324:74;;28280:128;28064:351;;;;:::o;28421:85::-;28466:7;28495:5;28484:16;;28421:85;;;:::o;28512:158::-;28570:9;28603:61;28621:42;28630:32;28656:5;28630:32;:::i;:::-;28621:42;:::i;:::-;28603:61;:::i;:::-;28590:74;;28512:158;;;:::o;28676:147::-;28771:45;28810:5;28771:45;:::i;:::-;28766:3;28759:58;28676:147;;:::o;28829:114::-;28896:6;28930:5;28924:12;28914:22;;28829:114;;;:::o;28949:184::-;29048:11;29082:6;29077:3;29070:19;29122:4;29117:3;29113:14;29098:29;;28949:184;;;;:::o;29139:132::-;29206:4;29229:3;29221:11;;29259:4;29254:3;29250:14;29242:22;;29139:132;;;:::o;29277:108::-;29354:24;29372:5;29354:24;:::i;:::-;29349:3;29342:37;29277:108;;:::o;29391:179::-;29460:10;29481:46;29523:3;29515:6;29481:46;:::i;:::-;29559:4;29554:3;29550:14;29536:28;;29391:179;;;;:::o;29576:113::-;29646:4;29678;29673:3;29669:14;29661:22;;29576:113;;;:::o;29725:732::-;29844:3;29873:54;29921:5;29873:54;:::i;:::-;29943:86;30022:6;30017:3;29943:86;:::i;:::-;29936:93;;30053:56;30103:5;30053:56;:::i;:::-;30132:7;30163:1;30148:284;30173:6;30170:1;30167:13;30148:284;;;30249:6;30243:13;30276:63;30335:3;30320:13;30276:63;:::i;:::-;30269:70;;30362:60;30415:6;30362:60;:::i;:::-;30352:70;;30208:224;30195:1;30192;30188:9;30183:14;;30148:284;;;30152:14;30448:3;30441:10;;29849:608;;;29725:732;;;;:::o;30463:831::-;30726:4;30764:3;30753:9;30749:19;30741:27;;30778:71;30846:1;30835:9;30831:17;30822:6;30778:71;:::i;:::-;30859:80;30935:2;30924:9;30920:18;30911:6;30859:80;:::i;:::-;30986:9;30980:4;30976:20;30971:2;30960:9;30956:18;30949:48;31014:108;31117:4;31108:6;31014:108;:::i;:::-;31006:116;;31132:72;31200:2;31189:9;31185:18;31176:6;31132:72;:::i;:::-;31214:73;31282:3;31271:9;31267:19;31258:6;31214:73;:::i;:::-;30463:831;;;;;;;;:::o;31300:483::-;31471:4;31509:2;31498:9;31494:18;31486:26;;31522:71;31590:1;31579:9;31575:17;31566:6;31522:71;:::i;:::-;31640:9;31634:4;31630:20;31625:2;31614:9;31610:18;31603:48;31668:108;31771:4;31762:6;31668:108;:::i;:::-;31660:116;;31300:483;;;;;:::o

Swarm Source

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