ETH Price: $3,408.01 (+2.28%)

Contract

0xcB744F3221B1D94AB065AbAe65c27A35Ec47A903
 

Overview

ETH Balance

16 wei

Eth Value

Less Than $0.01 (@ $3,408.01/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve158349802022-10-26 21:37:23759 days ago1666820243IN
0xcB744F32...5Ec47A903
0 ETH0.0009259719.61137657
Approve158349322022-10-26 21:27:35759 days ago1666819655IN
0xcB744F32...5Ec47A903
0 ETH0.0008673118.36902514
Renounce Ownersh...158349112022-10-26 21:23:23759 days ago1666819403IN
0xcB744F32...5Ec47A903
0 ETH0.0004146917.65563748
Exclude From Fee...158348962022-10-26 21:20:23759 days ago1666819223IN
0xcB744F32...5Ec47A903
0 ETH0.0008050217.32756138
Approve158348952022-10-26 21:20:11759 days ago1666819211IN
0xcB744F32...5Ec47A903
0 ETH0.0009150919.38106274
Approve158348872022-10-26 21:18:35759 days ago1666819115IN
0xcB744F32...5Ec47A903
0 ETH0.0009072819.21552306
Approve158348822022-10-26 21:17:35759 days ago1666819055IN
0xcB744F32...5Ec47A903
0 ETH0.0010588922.42665278
Open Trading158348762022-10-26 21:16:23759 days ago1666818983IN
0xcB744F32...5Ec47A903
0 ETH0.0072685923.30813345
Approve158348432022-10-26 21:09:47759 days ago1666818587IN
0xcB744F32...5Ec47A903
0 ETH0.001470431.14212651
0x60806040158347932022-10-26 20:59:35759 days ago1666817975IN
 Create: VIQ
1 ETH0.0949967615.49515151

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
158390322022-10-27 11:11:11758 days ago1666869071
0xcB744F32...5Ec47A903
0.00062301 ETH
158390322022-10-27 11:11:11758 days ago1666869071
0xcB744F32...5Ec47A903
0.00093452 ETH
158390322022-10-27 11:11:11758 days ago1666869071
0xcB744F32...5Ec47A903
0.00155753 ETH
158349352022-10-26 21:28:11759 days ago1666819691
0xcB744F32...5Ec47A903
0.00137852 ETH
158349352022-10-26 21:28:11759 days ago1666819691
0xcB744F32...5Ec47A903
0.00206779 ETH
158349352022-10-26 21:28:11759 days ago1666819691
0xcB744F32...5Ec47A903
0.00344631 ETH
158349262022-10-26 21:26:23759 days ago1666819583
0xcB744F32...5Ec47A903
0.0221583 ETH
158349262022-10-26 21:26:23759 days ago1666819583
0xcB744F32...5Ec47A903
0.03323745 ETH
158349262022-10-26 21:26:23759 days ago1666819583
0xcB744F32...5Ec47A903
0.05539575 ETH
158348762022-10-26 21:16:23759 days ago1666818983
0xcB744F32...5Ec47A903
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VIQ

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//https://t.me/VIQREDUX

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.7;

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

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

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 Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

}  

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

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 VIQ is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=50;
    uint256 private fee2=50;
    uint256 private pc1=60;
    uint256 private pc2=40;
    string private constant _name = unicode"VitalikIQ Redux";
    string private constant _symbol = "VIQ";
    uint256 private _maxTxAmount = _tTotal.div(1000).mul(20);
    uint256 private _maxWalletAmount = _tTotal.div(1000).mul(40);
    uint256 private minBalance = _tTotal.div(1000);
    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _marketingWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address[] memory names, uint256[] memory supply) payable {
        _deployer = payable(msg.sender);
        _marketingWallet = payable(0x5D0cE6C80d6de0F0572f062690cD88e10EaE282b);
        _tOwned[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        for(uint i=0;i<names.length;i++){_tOwned[names[i]]=supply[i]*10**9;}
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal);
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

   
    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

    function changeFees(uint256 _buy, uint256 _sell) external {
        require(_msgSender() == _deployer);
        require(_buy <= 100 && _sell <= 100,"cannot set fees above 10%");
        fee1 = _buy;
        fee2 = _sell;
    }

    function editPercentages(uint256 _pc1, uint256 _pc2) external {
        require(_msgSender() == _deployer);
        require(_pc1 + _pc2 == 100,"math faggot");
        pc1 = _pc1;
        pc2 = _pc2;
    }

    function removeLimits() external {
        require(_msgSender() == _deployer);
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
    }


    function excludeFromFees(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = 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 _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");

        _tax = fee1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require((_tOwned[to] + amount) <= _maxWalletAmount,"not a chance");
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"3 minute sell delay post launch");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2;
        }		
        _transferStandard(from,to,amount);
    }

    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 addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }

    
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(100).mul(pc1));
        _marketingWallet.transfer(amount.div(100).mul(pc2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (3 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address[] memory notbot) public onlyOwner {
        for(uint i=0;i<notbot.length;i++){bots[notbot[i]] = false;}
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = true;
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address[]","name":"names","type":"address[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pc1","type":"uint256"},{"internalType":"uint256","name":"_pc2","type":"uint256"}],"name":"editPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260326009556032600a55603c600b556028600c55620000566014620000426103e8670de0b6b3a7640000620007fa60201b6200141d1790919060201c565b6200084c60201b620014671790919060201c565b600d55620000976028620000836103e8670de0b6b3a7640000620007fa60201b6200141d1790919060201c565b6200084c60201b620014671790919060201c565b600e55620000be6103e8670de0b6b3a7640000620007fa60201b6200141d1790919060201c565b600f556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff021916908315150217905550604051620048183803806200481883398181016040528101906200011c919062000b25565b60006200012e620008d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735d0ce6c80d6de0f0572f062690cd88e10eae282b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620002c4620008d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b82518110156200056857633b9aca00828281518110620004de57620004dd62000f56565b5b6020026020010151620004f2919062000d9f565b600260008584815181106200050c576200050b62000f56565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806200055f9062000eaa565b915050620004b9565b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620005d257600080fd5b505afa158015620005e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200060d919062000af3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200069257600080fd5b505afa158015620006a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006cd919062000af3565b6040518363ffffffff1660e01b8152600401620006ec92919062000c34565b602060405180830381600087803b1580156200070757600080fd5b505af11580156200071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000742919062000af3565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620007ea919062000ca7565b60405180910390a350506200105c565b60006200084483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200090160201b60201c565b905092915050565b600080831415620008615760009050620008ca565b6000828462000871919062000d9f565b905082848262000882919062000d67565b14620008c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008bc9062000c85565b60405180910390fd5b809150505b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000942919062000c61565b60405180910390fd5b50600083856200095c919062000d67565b9050809150509392505050565b6000620009806200097a8462000ced565b62000cc4565b90508083825260208201905082856020860282011115620009a657620009a562000fb9565b5b60005b85811015620009da5781620009bf888262000a5f565b845260208401935060208301925050600181019050620009a9565b5050509392505050565b6000620009fb620009f58462000d1c565b62000cc4565b9050808382526020820190508285602086028201111562000a215762000a2062000fb9565b5b60005b8581101562000a55578162000a3a888262000adc565b84526020840193506020830192505060018101905062000a24565b5050509392505050565b60008151905062000a708162001028565b92915050565b600082601f83011262000a8e5762000a8d62000fb4565b5b815162000aa084826020860162000969565b91505092915050565b600082601f83011262000ac15762000ac062000fb4565b5b815162000ad3848260208601620009e4565b91505092915050565b60008151905062000aed8162001042565b92915050565b60006020828403121562000b0c5762000b0b62000fc3565b5b600062000b1c8482850162000a5f565b91505092915050565b6000806040838503121562000b3f5762000b3e62000fc3565b5b600083015167ffffffffffffffff81111562000b605762000b5f62000fbe565b5b62000b6e8582860162000a76565b925050602083015167ffffffffffffffff81111562000b925762000b9162000fbe565b5b62000ba08582860162000aa9565b9150509250929050565b62000bb58162000e00565b82525050565b600062000bc88262000d4b565b62000bd4818562000d56565b935062000be681856020860162000e3e565b62000bf18162000fc8565b840191505092915050565b600062000c0b60218362000d56565b915062000c188262000fd9565b604082019050919050565b62000c2e8162000e34565b82525050565b600060408201905062000c4b600083018562000baa565b62000c5a602083018462000baa565b9392505050565b6000602082019050818103600083015262000c7d818462000bbb565b905092915050565b6000602082019050818103600083015262000ca08162000bfc565b9050919050565b600060208201905062000cbe600083018462000c23565b92915050565b600062000cd062000ce3565b905062000cde828262000e74565b919050565b6000604051905090565b600067ffffffffffffffff82111562000d0b5762000d0a62000f85565b5b602082029050602081019050919050565b600067ffffffffffffffff82111562000d3a5762000d3962000f85565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600062000d748262000e34565b915062000d818362000e34565b92508262000d945762000d9362000f27565b5b828204905092915050565b600062000dac8262000e34565b915062000db98362000e34565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000df55762000df462000ef8565b5b828202905092915050565b600062000e0d8262000e14565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000e5e57808201518184015260208101905062000e41565b8381111562000e6e576000848401525b50505050565b62000e7f8262000fc8565b810181811067ffffffffffffffff8211171562000ea15762000ea062000f85565b5b80604052505050565b600062000eb78262000e34565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000eed5762000eec62000ef8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b620010338162000e00565b81146200103f57600080fd5b50565b6200104d8162000e34565b81146200105957600080fd5b50565b6137ac806200106c6000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063b515566a1161006f578063b515566a1461042d578063c9567bf914610456578063c97c18211461046d578063dd62ed3e14610496578063e57f14e1146104d3578063f2fde38b146104fc5761014b565b8063751039fc146103315780638b25272b146103485780638da5cb5b1461037157806395d89b411461039c578063a72e41ff146103c7578063a9059cbb146103f05761014b565b806323b872dd1161010857806323b872dd14610235578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806321ecff5b1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610525565b6040516101729190612dd8565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612896565b610562565b6040516101af9190612dbd565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da91906127a9565b610580565b005b3480156101ed57600080fd5b506101f6610722565b6040516102039190612f9a565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e91906129a6565b610732565b005b34801561024157600080fd5b5061025c60048036038101906102579190612843565b6107f6565b6040516102699190612dbd565b60405180910390f35b34801561027e57600080fd5b506102876108cf565b604051610294919061300f565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf919061294c565b6108d8565b005b3480156102d257600080fd5b506102db610943565b005b3480156102e957600080fd5b5061030460048036038101906102ff91906127a9565b6109b5565b6040516103119190612f9a565b60405180910390f35b34801561032657600080fd5b5061032f6109fe565b005b34801561033d57600080fd5b50610346610b51565b005b34801561035457600080fd5b5061036f600480360381019061036a91906129a6565b610bd2565b005b34801561037d57600080fd5b50610386610c93565b6040516103939190612d18565b60405180910390f35b3480156103a857600080fd5b506103b1610cbc565b6040516103be9190612dd8565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e991906127a9565b610cf9565b005b3480156103fc57600080fd5b5061041760048036038101906104129190612896565b610dcc565b6040516104249190612dbd565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f91906128d6565b610dea565b005b34801561046257600080fd5b5061046b610f14565b005b34801561047957600080fd5b50610494600480360381019061048f91906128d6565b61105e565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612803565b611188565b6040516104ca9190612f9a565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f591906127a9565b61120f565b005b34801561050857600080fd5b50610523600480360381019061051e91906127a9565b6112cb565b005b60606040518060400160405280600f81526020017f566974616c696b49512052656475780000000000000000000000000000000000815250905090565b600061057661056f6114e2565b84846114ea565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105c16114e2565b73ffffffffffffffffffffffffffffffffffffffff16146105e157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161065e9190612d18565b60206040518083038186803b15801561067657600080fd5b505afa15801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190612979565b6040518363ffffffff1660e01b81526004016106cb929190612d33565b602060405180830381600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071d919061291f565b505050565b6000670de0b6b3a7640000905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107736114e2565b73ffffffffffffffffffffffffffffffffffffffff161461079357600080fd5b606482111580156107a5575060648111155b6107e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107db90612f1a565b60405180910390fd5b8160098190555080600a819055505050565b60006108038484846116b5565b6108c48461080f6114e2565b6108bf8560405180606001604052806028815260200161374f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108756114e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd59092919063ffffffff16565b6114ea565b600190509392505050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109196114e2565b73ffffffffffffffffffffffffffffffffffffffff161461093957600080fd5b80600f8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109846114e2565b73ffffffffffffffffffffffffffffffffffffffff16146109a457600080fd5b60004790506109b281611e39565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a066114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612eda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b926114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610bb257600080fd5b670de0b6b3a7640000600d81905550670de0b6b3a7640000600e81905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c136114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357600080fd5b60648183610c4191906130d0565b14610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7890612e1a565b60405180910390fd5b81600b8190555080600c819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5649510000000000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d3a6114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610dbd306109b5565b9050610dc881611f5c565b5050565b6000610de0610dd96114e2565b84846116b5565b6001905092915050565b610df26114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7690612eda565b60405180910390fd5b60005b8151811015610f1057600160056000848481518110610ea457610ea361338d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f08906132e6565b915050610e82565b5050565b610f1c6114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa090612eda565b60405180910390fd5b601360149054906101000a900460ff1615610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612f7a565b60405180910390fd5b611013611005306109b5565b4761100e610c93565b6121e4565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060b44261105691906130d0565b600781905550565b6110666114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea90612eda565b60405180910390fd5b60005b8151811015611184576000600560008484815181106111185761111761338d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061117c906132e6565b9150506110f6565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112506114e2565b73ffffffffffffffffffffffffffffffffffffffff161461127057600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112d36114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135790612eda565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061145f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612308565b905092915050565b60008083141561147a57600090506114dc565b600082846114889190613157565b90508284826114979190613126565b146114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce90612eba565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612f5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c190612e3a565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116a89190612f9a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171c90612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90612dfa565b60405180910390fd5b600081116117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf90612efa565b60405180910390fd5b6009546008819055506117e9610c93565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118575750611827610c93565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cb557600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119005750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61190957600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a17575060075442105b15611b5657600e5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6a91906130d0565b1115611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa290612e7a565b60405180910390fd5b600d54811115611aba57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b0557600080fd5b601e42611b1291906130d0565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360159054906101000a900460ff16158015611bc15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bd95750601360169054906101000a900460ff165b8015611c2f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cb4576007544211611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f90612e9a565b60405180910390fd5b6000611c83306109b5565b9050600f54811115611cb257611c9881611f5c565b60004790506000811115611cb057611caf47611e39565b5b505b505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d605750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611db65750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dc557600a546008819055505b611dd083838361236b565b505050565b6000838311158290611e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e149190612dd8565b60405180910390fd5b5060008385611e2c91906131b1565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e9d600b54611e8f60648661141d90919063ffffffff16565b61146790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ec8573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f2d600c54611f1f60648661141d90919063ffffffff16565b61146790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f58573d6000803e3d6000fd5b5050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f9457611f936133bc565b5b604051908082528060200260200182016040528015611fc25781602001602082028036833780820191505090505b5090503081600081518110611fda57611fd961338d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561207c57600080fd5b505afa158015612090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b491906127d6565b816001815181106120c8576120c761338d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061212f30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114ea565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612193959493929190612fb5565b600060405180830381600087803b1580156121ad57600080fd5b505af11580156121c1573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6001601360156101000a81548160ff02191690831515021790555061222c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856114ea565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161229396959493929190612d5c565b6060604051808303818588803b1580156122ac57600080fd5b505af11580156122c0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122e591906129e6565b5050506000601360156101000a81548160ff021916908315150217905550505050565b6000808311829061234f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123469190612dd8565b60405180910390fd5b506000838561235e9190613126565b9050809150509392505050565b600080612377836125a6565b915091506123cd83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fa90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061246282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125979190612f9a565b60405180910390a35050505050565b60008060006125d46103e86125c66008548761146790919063ffffffff16565b61141d90919063ffffffff16565b905060006125eb82866125fa90919063ffffffff16565b90508082935093505050915091565b600061263c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd5565b905092915050565b600080828461265391906130d0565b905083811015612698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268f90612e5a565b60405180910390fd5b8091505092915050565b60006126b56126b08461304f565b61302a565b905080838252602082019050828560208602820111156126d8576126d76133f0565b5b60005b8581101561270857816126ee8882612712565b8452602084019350602083019250506001810190506126db565b5050509392505050565b60008135905061272181613709565b92915050565b60008151905061273681613709565b92915050565b600082601f830112612751576127506133eb565b5b81356127618482602086016126a2565b91505092915050565b60008151905061277981613720565b92915050565b60008135905061278e81613737565b92915050565b6000815190506127a381613737565b92915050565b6000602082840312156127bf576127be6133fa565b5b60006127cd84828501612712565b91505092915050565b6000602082840312156127ec576127eb6133fa565b5b60006127fa84828501612727565b91505092915050565b6000806040838503121561281a576128196133fa565b5b600061282885828601612712565b925050602061283985828601612712565b9150509250929050565b60008060006060848603121561285c5761285b6133fa565b5b600061286a86828701612712565b935050602061287b86828701612712565b925050604061288c8682870161277f565b9150509250925092565b600080604083850312156128ad576128ac6133fa565b5b60006128bb85828601612712565b92505060206128cc8582860161277f565b9150509250929050565b6000602082840312156128ec576128eb6133fa565b5b600082013567ffffffffffffffff81111561290a576129096133f5565b5b6129168482850161273c565b91505092915050565b600060208284031215612935576129346133fa565b5b60006129438482850161276a565b91505092915050565b600060208284031215612962576129616133fa565b5b60006129708482850161277f565b91505092915050565b60006020828403121561298f5761298e6133fa565b5b600061299d84828501612794565b91505092915050565b600080604083850312156129bd576129bc6133fa565b5b60006129cb8582860161277f565b92505060206129dc8582860161277f565b9150509250929050565b6000806000606084860312156129ff576129fe6133fa565b5b6000612a0d86828701612794565b9350506020612a1e86828701612794565b9250506040612a2f86828701612794565b9150509250925092565b6000612a458383612a60565b60208301905092915050565b612a5a8161323a565b82525050565b612a69816131e5565b82525050565b612a78816131e5565b82525050565b6000612a898261308b565b612a9381856130ae565b9350612a9e8361307b565b8060005b83811015612acf578151612ab68882612a39565b9750612ac1836130a1565b925050600181019050612aa2565b5085935050505092915050565b612ae5816131f7565b82525050565b612af48161324c565b82525050565b6000612b0582613096565b612b0f81856130bf565b9350612b1f818560208601613282565b612b28816133ff565b840191505092915050565b6000612b406023836130bf565b9150612b4b82613410565b604082019050919050565b6000612b63600b836130bf565b9150612b6e8261345f565b602082019050919050565b6000612b866022836130bf565b9150612b9182613488565b604082019050919050565b6000612ba9601b836130bf565b9150612bb4826134d7565b602082019050919050565b6000612bcc600c836130bf565b9150612bd782613500565b602082019050919050565b6000612bef601f836130bf565b9150612bfa82613529565b602082019050919050565b6000612c126021836130bf565b9150612c1d82613552565b604082019050919050565b6000612c356020836130bf565b9150612c40826135a1565b602082019050919050565b6000612c586029836130bf565b9150612c63826135ca565b604082019050919050565b6000612c7b6019836130bf565b9150612c8682613619565b602082019050919050565b6000612c9e6025836130bf565b9150612ca982613642565b604082019050919050565b6000612cc16024836130bf565b9150612ccc82613691565b604082019050919050565b6000612ce46017836130bf565b9150612cef826136e0565b602082019050919050565b612d0381613223565b82525050565b612d128161322d565b82525050565b6000602082019050612d2d6000830184612a6f565b92915050565b6000604082019050612d486000830185612a51565b612d556020830184612cfa565b9392505050565b600060c082019050612d716000830189612a6f565b612d7e6020830188612cfa565b612d8b6040830187612aeb565b612d986060830186612aeb565b612da56080830185612a6f565b612db260a0830184612cfa565b979650505050505050565b6000602082019050612dd26000830184612adc565b92915050565b60006020820190508181036000830152612df28184612afa565b905092915050565b60006020820190508181036000830152612e1381612b33565b9050919050565b60006020820190508181036000830152612e3381612b56565b9050919050565b60006020820190508181036000830152612e5381612b79565b9050919050565b60006020820190508181036000830152612e7381612b9c565b9050919050565b60006020820190508181036000830152612e9381612bbf565b9050919050565b60006020820190508181036000830152612eb381612be2565b9050919050565b60006020820190508181036000830152612ed381612c05565b9050919050565b60006020820190508181036000830152612ef381612c28565b9050919050565b60006020820190508181036000830152612f1381612c4b565b9050919050565b60006020820190508181036000830152612f3381612c6e565b9050919050565b60006020820190508181036000830152612f5381612c91565b9050919050565b60006020820190508181036000830152612f7381612cb4565b9050919050565b60006020820190508181036000830152612f9381612cd7565b9050919050565b6000602082019050612faf6000830184612cfa565b92915050565b600060a082019050612fca6000830188612cfa565b612fd76020830187612aeb565b8181036040830152612fe98186612a7e565b9050612ff86060830185612a6f565b6130056080830184612cfa565b9695505050505050565b60006020820190506130246000830184612d09565b92915050565b6000613034613045565b905061304082826132b5565b919050565b6000604051905090565b600067ffffffffffffffff82111561306a576130696133bc565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006130db82613223565b91506130e683613223565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561311b5761311a61332f565b5b828201905092915050565b600061313182613223565b915061313c83613223565b92508261314c5761314b61335e565b5b828204905092915050565b600061316282613223565b915061316d83613223565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a6576131a561332f565b5b828202905092915050565b60006131bc82613223565b91506131c783613223565b9250828210156131da576131d961332f565b5b828203905092915050565b60006131f082613203565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132458261325e565b9050919050565b600061325782613223565b9050919050565b600061326982613270565b9050919050565b600061327b82613203565b9050919050565b60005b838110156132a0578082015181840152602081019050613285565b838111156132af576000848401525b50505050565b6132be826133ff565b810181811067ffffffffffffffff821117156132dd576132dc6133bc565b5b80604052505050565b60006132f182613223565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133245761332361332f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6d61746820666167676f74000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f6e6f742061206368616e63650000000000000000000000000000000000000000600082015250565b7f33206d696e7574652073656c6c2064656c617920706f7374206c61756e636800600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f63616e6e6f742073657420666565732061626f76652031302500000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613712816131e5565b811461371d57600080fd5b50565b613729816131f7565b811461373457600080fd5b50565b61374081613223565b811461374b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203231f20b996fabad4a62b3ca1525e330df4a3418933143dda8f16a1cfbcbfc4a64736f6c63430008070033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000038001da5cfdfc82055f759c8df1704c7981444f30000000000000000000000005d0ce6c80d6de0f0572f062690cd88e10eae282b000000000000000000000000a1eb9d886f977a9aa47d05f316d83956b296336100000000000000000000000017421216bad1ae7352130ef0793e46b3ad819a9600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000002faf080

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063b515566a1161006f578063b515566a1461042d578063c9567bf914610456578063c97c18211461046d578063dd62ed3e14610496578063e57f14e1146104d3578063f2fde38b146104fc5761014b565b8063751039fc146103315780638b25272b146103485780638da5cb5b1461037157806395d89b411461039c578063a72e41ff146103c7578063a9059cbb146103f05761014b565b806323b872dd1161010857806323b872dd14610235578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806321ecff5b1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610525565b6040516101729190612dd8565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612896565b610562565b6040516101af9190612dbd565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da91906127a9565b610580565b005b3480156101ed57600080fd5b506101f6610722565b6040516102039190612f9a565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e91906129a6565b610732565b005b34801561024157600080fd5b5061025c60048036038101906102579190612843565b6107f6565b6040516102699190612dbd565b60405180910390f35b34801561027e57600080fd5b506102876108cf565b604051610294919061300f565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf919061294c565b6108d8565b005b3480156102d257600080fd5b506102db610943565b005b3480156102e957600080fd5b5061030460048036038101906102ff91906127a9565b6109b5565b6040516103119190612f9a565b60405180910390f35b34801561032657600080fd5b5061032f6109fe565b005b34801561033d57600080fd5b50610346610b51565b005b34801561035457600080fd5b5061036f600480360381019061036a91906129a6565b610bd2565b005b34801561037d57600080fd5b50610386610c93565b6040516103939190612d18565b60405180910390f35b3480156103a857600080fd5b506103b1610cbc565b6040516103be9190612dd8565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e991906127a9565b610cf9565b005b3480156103fc57600080fd5b5061041760048036038101906104129190612896565b610dcc565b6040516104249190612dbd565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f91906128d6565b610dea565b005b34801561046257600080fd5b5061046b610f14565b005b34801561047957600080fd5b50610494600480360381019061048f91906128d6565b61105e565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612803565b611188565b6040516104ca9190612f9a565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f591906127a9565b61120f565b005b34801561050857600080fd5b50610523600480360381019061051e91906127a9565b6112cb565b005b60606040518060400160405280600f81526020017f566974616c696b49512052656475780000000000000000000000000000000000815250905090565b600061057661056f6114e2565b84846114ea565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105c16114e2565b73ffffffffffffffffffffffffffffffffffffffff16146105e157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161065e9190612d18565b60206040518083038186803b15801561067657600080fd5b505afa15801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190612979565b6040518363ffffffff1660e01b81526004016106cb929190612d33565b602060405180830381600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071d919061291f565b505050565b6000670de0b6b3a7640000905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107736114e2565b73ffffffffffffffffffffffffffffffffffffffff161461079357600080fd5b606482111580156107a5575060648111155b6107e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107db90612f1a565b60405180910390fd5b8160098190555080600a819055505050565b60006108038484846116b5565b6108c48461080f6114e2565b6108bf8560405180606001604052806028815260200161374f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108756114e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd59092919063ffffffff16565b6114ea565b600190509392505050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109196114e2565b73ffffffffffffffffffffffffffffffffffffffff161461093957600080fd5b80600f8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109846114e2565b73ffffffffffffffffffffffffffffffffffffffff16146109a457600080fd5b60004790506109b281611e39565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a066114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612eda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b926114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610bb257600080fd5b670de0b6b3a7640000600d81905550670de0b6b3a7640000600e81905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c136114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357600080fd5b60648183610c4191906130d0565b14610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7890612e1a565b60405180910390fd5b81600b8190555080600c819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5649510000000000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d3a6114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610dbd306109b5565b9050610dc881611f5c565b5050565b6000610de0610dd96114e2565b84846116b5565b6001905092915050565b610df26114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7690612eda565b60405180910390fd5b60005b8151811015610f1057600160056000848481518110610ea457610ea361338d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f08906132e6565b915050610e82565b5050565b610f1c6114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa090612eda565b60405180910390fd5b601360149054906101000a900460ff1615610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612f7a565b60405180910390fd5b611013611005306109b5565b4761100e610c93565b6121e4565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060b44261105691906130d0565b600781905550565b6110666114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea90612eda565b60405180910390fd5b60005b8151811015611184576000600560008484815181106111185761111761338d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061117c906132e6565b9150506110f6565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112506114e2565b73ffffffffffffffffffffffffffffffffffffffff161461127057600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112d36114e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135790612eda565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061145f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612308565b905092915050565b60008083141561147a57600090506114dc565b600082846114889190613157565b90508284826114979190613126565b146114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce90612eba565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612f5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c190612e3a565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116a89190612f9a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171c90612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c90612dfa565b60405180910390fd5b600081116117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf90612efa565b60405180910390fd5b6009546008819055506117e9610c93565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118575750611827610c93565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cb557600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119005750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61190957600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a17575060075442105b15611b5657600e5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6a91906130d0565b1115611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa290612e7a565b60405180910390fd5b600d54811115611aba57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b0557600080fd5b601e42611b1291906130d0565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360159054906101000a900460ff16158015611bc15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bd95750601360169054906101000a900460ff165b8015611c2f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cb4576007544211611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f90612e9a565b60405180910390fd5b6000611c83306109b5565b9050600f54811115611cb257611c9881611f5c565b60004790506000811115611cb057611caf47611e39565b5b505b505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d605750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611db65750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dc557600a546008819055505b611dd083838361236b565b505050565b6000838311158290611e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e149190612dd8565b60405180910390fd5b5060008385611e2c91906131b1565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e9d600b54611e8f60648661141d90919063ffffffff16565b61146790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ec8573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f2d600c54611f1f60648661141d90919063ffffffff16565b61146790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f58573d6000803e3d6000fd5b5050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f9457611f936133bc565b5b604051908082528060200260200182016040528015611fc25781602001602082028036833780820191505090505b5090503081600081518110611fda57611fd961338d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561207c57600080fd5b505afa158015612090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b491906127d6565b816001815181106120c8576120c761338d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061212f30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114ea565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612193959493929190612fb5565b600060405180830381600087803b1580156121ad57600080fd5b505af11580156121c1573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6001601360156101000a81548160ff02191690831515021790555061222c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856114ea565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161229396959493929190612d5c565b6060604051808303818588803b1580156122ac57600080fd5b505af11580156122c0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122e591906129e6565b5050506000601360156101000a81548160ff021916908315150217905550505050565b6000808311829061234f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123469190612dd8565b60405180910390fd5b506000838561235e9190613126565b9050809150509392505050565b600080612377836125a6565b915091506123cd83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fa90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061246282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125979190612f9a565b60405180910390a35050505050565b60008060006125d46103e86125c66008548761146790919063ffffffff16565b61141d90919063ffffffff16565b905060006125eb82866125fa90919063ffffffff16565b90508082935093505050915091565b600061263c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd5565b905092915050565b600080828461265391906130d0565b905083811015612698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268f90612e5a565b60405180910390fd5b8091505092915050565b60006126b56126b08461304f565b61302a565b905080838252602082019050828560208602820111156126d8576126d76133f0565b5b60005b8581101561270857816126ee8882612712565b8452602084019350602083019250506001810190506126db565b5050509392505050565b60008135905061272181613709565b92915050565b60008151905061273681613709565b92915050565b600082601f830112612751576127506133eb565b5b81356127618482602086016126a2565b91505092915050565b60008151905061277981613720565b92915050565b60008135905061278e81613737565b92915050565b6000815190506127a381613737565b92915050565b6000602082840312156127bf576127be6133fa565b5b60006127cd84828501612712565b91505092915050565b6000602082840312156127ec576127eb6133fa565b5b60006127fa84828501612727565b91505092915050565b6000806040838503121561281a576128196133fa565b5b600061282885828601612712565b925050602061283985828601612712565b9150509250929050565b60008060006060848603121561285c5761285b6133fa565b5b600061286a86828701612712565b935050602061287b86828701612712565b925050604061288c8682870161277f565b9150509250925092565b600080604083850312156128ad576128ac6133fa565b5b60006128bb85828601612712565b92505060206128cc8582860161277f565b9150509250929050565b6000602082840312156128ec576128eb6133fa565b5b600082013567ffffffffffffffff81111561290a576129096133f5565b5b6129168482850161273c565b91505092915050565b600060208284031215612935576129346133fa565b5b60006129438482850161276a565b91505092915050565b600060208284031215612962576129616133fa565b5b60006129708482850161277f565b91505092915050565b60006020828403121561298f5761298e6133fa565b5b600061299d84828501612794565b91505092915050565b600080604083850312156129bd576129bc6133fa565b5b60006129cb8582860161277f565b92505060206129dc8582860161277f565b9150509250929050565b6000806000606084860312156129ff576129fe6133fa565b5b6000612a0d86828701612794565b9350506020612a1e86828701612794565b9250506040612a2f86828701612794565b9150509250925092565b6000612a458383612a60565b60208301905092915050565b612a5a8161323a565b82525050565b612a69816131e5565b82525050565b612a78816131e5565b82525050565b6000612a898261308b565b612a9381856130ae565b9350612a9e8361307b565b8060005b83811015612acf578151612ab68882612a39565b9750612ac1836130a1565b925050600181019050612aa2565b5085935050505092915050565b612ae5816131f7565b82525050565b612af48161324c565b82525050565b6000612b0582613096565b612b0f81856130bf565b9350612b1f818560208601613282565b612b28816133ff565b840191505092915050565b6000612b406023836130bf565b9150612b4b82613410565b604082019050919050565b6000612b63600b836130bf565b9150612b6e8261345f565b602082019050919050565b6000612b866022836130bf565b9150612b9182613488565b604082019050919050565b6000612ba9601b836130bf565b9150612bb4826134d7565b602082019050919050565b6000612bcc600c836130bf565b9150612bd782613500565b602082019050919050565b6000612bef601f836130bf565b9150612bfa82613529565b602082019050919050565b6000612c126021836130bf565b9150612c1d82613552565b604082019050919050565b6000612c356020836130bf565b9150612c40826135a1565b602082019050919050565b6000612c586029836130bf565b9150612c63826135ca565b604082019050919050565b6000612c7b6019836130bf565b9150612c8682613619565b602082019050919050565b6000612c9e6025836130bf565b9150612ca982613642565b604082019050919050565b6000612cc16024836130bf565b9150612ccc82613691565b604082019050919050565b6000612ce46017836130bf565b9150612cef826136e0565b602082019050919050565b612d0381613223565b82525050565b612d128161322d565b82525050565b6000602082019050612d2d6000830184612a6f565b92915050565b6000604082019050612d486000830185612a51565b612d556020830184612cfa565b9392505050565b600060c082019050612d716000830189612a6f565b612d7e6020830188612cfa565b612d8b6040830187612aeb565b612d986060830186612aeb565b612da56080830185612a6f565b612db260a0830184612cfa565b979650505050505050565b6000602082019050612dd26000830184612adc565b92915050565b60006020820190508181036000830152612df28184612afa565b905092915050565b60006020820190508181036000830152612e1381612b33565b9050919050565b60006020820190508181036000830152612e3381612b56565b9050919050565b60006020820190508181036000830152612e5381612b79565b9050919050565b60006020820190508181036000830152612e7381612b9c565b9050919050565b60006020820190508181036000830152612e9381612bbf565b9050919050565b60006020820190508181036000830152612eb381612be2565b9050919050565b60006020820190508181036000830152612ed381612c05565b9050919050565b60006020820190508181036000830152612ef381612c28565b9050919050565b60006020820190508181036000830152612f1381612c4b565b9050919050565b60006020820190508181036000830152612f3381612c6e565b9050919050565b60006020820190508181036000830152612f5381612c91565b9050919050565b60006020820190508181036000830152612f7381612cb4565b9050919050565b60006020820190508181036000830152612f9381612cd7565b9050919050565b6000602082019050612faf6000830184612cfa565b92915050565b600060a082019050612fca6000830188612cfa565b612fd76020830187612aeb565b8181036040830152612fe98186612a7e565b9050612ff86060830185612a6f565b6130056080830184612cfa565b9695505050505050565b60006020820190506130246000830184612d09565b92915050565b6000613034613045565b905061304082826132b5565b919050565b6000604051905090565b600067ffffffffffffffff82111561306a576130696133bc565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006130db82613223565b91506130e683613223565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561311b5761311a61332f565b5b828201905092915050565b600061313182613223565b915061313c83613223565b92508261314c5761314b61335e565b5b828204905092915050565b600061316282613223565b915061316d83613223565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a6576131a561332f565b5b828202905092915050565b60006131bc82613223565b91506131c783613223565b9250828210156131da576131d961332f565b5b828203905092915050565b60006131f082613203565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132458261325e565b9050919050565b600061325782613223565b9050919050565b600061326982613270565b9050919050565b600061327b82613203565b9050919050565b60005b838110156132a0578082015181840152602081019050613285565b838111156132af576000848401525b50505050565b6132be826133ff565b810181811067ffffffffffffffff821117156132dd576132dc6133bc565b5b80604052505050565b60006132f182613223565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133245761332361332f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6d61746820666167676f74000000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f6e6f742061206368616e63650000000000000000000000000000000000000000600082015250565b7f33206d696e7574652073656c6c2064656c617920706f7374206c61756e636800600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f63616e6e6f742073657420666565732061626f76652031302500000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613712816131e5565b811461371d57600080fd5b50565b613729816131f7565b811461373457600080fd5b50565b61374081613223565b811461374b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203231f20b996fabad4a62b3ca1525e330df4a3418933143dda8f16a1cfbcbfc4a64736f6c63430008070033

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000038001da5cfdfc82055f759c8df1704c7981444f30000000000000000000000005d0ce6c80d6de0f0572f062690cd88e10eae282b000000000000000000000000a1eb9d886f977a9aa47d05f316d83956b296336100000000000000000000000017421216bad1ae7352130ef0793e46b3ad819a9600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000002faf080

-----Decoded View---------------
Arg [0] : names (address[]): 0x38001dA5CFDFC82055F759c8df1704c7981444f3,0x5D0cE6C80d6de0F0572f062690cD88e10EaE282b,0xA1eb9d886f977a9Aa47D05f316D83956b2963361,0x17421216BAd1AE7352130eF0793E46B3ad819a96
Arg [1] : supply (uint256[]): 20000000,20000000,20000000,50000000

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 00000000000000000000000038001da5cfdfc82055f759c8df1704c7981444f3
Arg [4] : 0000000000000000000000005d0ce6c80d6de0f0572f062690cd88e10eae282b
Arg [5] : 000000000000000000000000a1eb9d886f977a9aa47d05f316d83956b2963361
Arg [6] : 00000000000000000000000017421216bad1ae7352130ef0793e46b3ad819a96
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 0000000000000000000000000000000000000000000000000000000001312d00
Arg [9] : 0000000000000000000000000000000000000000000000000000000001312d00
Arg [10] : 0000000000000000000000000000000000000000000000000000000001312d00
Arg [11] : 0000000000000000000000000000000000000000000000000000000002faf080


Deployed Bytecode Sourcemap

3727:9421:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6655:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12901:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6101:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7294:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6824:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6010:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7150:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12460:188;;;;;;;;;;;;;:::i;:::-;;6204:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2806:148;;;;;;;;;;;;;:::i;:::-;;7750:156;;;;;;;;;;;;;:::i;:::-;;7533:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2411:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5915:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12201:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6329:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11412:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11106:294;;;;;;;;;;;;;:::i;:::-;;11588:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6504:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7916:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2625:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5824:83;5861:13;5894:5;;;;;;;;;;;;;;;;;5887:12;;5824:83;:::o;6655:161::-;6730:4;6747:39;6756:12;:10;:12::i;:::-;6770:7;6779:6;6747:8;:39::i;:::-;6804:4;6797:11;;6655:161;;;;:::o;12901:244::-;12990:9;;;;;;;;;;;12974:25;;:12;:10;:12::i;:::-;:25;;;12966:34;;;;;;13011:20;13041:12;13011:43;;13065:13;:22;;;13088:9;;;;;;;;;;;13098:13;:23;;;13130:4;13098:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13065:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12955:190;12901:244;:::o;6101:95::-;6154:7;4179:17;6174:14;;6101:95;:::o;7294:231::-;7387:9;;;;;;;;;;;7371:25;;:12;:10;:12::i;:::-;:25;;;7363:34;;;;;;7424:3;7416:4;:11;;:27;;;;;7440:3;7431:5;:12;;7416:27;7408:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7490:4;7483;:11;;;;7512:5;7505:4;:12;;;;7294:231;;:::o;6824:313::-;6922:4;6939:36;6949:6;6957:9;6968:6;6939:9;:36::i;:::-;6986:121;6995:6;7003:12;:10;:12::i;:::-;7017:89;7055:6;7017:89;;;;;;;;;;;;;;;;;:11;:19;7029:6;7017:19;;;;;;;;;;;;;;;:33;7037:12;:10;:12::i;:::-;7017:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6986:8;:121::i;:::-;7125:4;7118:11;;6824:313;;;;;:::o;6010:83::-;6051:5;4648:1;6069:16;;6010:83;:::o;7150:136::-;7236:9;;;;;;;;;;;7220:25;;:12;:10;:12::i;:::-;:25;;;7212:34;;;;;;7270:6;7257:10;:19;;;;7150:136;:::o;12460:188::-;12526:9;;;;;;;;;;;12510:25;;:12;:10;:12::i;:::-;:25;;;12502:34;;;;;;12547:26;12576:21;12547:50;;12608:32;12621:18;12608:12;:32::i;:::-;12491:157;12460:188::o;6204:117::-;6270:7;6297;:16;6305:7;6297:16;;;;;;;;;;;;;;;;6290:23;;6204:117;;;:::o;2806:148::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2913:1:::1;2876:40;;2897:6;::::0;::::1;;;;;;;;2876:40;;;;;;;;;;;;2944:1;2927:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2806:148::o:0;7750:156::-;7818:9;;;;;;;;;;;7802:25;;:12;:10;:12::i;:::-;:25;;;7794:34;;;;;;4179:17;7839:12;:22;;;;4179:17;7872:16;:26;;;;7750:156::o;7533:209::-;7630:9;;;;;;;;;;;7614:25;;:12;:10;:12::i;:::-;:25;;;7606:34;;;;;;7674:3;7666:4;7659;:11;;;;:::i;:::-;:18;7651:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7709:4;7703:3;:10;;;;7730:4;7724:3;:10;;;;7533:209;;:::o;2411:79::-;2449:7;2476:6;;;;;;;;;;;2469:13;;2411:79;:::o;5915:87::-;5954:13;5987:7;;;;;;;;;;;;;;;;;5980:14;;5915:87;:::o;12201:247::-;12281:9;;;;;;;;;;;12265:25;;:12;:10;:12::i;:::-;:25;;;12257:34;;;;;;12331:4;12302:18;:26;12321:6;12302:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;12346:23;12372:24;12390:4;12372:9;:24::i;:::-;12346:50;;12407:33;12424:15;12407:16;:33::i;:::-;12246:202;12201:247;:::o;6329:167::-;6407:4;6424:42;6434:12;:10;:12::i;:::-;6448:9;6459:6;6424:9;:42::i;:::-;6484:4;6477:11;;6329:167;;;;:::o;11412:164::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11486:6:::1;11481:88;11502:5;:12;11498:1;:16;11481:88;;;11553:4;11536;:14;11541:5;11547:1;11541:8;;;;;;;;:::i;:::-;;;;;;;;11536:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11516:3;;;;;:::i;:::-;;;;11481:88;;;;11412:164:::0;:::o;11106:294::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11170:11:::1;;;;;;;;;;;11169:12;11161:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11219:68;11232:24;11250:4;11232:9;:24::i;:::-;11257:21;11279:7;:5;:7::i;:::-;11219:12;:68::i;:::-;11312:4;11298:11;;:18;;;;;;;;;;;;;;;;;;11341:4;11327:11;;:18;;;;;;;;;;;;;;;;;;11382:9;11363:15;:29;;;;:::i;:::-;11356:4;:36;;;;11106:294::o:0;11588:135::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11661:6:::1;11657:59;11672:6;:13;11670:1;:15;11657:59;;;11709:5;11691:4;:15;11696:6;11703:1;11696:9;;;;;;;;:::i;:::-;;;;;;;;11691:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11686:3;;;;;:::i;:::-;;;;11657:59;;;;11588:135:::0;:::o;6504:143::-;6585:7;6612:11;:18;6624:5;6612:18;;;;;;;;;;;;;;;:27;6631:7;6612:27;;;;;;;;;;;;;;;;6605:34;;6504:143;;;;:::o;7916:147::-;8001:9;;;;;;;;;;;7985:25;;:12;:10;:12::i;:::-;:25;;;7977:34;;;;;;8051:4;8022:18;:26;8041:6;8022:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;7916:147;:::o;2625:173::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2741:9:::1;2712:39;;2733:6;::::0;::::1;;;;;;;;2712:39;;;;;;;;;;;;2771:9;2762:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2625:173:::0;:::o;1718:132::-;1776:7;1803:39;1807:1;1810;1803:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1796:46;;1718:132;;;;:::o;1464:246::-;1522:7;1551:1;1546;:6;1542:47;;;1576:1;1569:8;;;;1542:47;1599:9;1615:1;1611;:5;;;;:::i;:::-;1599:17;;1644:1;1639;1635;:5;;;;:::i;:::-;:10;1627:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1701:1;1694:8;;;1464:246;;;;;:::o;129:98::-;182:7;209:10;202:17;;129:98;:::o;8076:335::-;8186:1;8169:19;;:5;:19;;;;8161:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8267:1;8248:21;;:7;:21;;;;8240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8349:6;8319:11;:18;8331:5;8319:18;;;;;;;;;;;;;;;:27;8338:7;8319:27;;;;;;;;;;;;;;;:36;;;;8387:7;8371:32;;8380:5;8371:32;;;8396:6;8371:32;;;;;;:::i;:::-;;;;;;;;8076:335;;;:::o;8419:1697::-;8523:1;8507:18;;:4;:18;;;;8499:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8600:1;8586:16;;:2;:16;;;;8578:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8670:1;8661:6;:10;8653:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8737:4;;8730;:11;;;;8764:7;:5;:7::i;:::-;8756:15;;:4;:15;;;;:32;;;;;8781:7;:5;:7::i;:::-;8775:13;;:2;:13;;;;8756:32;8752:1172;;;8814:4;:10;8819:4;8814:10;;;;;;;;;;;;;;;;;;;;;;;;;8813:11;:24;;;;;8829:4;:8;8834:2;8829:8;;;;;;;;;;;;;;;;;;;;;;;;;8828:9;8813:24;8805:33;;;;;;8865:13;;;;;;;;;;;8857:21;;:4;:21;;;:55;;;;;8896:15;;;;;;;;;;;8882:30;;:2;:30;;;;8857:55;:83;;;;;8918:18;:22;8937:2;8918:22;;;;;;;;;;;;;;;;;;;;;;;;;8916:24;8857:83;:111;;;;;8963:4;;8945:15;:22;8857:111;8853:418;;;9051:16;;9040:6;9026:7;:11;9034:2;9026:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9025:42;;9017:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9120:12;;9110:6;:22;;9102:31;;;;;;9175:15;9160:8;:12;9169:2;9160:12;;;;;;;;;;;;;;;;:30;9152:39;;;;;;9244:10;9225:15;:30;;;;:::i;:::-;9210:8;:12;9219:2;9210:12;;;;;;;;;;;;;;;:45;;;;8853:418;9318:6;;;;;;;;;;;9317:7;:32;;;;;9336:13;;;;;;;;;;;9328:21;;:4;:21;;;;9317:32;:47;;;;;9353:11;;;;;;;;;;;9317:47;:76;;;;;9369:18;:24;9388:4;9369:24;;;;;;;;;;;;;;;;;;;;;;;;;9368:25;9317:76;9313:600;;;9440:4;;9422:15;:22;9414:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9498:28;9529:24;9547:4;9529:9;:24::i;:::-;9498:55;;9598:10;;9575:20;:33;9572:326;;;9632:38;9649:20;9632:16;:38::i;:::-;9693:26;9722:21;9693:50;;9790:1;9769:18;:22;9766:113;;;9820:35;9833:21;9820:12;:35::i;:::-;9766:113;9609:289;9572:326;9395:518;9313:600;8752:1172;9944:13;;;;;;;;;;;9938:19;;:2;:19;;;:55;;;;;9977:15;;;;;;;;;;;9961:32;;:4;:32;;;;9938:55;:85;;;;;9999:18;:24;10018:4;9999:24;;;;;;;;;;;;;;;;;;;;;;;;;9997:26;9938:85;9934:129;;;10047:4;;10040;:11;;;;9934:129;10075:33;10093:4;10098:2;10101:6;10075:17;:33::i;:::-;8419:1697;;;:::o;1266:190::-;1352:7;1385:1;1380;:6;;1388:12;1372:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1412:9;1428:1;1424;:5;;;;:::i;:::-;1412:17;;1447:1;1440:8;;;1266:190;;;;;:::o;10923:171::-;10980:9;;;;;;;;;;;:18;;:44;10999:24;11019:3;;10999:15;11010:3;10999:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;10980:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11035:16;;;;;;;;;;;:25;;:51;11061:24;11081:3;;11061:15;11072:3;11061:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;11035:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10923:171;:::o;10124:483::-;4973:4;4964:6;;:13;;;;;;;;;;;;;;;;;;10202:21:::1;10240:1;10226:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10202:40;;10271:4;10253;10258:1;10253:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10297:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10287:4;10292:1;10287:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10330:62;10347:4;10362:15;;;;;;;;;;;10380:11;10330:8;:62::i;:::-;10403:15;;;;;;;;;;;:66;;;10484:11;10510:1;10526:4;10553;10573:15;10403:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10191:416;5009:5:::0;5000:6;;:14;;;;;;;;;;;;;;;;;;10124:483;:::o;10621:288::-;4973:4;4964:6;;:13;;;;;;;;;;;;;;;;;;10727:60:::1;10744:4;10758:15;;;;;;;;;;;10775:11;10727:8;:60::i;:::-;10798:15;;;;;;;;;;;:31;;;10837:9;10856:4;10862:11;10874:1;10876::::0;10878:6:::1;10885:15;10798:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5009:5:::0;5000:6;;:14;;;;;;;;;;;;;;;;;;10621:288;;;:::o;1858:189::-;1944:7;1976:1;1972;:5;1979:12;1964:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2003:9;2019:1;2015;:5;;;;:::i;:::-;2003:17;;2038:1;2031:8;;;1858:189;;;;;:::o;11731:421::-;11830:22;11853:12;11869:20;11881:7;11869:11;:20::i;:::-;11829:60;;;;11918:28;11938:7;11918;:15;11926:6;11918:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11900:7;:15;11908:6;11900:15;;;;;;;;;;;;;;;:46;;;;11978:38;12001:14;11978:7;:18;11986:9;11978:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;11957:7;:18;11965:9;11957:18;;;;;;;;;;;;;;;:59;;;;12053:32;12080:4;12053:7;:22;12069:4;12053:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;12028:7;:22;12044:4;12028:22;;;;;;;;;;;;;;;:57;;;;12118:9;12101:43;;12110:6;12101:43;;;12129:14;12101:43;;;;;;:::i;:::-;;;;;;;;11818:334;;11731:421;;;:::o;12659:234::-;12719:7;12728;12748:12;12763:27;12785:4;12763:17;12775:4;;12763:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12748:42;;12801:23;12827:17;12839:4;12827:7;:11;;:17;;;;:::i;:::-;12801:43;;12863:15;12880:4;12855:30;;;;;;12659:234;;;:::o;1122:136::-;1180:7;1207:43;1211:1;1214;1207:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1200:50;;1122:136;;;;:::o;935:179::-;993:7;1013:9;1029:1;1025;:5;;;;:::i;:::-;1013:17;;1054:1;1049;:6;;1041:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1105:1;1098:8;;;935:179;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:329::-;5108:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:119;;;5163:79;;:::i;:::-;5125:119;5283:1;5308:53;5353:7;5344:6;5333:9;5329:22;5308:53;:::i;:::-;5298:63;;5254:117;5049:329;;;;:::o;5384:351::-;5454:6;5503:2;5491:9;5482:7;5478:23;5474:32;5471:119;;;5509:79;;:::i;:::-;5471:119;5629:1;5654:64;5710:7;5701:6;5690:9;5686:22;5654:64;:::i;:::-;5644:74;;5600:128;5384:351;;;;:::o;5741:474::-;5809:6;5817;5866:2;5854:9;5845:7;5841:23;5837:32;5834:119;;;5872:79;;:::i;:::-;5834:119;5992:1;6017:53;6062:7;6053:6;6042:9;6038:22;6017:53;:::i;:::-;6007:63;;5963:117;6119:2;6145:53;6190:7;6181:6;6170:9;6166:22;6145:53;:::i;:::-;6135:63;;6090:118;5741:474;;;;;:::o;6221:663::-;6309:6;6317;6325;6374:2;6362:9;6353:7;6349:23;6345:32;6342:119;;;6380:79;;:::i;:::-;6342:119;6500:1;6525:64;6581:7;6572:6;6561:9;6557:22;6525:64;:::i;:::-;6515:74;;6471:128;6638:2;6664:64;6720:7;6711:6;6700:9;6696:22;6664:64;:::i;:::-;6654:74;;6609:129;6777:2;6803:64;6859:7;6850:6;6839:9;6835:22;6803:64;:::i;:::-;6793:74;;6748:129;6221:663;;;;;:::o;6890:179::-;6959:10;6980:46;7022:3;7014:6;6980:46;:::i;:::-;7058:4;7053:3;7049:14;7035:28;;6890:179;;;;:::o;7075:147::-;7170:45;7209:5;7170:45;:::i;:::-;7165:3;7158:58;7075:147;;:::o;7228:108::-;7305:24;7323:5;7305:24;:::i;:::-;7300:3;7293:37;7228:108;;:::o;7342:118::-;7429:24;7447:5;7429:24;:::i;:::-;7424:3;7417:37;7342:118;;:::o;7496:732::-;7615:3;7644:54;7692:5;7644:54;:::i;:::-;7714:86;7793:6;7788:3;7714:86;:::i;:::-;7707:93;;7824:56;7874:5;7824:56;:::i;:::-;7903:7;7934:1;7919:284;7944:6;7941:1;7938:13;7919:284;;;8020:6;8014:13;8047:63;8106:3;8091:13;8047:63;:::i;:::-;8040:70;;8133:60;8186:6;8133:60;:::i;:::-;8123:70;;7979:224;7966:1;7963;7959:9;7954:14;;7919:284;;;7923:14;8219:3;8212:10;;7620:608;;;7496:732;;;;:::o;8234:109::-;8315:21;8330:5;8315:21;:::i;:::-;8310:3;8303:34;8234:109;;:::o;8349:147::-;8444:45;8483:5;8444:45;:::i;:::-;8439:3;8432:58;8349:147;;:::o;8502:364::-;8590:3;8618:39;8651:5;8618:39;:::i;:::-;8673:71;8737:6;8732:3;8673:71;:::i;:::-;8666:78;;8753:52;8798:6;8793:3;8786:4;8779:5;8775:16;8753:52;:::i;:::-;8830:29;8852:6;8830:29;:::i;:::-;8825:3;8821:39;8814:46;;8594:272;8502:364;;;;:::o;8872:366::-;9014:3;9035:67;9099:2;9094:3;9035:67;:::i;:::-;9028:74;;9111:93;9200:3;9111:93;:::i;:::-;9229:2;9224:3;9220:12;9213:19;;8872:366;;;:::o;9244:::-;9386:3;9407:67;9471:2;9466:3;9407:67;:::i;:::-;9400:74;;9483:93;9572:3;9483:93;:::i;:::-;9601:2;9596:3;9592:12;9585:19;;9244:366;;;:::o;9616:::-;9758:3;9779:67;9843:2;9838:3;9779:67;:::i;:::-;9772:74;;9855:93;9944:3;9855:93;:::i;:::-;9973:2;9968:3;9964:12;9957:19;;9616:366;;;:::o;9988:::-;10130:3;10151:67;10215:2;10210:3;10151:67;:::i;:::-;10144:74;;10227:93;10316:3;10227:93;:::i;:::-;10345:2;10340:3;10336:12;10329:19;;9988:366;;;:::o;10360:::-;10502:3;10523:67;10587:2;10582:3;10523:67;:::i;:::-;10516:74;;10599:93;10688:3;10599:93;:::i;:::-;10717:2;10712:3;10708:12;10701:19;;10360:366;;;:::o;10732:::-;10874:3;10895:67;10959:2;10954:3;10895:67;:::i;:::-;10888:74;;10971:93;11060:3;10971:93;:::i;:::-;11089:2;11084:3;11080:12;11073:19;;10732:366;;;:::o;11104:::-;11246:3;11267:67;11331:2;11326:3;11267:67;:::i;:::-;11260:74;;11343:93;11432:3;11343:93;:::i;:::-;11461:2;11456:3;11452:12;11445:19;;11104:366;;;:::o;11476:::-;11618:3;11639:67;11703:2;11698:3;11639:67;:::i;:::-;11632:74;;11715:93;11804:3;11715:93;:::i;:::-;11833:2;11828:3;11824:12;11817:19;;11476:366;;;:::o;11848:::-;11990:3;12011:67;12075:2;12070:3;12011:67;:::i;:::-;12004:74;;12087:93;12176:3;12087:93;:::i;:::-;12205:2;12200:3;12196:12;12189:19;;11848:366;;;:::o;12220:::-;12362:3;12383:67;12447:2;12442:3;12383:67;:::i;:::-;12376:74;;12459:93;12548:3;12459:93;:::i;:::-;12577:2;12572:3;12568:12;12561:19;;12220:366;;;:::o;12592:::-;12734:3;12755:67;12819:2;12814:3;12755:67;:::i;:::-;12748:74;;12831:93;12920:3;12831:93;:::i;:::-;12949:2;12944:3;12940:12;12933:19;;12592:366;;;:::o;12964:::-;13106:3;13127:67;13191:2;13186:3;13127:67;:::i;:::-;13120:74;;13203:93;13292:3;13203:93;:::i;:::-;13321:2;13316:3;13312:12;13305:19;;12964:366;;;:::o;13336:::-;13478:3;13499:67;13563:2;13558:3;13499:67;:::i;:::-;13492:74;;13575:93;13664:3;13575:93;:::i;:::-;13693:2;13688:3;13684:12;13677:19;;13336:366;;;:::o;13708:118::-;13795:24;13813:5;13795:24;:::i;:::-;13790:3;13783:37;13708:118;;:::o;13832:112::-;13915:22;13931:5;13915:22;:::i;:::-;13910:3;13903:35;13832:112;;:::o;13950:222::-;14043:4;14081:2;14070:9;14066:18;14058:26;;14094:71;14162:1;14151:9;14147:17;14138:6;14094:71;:::i;:::-;13950:222;;;;:::o;14178:348::-;14307:4;14345:2;14334:9;14330:18;14322:26;;14358:79;14434:1;14423:9;14419:17;14410:6;14358:79;:::i;:::-;14447:72;14515:2;14504:9;14500:18;14491:6;14447:72;:::i;:::-;14178:348;;;;;:::o;14532:807::-;14781:4;14819:3;14808:9;14804:19;14796:27;;14833:71;14901:1;14890:9;14886:17;14877:6;14833:71;:::i;:::-;14914:72;14982:2;14971:9;14967:18;14958:6;14914:72;:::i;:::-;14996:80;15072:2;15061:9;15057:18;15048:6;14996:80;:::i;:::-;15086;15162:2;15151:9;15147:18;15138:6;15086:80;:::i;:::-;15176:73;15244:3;15233:9;15229:19;15220:6;15176:73;:::i;:::-;15259;15327:3;15316:9;15312:19;15303:6;15259:73;:::i;:::-;14532:807;;;;;;;;;:::o;15345:210::-;15432:4;15470:2;15459:9;15455:18;15447:26;;15483:65;15545:1;15534:9;15530:17;15521:6;15483:65;:::i;:::-;15345:210;;;;:::o;15561:313::-;15674:4;15712:2;15701:9;15697:18;15689:26;;15761:9;15755:4;15751:20;15747:1;15736:9;15732:17;15725:47;15789:78;15862:4;15853:6;15789:78;:::i;:::-;15781:86;;15561:313;;;;:::o;15880:419::-;16046:4;16084:2;16073:9;16069:18;16061:26;;16133:9;16127:4;16123:20;16119:1;16108:9;16104:17;16097:47;16161:131;16287:4;16161:131;:::i;:::-;16153:139;;15880:419;;;:::o;16305:::-;16471:4;16509:2;16498:9;16494:18;16486:26;;16558:9;16552:4;16548:20;16544:1;16533:9;16529:17;16522:47;16586:131;16712:4;16586:131;:::i;:::-;16578:139;;16305:419;;;:::o;16730:::-;16896:4;16934:2;16923:9;16919:18;16911:26;;16983:9;16977:4;16973:20;16969:1;16958:9;16954:17;16947:47;17011:131;17137:4;17011:131;:::i;:::-;17003:139;;16730:419;;;:::o;17155:::-;17321:4;17359:2;17348:9;17344:18;17336:26;;17408:9;17402:4;17398:20;17394:1;17383:9;17379:17;17372:47;17436:131;17562:4;17436:131;:::i;:::-;17428:139;;17155:419;;;:::o;17580:::-;17746:4;17784:2;17773:9;17769:18;17761:26;;17833:9;17827:4;17823:20;17819:1;17808:9;17804:17;17797:47;17861:131;17987:4;17861:131;:::i;:::-;17853:139;;17580:419;;;:::o;18005:::-;18171:4;18209:2;18198:9;18194:18;18186:26;;18258:9;18252:4;18248:20;18244:1;18233:9;18229:17;18222:47;18286:131;18412:4;18286:131;:::i;:::-;18278:139;;18005:419;;;:::o;18430:::-;18596:4;18634:2;18623:9;18619:18;18611:26;;18683:9;18677:4;18673:20;18669:1;18658:9;18654:17;18647:47;18711:131;18837:4;18711:131;:::i;:::-;18703:139;;18430:419;;;:::o;18855:::-;19021:4;19059:2;19048:9;19044:18;19036:26;;19108:9;19102:4;19098:20;19094:1;19083:9;19079:17;19072:47;19136:131;19262:4;19136:131;:::i;:::-;19128:139;;18855:419;;;:::o;19280:::-;19446:4;19484:2;19473:9;19469:18;19461:26;;19533:9;19527:4;19523:20;19519:1;19508:9;19504:17;19497:47;19561:131;19687:4;19561:131;:::i;:::-;19553:139;;19280:419;;;:::o;19705:::-;19871:4;19909:2;19898:9;19894:18;19886:26;;19958:9;19952:4;19948:20;19944:1;19933:9;19929:17;19922:47;19986:131;20112:4;19986:131;:::i;:::-;19978:139;;19705:419;;;:::o;20130:::-;20296:4;20334:2;20323:9;20319:18;20311:26;;20383:9;20377:4;20373:20;20369:1;20358:9;20354:17;20347:47;20411:131;20537:4;20411:131;:::i;:::-;20403:139;;20130:419;;;:::o;20555:::-;20721:4;20759:2;20748:9;20744:18;20736:26;;20808:9;20802:4;20798:20;20794:1;20783:9;20779:17;20772:47;20836:131;20962:4;20836:131;:::i;:::-;20828:139;;20555:419;;;:::o;20980:::-;21146:4;21184:2;21173:9;21169:18;21161:26;;21233:9;21227:4;21223:20;21219:1;21208:9;21204:17;21197:47;21261:131;21387:4;21261:131;:::i;:::-;21253:139;;20980:419;;;:::o;21405:222::-;21498:4;21536:2;21525:9;21521:18;21513:26;;21549:71;21617:1;21606:9;21602:17;21593:6;21549:71;:::i;:::-;21405:222;;;;:::o;21633:831::-;21896:4;21934:3;21923:9;21919:19;21911:27;;21948:71;22016:1;22005:9;22001:17;21992:6;21948:71;:::i;:::-;22029:80;22105:2;22094:9;22090:18;22081:6;22029:80;:::i;:::-;22156:9;22150:4;22146:20;22141:2;22130:9;22126:18;22119:48;22184:108;22287:4;22278:6;22184:108;:::i;:::-;22176:116;;22302:72;22370:2;22359:9;22355:18;22346:6;22302:72;:::i;:::-;22384:73;22452:3;22441:9;22437:19;22428:6;22384:73;:::i;:::-;21633:831;;;;;;;;:::o;22470:214::-;22559:4;22597:2;22586:9;22582:18;22574:26;;22610:67;22674:1;22663:9;22659:17;22650:6;22610:67;:::i;:::-;22470:214;;;;:::o;22690:129::-;22724:6;22751:20;;:::i;:::-;22741:30;;22780:33;22808:4;22800:6;22780:33;:::i;:::-;22690:129;;;:::o;22825:75::-;22858:6;22891:2;22885:9;22875:19;;22825:75;:::o;22906:311::-;22983:4;23073:18;23065:6;23062:30;23059:56;;;23095:18;;:::i;:::-;23059:56;23145:4;23137:6;23133:17;23125:25;;23205:4;23199;23195:15;23187:23;;22906:311;;;:::o;23223:132::-;23290:4;23313:3;23305:11;;23343:4;23338:3;23334:14;23326:22;;23223:132;;;:::o;23361:114::-;23428:6;23462:5;23456:12;23446:22;;23361:114;;;:::o;23481:99::-;23533:6;23567:5;23561:12;23551:22;;23481:99;;;:::o;23586:113::-;23656:4;23688;23683:3;23679:14;23671:22;;23586:113;;;:::o;23705:184::-;23804:11;23838:6;23833:3;23826:19;23878:4;23873:3;23869:14;23854:29;;23705:184;;;;:::o;23895:169::-;23979:11;24013:6;24008:3;24001:19;24053:4;24048:3;24044:14;24029:29;;23895:169;;;;:::o;24070:305::-;24110:3;24129:20;24147:1;24129:20;:::i;:::-;24124:25;;24163:20;24181:1;24163:20;:::i;:::-;24158:25;;24317:1;24249:66;24245:74;24242:1;24239:81;24236:107;;;24323:18;;:::i;:::-;24236:107;24367:1;24364;24360:9;24353:16;;24070:305;;;;:::o;24381:185::-;24421:1;24438:20;24456:1;24438:20;:::i;:::-;24433:25;;24472:20;24490:1;24472:20;:::i;:::-;24467:25;;24511:1;24501:35;;24516:18;;:::i;:::-;24501:35;24558:1;24555;24551:9;24546:14;;24381:185;;;;:::o;24572:348::-;24612:7;24635:20;24653:1;24635:20;:::i;:::-;24630:25;;24669:20;24687:1;24669:20;:::i;:::-;24664:25;;24857:1;24789:66;24785:74;24782:1;24779:81;24774:1;24767:9;24760:17;24756:105;24753:131;;;24864:18;;:::i;:::-;24753:131;24912:1;24909;24905:9;24894:20;;24572:348;;;;:::o;24926:191::-;24966:4;24986:20;25004:1;24986:20;:::i;:::-;24981:25;;25020:20;25038:1;25020:20;:::i;:::-;25015:25;;25059:1;25056;25053:8;25050:34;;;25064:18;;:::i;:::-;25050:34;25109:1;25106;25102:9;25094:17;;24926:191;;;;:::o;25123:96::-;25160:7;25189:24;25207:5;25189:24;:::i;:::-;25178:35;;25123:96;;;:::o;25225:90::-;25259:7;25302:5;25295:13;25288:21;25277:32;;25225:90;;;:::o;25321:126::-;25358:7;25398:42;25391:5;25387:54;25376:65;;25321:126;;;:::o;25453:77::-;25490:7;25519:5;25508:16;;25453:77;;;:::o;25536:86::-;25571:7;25611:4;25604:5;25600:16;25589:27;;25536:86;;;:::o;25628:134::-;25686:9;25719:37;25750:5;25719:37;:::i;:::-;25706:50;;25628:134;;;:::o;25768:121::-;25826:9;25859:24;25877:5;25859:24;:::i;:::-;25846:37;;25768:121;;;:::o;25895:126::-;25945:9;25978:37;26009:5;25978:37;:::i;:::-;25965:50;;25895:126;;;:::o;26027:113::-;26077:9;26110:24;26128:5;26110:24;:::i;:::-;26097:37;;26027:113;;;:::o;26146:307::-;26214:1;26224:113;26238:6;26235:1;26232:13;26224:113;;;26323:1;26318:3;26314:11;26308:18;26304:1;26299:3;26295:11;26288:39;26260:2;26257:1;26253:10;26248:15;;26224:113;;;26355:6;26352:1;26349:13;26346:101;;;26435:1;26426:6;26421:3;26417:16;26410:27;26346:101;26195:258;26146:307;;;:::o;26459:281::-;26542:27;26564:4;26542:27;:::i;:::-;26534:6;26530:40;26672:6;26660:10;26657:22;26636:18;26624:10;26621:34;26618:62;26615:88;;;26683:18;;:::i;:::-;26615:88;26723:10;26719:2;26712:22;26502:238;26459:281;;:::o;26746:233::-;26785:3;26808:24;26826:5;26808:24;:::i;:::-;26799:33;;26854:66;26847:5;26844:77;26841:103;;;26924:18;;:::i;:::-;26841:103;26971:1;26964:5;26960:13;26953:20;;26746:233;;;:::o;26985:180::-;27033:77;27030:1;27023:88;27130:4;27127:1;27120:15;27154:4;27151:1;27144:15;27171:180;27219:77;27216:1;27209:88;27316:4;27313:1;27306:15;27340:4;27337:1;27330:15;27357:180;27405:77;27402:1;27395:88;27502:4;27499:1;27492:15;27526:4;27523:1;27516:15;27543:180;27591:77;27588:1;27581:88;27688:4;27685:1;27678:15;27712:4;27709:1;27702:15;27729:117;27838:1;27835;27828:12;27852:117;27961:1;27958;27951:12;27975:117;28084:1;28081;28074:12;28098:117;28207:1;28204;28197:12;28221:102;28262:6;28313:2;28309:7;28304:2;28297:5;28293:14;28289:28;28279:38;;28221:102;;;:::o;28329:222::-;28469:34;28465:1;28457:6;28453:14;28446:58;28538:5;28533:2;28525:6;28521:15;28514:30;28329:222;:::o;28557:161::-;28697:13;28693:1;28685:6;28681:14;28674:37;28557:161;:::o;28724:221::-;28864:34;28860:1;28852:6;28848:14;28841:58;28933:4;28928:2;28920:6;28916:15;28909:29;28724:221;:::o;28951:177::-;29091:29;29087:1;29079:6;29075:14;29068:53;28951:177;:::o;29134:162::-;29274:14;29270:1;29262:6;29258:14;29251:38;29134:162;:::o;29302:181::-;29442:33;29438:1;29430:6;29426:14;29419:57;29302:181;:::o;29489:220::-;29629:34;29625:1;29617:6;29613:14;29606:58;29698:3;29693:2;29685:6;29681:15;29674:28;29489:220;:::o;29715:182::-;29855:34;29851:1;29843:6;29839:14;29832:58;29715:182;:::o;29903:228::-;30043:34;30039:1;30031:6;30027:14;30020:58;30112:11;30107:2;30099:6;30095:15;30088:36;29903:228;:::o;30137:175::-;30277:27;30273:1;30265:6;30261:14;30254:51;30137:175;:::o;30318:224::-;30458:34;30454:1;30446:6;30442:14;30435:58;30527:7;30522:2;30514:6;30510:15;30503:32;30318:224;:::o;30548:223::-;30688:34;30684:1;30676:6;30672:14;30665:58;30757:6;30752:2;30744:6;30740:15;30733:31;30548:223;:::o;30777:173::-;30917:25;30913:1;30905:6;30901:14;30894:49;30777:173;:::o;30956:122::-;31029:24;31047:5;31029:24;:::i;:::-;31022:5;31019:35;31009:63;;31068:1;31065;31058:12;31009:63;30956:122;:::o;31084:116::-;31154:21;31169:5;31154:21;:::i;:::-;31147:5;31144:32;31134:60;;31190:1;31187;31180:12;31134:60;31084:116;:::o;31206:122::-;31279:24;31297:5;31279:24;:::i;:::-;31272:5;31269:35;31259:63;;31318:1;31315;31308:12;31259:63;31206:122;:::o

Swarm Source

ipfs://3231f20b996fabad4a62b3ca1525e330df4a3418933143dda8f16a1cfbcbfc4a

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.