ETH Price: $2,638.31 (+1.01%)

Contract

0xaBa05f47552A1Efb95682B62Ea0ebA2f841387D7
 

Overview

ETH Balance

0.001925305579228503 ETH

Eth Value

$5.08 (@ $2,638.31/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve205420312024-08-16 15:16:4763 days ago1723821407IN
0xaBa05f47...f841387D7
0 ETH0.000112082.37728339
Approve156528082022-10-01 10:47:11748 days ago1664621231IN
0xaBa05f47...f841387D7
0 ETH0.00021644.58381918
Approve155521412022-09-17 8:33:47762 days ago1663403627IN
0xaBa05f47...f841387D7
0 ETH0.0005516111.68421545
Approve155046582022-09-09 20:07:21770 days ago1662754041IN
0xaBa05f47...f841387D7
0 ETH0.0008894518.84049295
Approve154786332022-09-05 15:34:07774 days ago1662392047IN
0xaBa05f47...f841387D7
0 ETH0.0011601224.57362483
Approve154746592022-09-05 0:03:54774 days ago1662336234IN
0xaBa05f47...f841387D7
0 ETH0.0005375611.38671589
Approve154522462022-09-01 10:07:18778 days ago1662026838IN
0xaBa05f47...f841387D7
0 ETH0.0006304613.35453155
Approve154522412022-09-01 10:05:56778 days ago1662026756IN
0xaBa05f47...f841387D7
0 ETH0.0006411513.58095467
Approve154508082022-09-01 4:36:14778 days ago1662006974IN
0xaBa05f47...f841387D7
0 ETH0.0009449120.01520167
Approve154495012022-08-31 23:31:48778 days ago1661988708IN
0xaBa05f47...f841387D7
0 ETH0.001740536.86725922
Approve154494872022-08-31 23:28:50778 days ago1661988530IN
0xaBa05f47...f841387D7
0 ETH0.002297848.67193011
Approve154494132022-08-31 23:11:39778 days ago1661987499IN
0xaBa05f47...f841387D7
0 ETH0.0007640816.18477764
Approve154493782022-08-31 23:04:55778 days ago1661987095IN
0xaBa05f47...f841387D7
0 ETH0.0009973521.12582385
Approve154493622022-08-31 22:59:58778 days ago1661986798IN
0xaBa05f47...f841387D7
0 ETH0.0007344815.55773658
Approve154493392022-08-31 22:54:21778 days ago1661986461IN
0xaBa05f47...f841387D7
0 ETH0.0009043919.15687425
Approve154493202022-08-31 22:49:16778 days ago1661986156IN
0xaBa05f47...f841387D7
0 ETH0.0007630716.16340573
Approve154493122022-08-31 22:47:21778 days ago1661986041IN
0xaBa05f47...f841387D7
0 ETH0.0008558518.12862101
Approve154492982022-08-31 22:43:05778 days ago1661985785IN
0xaBa05f47...f841387D7
0 ETH0.0007259815.37777232
Approve154492212022-08-31 22:28:12778 days ago1661984892IN
0xaBa05f47...f841387D7
0 ETH0.0012858927.23778899
Approve154492152022-08-31 22:26:34778 days ago1661984794IN
0xaBa05f47...f841387D7
0 ETH0.001240526.27627441
Approve154491872022-08-31 22:19:06778 days ago1661984346IN
0xaBa05f47...f841387D7
0 ETH0.0011295823.92691927
Approve154491552022-08-31 22:11:26778 days ago1661983886IN
0xaBa05f47...f841387D7
0 ETH0.0012274626
Approve154491242022-08-31 22:04:58779 days ago1661983498IN
0xaBa05f47...f841387D7
0 ETH0.0008383730.69854327
Approve154490602022-08-31 21:49:53779 days ago1661982593IN
0xaBa05f47...f841387D7
0 ETH0.0011049423.40493141
Edit Fees154490592022-08-31 21:49:40779 days ago1661982580IN
0xaBa05f47...f841387D7
0 ETH0.000906722.86025855
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
205420322024-08-16 15:16:5963 days ago1723821419
0xaBa05f47...f841387D7
0.00096265 ETH
205420322024-08-16 15:16:5963 days ago1723821419
0xaBa05f47...f841387D7
0.00096265 ETH
205420322024-08-16 15:16:5963 days ago1723821419
0xaBa05f47...f841387D7
0.00096265 ETH
205420322024-08-16 15:16:5963 days ago1723821419
0xaBa05f47...f841387D7
0.00278979 ETH
155046652022-09-09 20:08:25770 days ago1662754105
0xaBa05f47...f841387D7
0.00101173 ETH
155046652022-09-09 20:08:25770 days ago1662754105
0xaBa05f47...f841387D7
0.00101173 ETH
155046652022-09-09 20:08:25770 days ago1662754105
0xaBa05f47...f841387D7
0.00101173 ETH
155046652022-09-09 20:08:25770 days ago1662754105
0xaBa05f47...f841387D7
0.00259759 ETH
154551732022-09-01 21:19:22778 days ago1662067162
0xaBa05f47...f841387D7
0.00123053 ETH
154551732022-09-01 21:19:22778 days ago1662067162
0xaBa05f47...f841387D7
0.00123053 ETH
154551732022-09-01 21:19:22778 days ago1662067162
0xaBa05f47...f841387D7
0.00123053 ETH
154551732022-09-01 21:19:22778 days ago1662067162
0xaBa05f47...f841387D7
0.00354504 ETH
154528762022-09-01 12:27:39778 days ago1662035259
0xaBa05f47...f841387D7
0.00130381 ETH
154528762022-09-01 12:27:39778 days ago1662035259
0xaBa05f47...f841387D7
0.00130381 ETH
154528762022-09-01 12:27:39778 days ago1662035259
0xaBa05f47...f841387D7
0.00130381 ETH
154528762022-09-01 12:27:39778 days ago1662035259
0xaBa05f47...f841387D7
0.00354299 ETH
154523602022-09-01 10:34:26778 days ago1662028466
0xaBa05f47...f841387D7
0.00148803 ETH
154523602022-09-01 10:34:26778 days ago1662028466
0xaBa05f47...f841387D7
0.00148803 ETH
154523602022-09-01 10:34:26778 days ago1662028466
0xaBa05f47...f841387D7
0.00148803 ETH
154523602022-09-01 10:34:26778 days ago1662028466
0xaBa05f47...f841387D7
0.00413652 ETH
154522582022-09-01 10:10:24778 days ago1662027024
0xaBa05f47...f841387D7
0.00165182 ETH
154522582022-09-01 10:10:24778 days ago1662027024
0xaBa05f47...f841387D7
0.00165182 ETH
154522582022-09-01 10:10:24778 days ago1662027024
0xaBa05f47...f841387D7
0.00165182 ETH
154522582022-09-01 10:10:24778 days ago1662027024
0xaBa05f47...f841387D7
0.00474213 ETH
154497622022-09-01 0:28:33778 days ago1661992113
0xaBa05f47...f841387D7
0.0017585 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HIROSHI

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-31
*/

/**
 *Submitted for verification at Etherscan.io on 2022-08-31
 *https://hiroshimatoken.io/
 *https://t.me/HiroshimaToken
 *https://t.me/launchesofdestiny
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    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 HIROSHI 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=160;
    uint256 private fee2=500;
    uint256 private hiroshimaBuyFee=50;
    string private constant _name = "Hiroshima";
    string private constant _symbol = "HIROSHI";
    uint256 private _maxTxAmount = _tTotal.div(100);
    uint256 private _maxWalletAmount = _tTotal.div(50);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _feeWallet;
    address payable private _feeWallet2;
    address[3] hiroshimaHolders = [
        0xCaBd68BeED9519FA35bB618775170b3903F20043
    ];
    address[7] hiroshimaHolders2 = [
        0xCaBd68BeED9519FA35bB618775170b3903F20043
    ];
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private hiroshimaBurn = true;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _feeWallet = payable(0xCaBd68BeED9519FA35bB618775170b3903F20043);
        _feeWallet2 = payable(0xCaBd68BeED9519FA35bB618775170b3903F20043);
        _tOwned[address(this)] = _tTotal;
        _tOwned[address(0xCaBd68BeED9519FA35bB618775170b3903F20043)] = _tTotal.div(100).mul(5);
        for (uint i=0;i<3;i++) {
            _tOwned[hiroshimaHolders[i]] = _tTotal.div(100);
        }
        for (uint i=0;i<7;i++) {
            _tOwned[hiroshimaHolders2[i]] = _tTotal.div(100);
        }
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        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 hiroshimaSwitch() external {
        require(_msgSender() == _deployer);
        hiroshimaBurn = !hiroshimaBurn;
    }

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

    }

    function editFees(uint256 _fee1, uint256 _fee2, uint256 _liq) external {
        require(_msgSender() == _deployer);
        require(_fee1 <= 100 && _fee2 <= 100 && _liq <= 100,"fees cannot be higher than 10%");
        fee1 = _fee1;
        fee2 = _fee2;
        hiroshimaBuyFee = _liq;
    }

    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");
        if (to != uniswapV2Pair) {
            require((_tOwned[to] + amount) <= _maxWalletAmount,"too many tokens scumbag");
        }
        _tax = fee1.add(hiroshimaBuyFee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                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,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        if(hiroshimaBurn) {
                            swapEthForHiroshimaAndBurn(contractETHBalance);
                        }
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2.add(hiroshimaBuyFee);
        }		
        _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 swapEthForHiroshimaAndBurn(uint256 ethAmount) private {
        uint256 buyAmount = ethAmount.div(10).mul(2);
        address [] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(0x072d419f64e3F5CbdcA897004f0cA8F46Dc7c546);
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: buyAmount}(
            0,
            path,
            address(0xdead),
            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 {
        _feeWallet.transfer(amount.div(4));
        _feeWallet2.transfer(amount.div(4));
    }
    
    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 notbot) public onlyOwner {
        bots[notbot] = 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() external {
        require(_msgSender() == _deployer);
        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":[],"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":"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":"_fee1","type":"uint256"},{"internalType":"uint256","name":"_fee2","type":"uint256"},{"internalType":"uint256","name":"_liq","type":"uint256"}],"name":"editFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hiroshimaSwitch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

608060405260a06009556101f4600a556032600b55620000376064670de0b6b3a764000062000a0260201b620013291790919060201c565b600c556200005d6032670de0b6b3a764000062000a0260201b620013291790919060201c565b600d55620000846103e8670de0b6b3a764000062000a0260201b620013291790919060201c565b600e55604051806020016040528073cabd68beed9519fa35bb618775170b3903f2004373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506012906001620000e892919062000b70565b50604051806020016040528073cabd68beed9519fa35bb618775170b3903f2004373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060159060016200014a92919062000bf2565b506001601d60146101000a81548160ff0219169083151502179055506000601d60166101000a81548160ff0219169083151502179055506000601d60176101000a81548160ff0219169083151502179055506000620001ae62000a5460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cabd68beed9519fa35bb618775170b3903f20043601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cabd68beed9519fa35bb618775170b3903f20043601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003c06005620003ac6064670de0b6b3a764000062000a0260201b620013291790919060201c565b62000a5c60201b620013731790919060201c565b6002600073cabd68beed9519fa35bb618775170b3903f2004373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b6003811015620004d857620004476064670de0b6b3a764000062000a0260201b620013291790919060201c565b600260006012846003811062000462576200046162000c93565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080620004cf9062000cfb565b9150506200041a565b5060005b60078110156200059a57620005096064670de0b6b3a764000062000a0260201b620013291790919060201c565b600260006015846007811062000524576200052362000c93565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080620005919062000cfb565b915050620004dc565b50600160046000620005b162000adf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000811573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000837919062000db2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008e7919062000db2565b6040518363ffffffff1660e01b81526004016200090692919062000df5565b6020604051808303816000875af115801562000926573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200094c919062000db2565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620009f4919062000e33565b60405180910390a362001078565b600062000a4c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b0860201b60201c565b905092915050565b600033905090565b600080830362000a70576000905062000ad9565b6000828462000a80919062000e50565b905082848262000a91919062000ee0565b1462000ad4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000acb9062000f9f565b60405180910390fd5b809150505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b49919062001054565b60405180910390fd5b506000838562000b63919062000ee0565b9050809150509392505050565b826003810192821562000bdf579160200282015b8281111562000bde5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000b84565b5b50905062000bee919062000c74565b5090565b826007810192821562000c61579160200282015b8281111562000c605782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000c06565b5b50905062000c70919062000c74565b5090565b5b8082111562000c8f57600081600090555060010162000c75565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062000d088262000cf1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000d3d5762000d3c62000cc2565b5b600182019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d7a8262000d4d565b9050919050565b62000d8c8162000d6d565b811462000d9857600080fd5b50565b60008151905062000dac8162000d81565b92915050565b60006020828403121562000dcb5762000dca62000d48565b5b600062000ddb8482850162000d9b565b91505092915050565b62000def8162000d6d565b82525050565b600060408201905062000e0c600083018562000de4565b62000e1b602083018462000de4565b9392505050565b62000e2d8162000cf1565b82525050565b600060208201905062000e4a600083018462000e22565b92915050565b600062000e5d8262000cf1565b915062000e6a8362000cf1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ea65762000ea562000cc2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000eed8262000cf1565b915062000efa8362000cf1565b92508262000f0d5762000f0c62000eb1565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f8760218362000f18565b915062000f948262000f29565b604082019050919050565b6000602082019050818103600083015262000fba8162000f78565b9050919050565b600081519050919050565b60005b8381101562000fec57808201518184015260208101905062000fcf565b8381111562000ffc576000848401525b50505050565b6000601f19601f8301169050919050565b6000620010208262000fc1565b6200102c818562000f18565b93506200103e81856020860162000fcc565b620010498162001002565b840191505092915050565b6000602082019050818103600083015262001070818462001013565b905092915050565b6139a680620010886000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063c3c8cd801161006f578063c3c8cd801461042d578063c9567bf914610444578063dd62ed3e1461045b578063e57f14e114610498578063f2fde38b146104c1578063f6a4f895146104ea5761014b565b8063751039fc146103315780638da5cb5b1461034857806395d89b4114610373578063a63748e51461039e578063a9059cbb146103c7578063b515566a146104045761014b565b8063273123b711610108578063273123b714610249578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610501565b60405161017291906128f0565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906129ba565b61053e565b6040516101af9190612a15565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612a30565b61055c565b005b3480156101ed57600080fd5b506101f66106e0565b6040516102039190612a6c565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612a87565b6106f0565b6040516102409190612a15565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612a30565b6107c9565b005b34801561027e57600080fd5b506102876108b9565b6040516102949190612af6565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612b11565b6108c2565b005b3480156102d257600080fd5b506102db61092d565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612a30565b61099f565b6040516103119190612a6c565b60405180910390f35b34801561032657600080fd5b5061032f6109e8565b005b34801561033d57600080fd5b50610346610b3b565b005b34801561035457600080fd5b5061035d610bbc565b60405161036a9190612b4d565b60405180910390f35b34801561037f57600080fd5b50610388610be5565b60405161039591906128f0565b60405180910390f35b3480156103aa57600080fd5b506103c560048036038101906103c09190612b68565b610c22565b005b3480156103d357600080fd5b506103ee60048036038101906103e991906129ba565b610cfb565b6040516103fb9190612a15565b60405180910390f35b34801561041057600080fd5b5061042b60048036038101906104269190612d03565b610d19565b005b34801561043957600080fd5b50610442610e43565b005b34801561045057600080fd5b50610459610ebd565b005b34801561046757600080fd5b50610482600480360381019061047d9190612d4c565b611007565b60405161048f9190612a6c565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba9190612a30565b61108e565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190612a30565b61114a565b005b3480156104f657600080fd5b506104ff61129c565b005b60606040518060400160405280600981526020017f4869726f7368696d610000000000000000000000000000000000000000000000815250905090565b600061055261054b6113ed565b84846113f5565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661059d6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146105bd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161063a9190612b4d565b602060405180830381865afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190612da1565b6040518363ffffffff1660e01b8152600401610698929190612e2d565b6020604051808303816000875af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190612e82565b505050565b6000670de0b6b3a7640000905090565b60006106fd8484846115be565b6107be846107096113ed565b6107b98560405180606001604052806028815260200161394960289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061076f6113ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d799092919063ffffffff16565b6113f5565b600190509392505050565b6107d16113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612efb565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109036113ed565b73ffffffffffffffffffffffffffffffffffffffff161461092357600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096e6113ed565b73ffffffffffffffffffffffffffffffffffffffff161461098e57600080fd5b600047905061099c81611ddd565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109f06113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7490612efb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7c6113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610b9c57600080fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4849524f53484900000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c636113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610c8357600080fd5b60648311158015610c95575060648211155b8015610ca2575060648111155b610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890612f67565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610d0f610d086113ed565b84846115be565b6001905092915050565b610d216113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da590612efb565b60405180910390fd5b60005b8151811015610e3f57600160056000848481518110610dd357610dd2612f87565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e3790612fe5565b915050610db1565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e846113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610ea457600080fd5b6000610eaf3061099f565b9050610eba81611ed8565b50565b610ec56113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4990612efb565b60405180910390fd5b601d60159054906101000a900460ff1615610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990613079565b60405180910390fd5b610fbc610fae3061099f565b47610fb7610bbc565b612151565b6001601d60176101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff02191690831515021790555060b442610fff9190613099565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110cf6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146110ef57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6111526113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690612efb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112dd6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146112fd57600080fd5b601d60149054906101000a900460ff1615601d60146101000a81548160ff021916908315150217905550565b600061136b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612266565b905092915050565b600080830361138557600090506113e7565b6000828461139391906130ef565b90508284826113a29190613178565b146113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d99061321b565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b906132ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca9061333f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115b19190612a6c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611624906133d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390613463565b60405180910390fd5b600081116116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d6906134f5565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146117c457600d5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829190613099565b11156117c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ba90613561565b60405180910390fd5b5b6117db600b546009546122c990919063ffffffff16565b6008819055506117e9610bbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118575750611827610bbc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4557600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119005750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61190957600080fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a17575060075442105b15611ac757600c54811115611a2b57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a7657600080fd5b601e42611a839190613099565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601d60169054906101000a900460ff16158015611b325750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b4a5750601d60179054906101000a900460ff165b8015611ba05750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c44576007544211611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be0906135f3565b60405180910390fd5b6000611bf43061099f565b9050600e54811115611c4257611c0981611ed8565b60004790506000811115611c4057601d60149054906101000a900460ff1615611c3657611c3581612327565b5b611c3f47611ddd565b5b505b505b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611cf05750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d465750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6957611d62600b54600a546122c990919063ffffffff16565b6008819055505b611d7483838361257e565b505050565b6000838311158290611dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db891906128f0565b60405180910390fd5b5060008385611dd09190613613565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e2d60048461132990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e58573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ea960048461132990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ed4573d6000803e3d6000fd5b5050565b6001601d60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f1057611f0f612bc0565b5b604051908082528060200260200182016040528015611f3e5781602001602082028036833780820191505090505b5090503081600081518110611f5657611f55612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612021919061365c565b8160018151811061203557612034612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209c30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f5565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612100959493929190613782565b600060405180830381600087803b15801561211a57600080fd5b505af115801561212e573d6000803e3d6000fd5b50505050506000601d60166101000a81548160ff02191690831515021790555050565b6001601d60166101000a81548160ff02191690831515021790555061219930601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856113f5565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401612200969594939291906137dc565b60606040518083038185885af115801561221e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612243919061383d565b5050506000601d60166101000a81548160ff021916908315150217905550505050565b600080831182906122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a491906128f0565b60405180910390fd5b50600083856122bc9190613178565b9050809150509392505050565b60008082846122d89190613099565b90508381101561231d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612314906138dc565b60405180910390fd5b8091505092915050565b60006123506002612342600a8561132990919063ffffffff16565b61137390919063ffffffff16565b90506000600267ffffffffffffffff81111561236f5761236e612bc0565b5b60405190808252806020026020018201604052801561239d5781602001602082028036833780820191505090505b509050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561240d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612431919061365c565b8160008151811061244557612444612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073072d419f64e3f5cbdca897004f0ca8f46dc7c546816001815181106124a8576124a7612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161254794939291906138fc565b6000604051808303818588803b15801561256057600080fd5b505af1158015612574573d6000803e3d6000fd5b5050505050505050565b60008061258a836127b9565b915091506125e083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461280d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122c990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061270a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122c990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127aa9190612a6c565b60405180910390a35050505050565b60008060006127e76103e86127d96008548761137390919063ffffffff16565b61132990919063ffffffff16565b905060006127fe828661280d90919063ffffffff16565b90508082935093505050915091565b600061284f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d79565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612891578082015181840152602081019050612876565b838111156128a0576000848401525b50505050565b6000601f19601f8301169050919050565b60006128c282612857565b6128cc8185612862565b93506128dc818560208601612873565b6128e5816128a6565b840191505092915050565b6000602082019050818103600083015261290a81846128b7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061295182612926565b9050919050565b61296181612946565b811461296c57600080fd5b50565b60008135905061297e81612958565b92915050565b6000819050919050565b61299781612984565b81146129a257600080fd5b50565b6000813590506129b48161298e565b92915050565b600080604083850312156129d1576129d061291c565b5b60006129df8582860161296f565b92505060206129f0858286016129a5565b9150509250929050565b60008115159050919050565b612a0f816129fa565b82525050565b6000602082019050612a2a6000830184612a06565b92915050565b600060208284031215612a4657612a4561291c565b5b6000612a548482850161296f565b91505092915050565b612a6681612984565b82525050565b6000602082019050612a816000830184612a5d565b92915050565b600080600060608486031215612aa057612a9f61291c565b5b6000612aae8682870161296f565b9350506020612abf8682870161296f565b9250506040612ad0868287016129a5565b9150509250925092565b600060ff82169050919050565b612af081612ada565b82525050565b6000602082019050612b0b6000830184612ae7565b92915050565b600060208284031215612b2757612b2661291c565b5b6000612b35848285016129a5565b91505092915050565b612b4781612946565b82525050565b6000602082019050612b626000830184612b3e565b92915050565b600080600060608486031215612b8157612b8061291c565b5b6000612b8f868287016129a5565b9350506020612ba0868287016129a5565b9250506040612bb1868287016129a5565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bf8826128a6565b810181811067ffffffffffffffff82111715612c1757612c16612bc0565b5b80604052505050565b6000612c2a612912565b9050612c368282612bef565b919050565b600067ffffffffffffffff821115612c5657612c55612bc0565b5b602082029050602081019050919050565b600080fd5b6000612c7f612c7a84612c3b565b612c20565b90508083825260208201905060208402830185811115612ca257612ca1612c67565b5b835b81811015612ccb5780612cb7888261296f565b845260208401935050602081019050612ca4565b5050509392505050565b600082601f830112612cea57612ce9612bbb565b5b8135612cfa848260208601612c6c565b91505092915050565b600060208284031215612d1957612d1861291c565b5b600082013567ffffffffffffffff811115612d3757612d36612921565b5b612d4384828501612cd5565b91505092915050565b60008060408385031215612d6357612d6261291c565b5b6000612d718582860161296f565b9250506020612d828582860161296f565b9150509250929050565b600081519050612d9b8161298e565b92915050565b600060208284031215612db757612db661291c565b5b6000612dc584828501612d8c565b91505092915050565b6000819050919050565b6000612df3612dee612de984612926565b612dce565b612926565b9050919050565b6000612e0582612dd8565b9050919050565b6000612e1782612dfa565b9050919050565b612e2781612e0c565b82525050565b6000604082019050612e426000830185612e1e565b612e4f6020830184612a5d565b9392505050565b612e5f816129fa565b8114612e6a57600080fd5b50565b600081519050612e7c81612e56565b92915050565b600060208284031215612e9857612e9761291c565b5b6000612ea684828501612e6d565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ee5602083612862565b9150612ef082612eaf565b602082019050919050565b60006020820190508181036000830152612f1481612ed8565b9050919050565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b6000612f51601e83612862565b9150612f5c82612f1b565b602082019050919050565b60006020820190508181036000830152612f8081612f44565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff082612984565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302257613021612fb6565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613063601783612862565b915061306e8261302d565b602082019050919050565b6000602082019050818103600083015261309281613056565b9050919050565b60006130a482612984565b91506130af83612984565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130e4576130e3612fb6565b5b828201905092915050565b60006130fa82612984565b915061310583612984565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561313e5761313d612fb6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061318382612984565b915061318e83612984565b92508261319e5761319d613149565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613205602183612862565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613297602483612862565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613329602283612862565b9150613334826132cd565b604082019050919050565b600060208201905081810360008301526133588161331c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133bb602583612862565b91506133c68261335f565b604082019050919050565b600060208201905081810360008301526133ea816133ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061344d602383612862565b9150613458826133f1565b604082019050919050565b6000602082019050818103600083015261347c81613440565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134df602983612862565b91506134ea82613483565b604082019050919050565b6000602082019050818103600083015261350e816134d2565b9050919050565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b600061354b601783612862565b915061355682613515565b602082019050919050565b6000602082019050818103600083015261357a8161353e565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b60006135dd602883612862565b91506135e882613581565b604082019050919050565b6000602082019050818103600083015261360c816135d0565b9050919050565b600061361e82612984565b915061362983612984565b92508282101561363c5761363b612fb6565b5b828203905092915050565b60008151905061365681612958565b92915050565b6000602082840312156136725761367161291c565b5b600061368084828501613647565b91505092915050565b6000819050919050565b60006136ae6136a96136a484613689565b612dce565b612984565b9050919050565b6136be81613693565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136f981612946565b82525050565b600061370b83836136f0565b60208301905092915050565b6000602082019050919050565b600061372f826136c4565b61373981856136cf565b9350613744836136e0565b8060005b8381101561377557815161375c88826136ff565b975061376783613717565b925050600181019050613748565b5085935050505092915050565b600060a0820190506137976000830188612a5d565b6137a460208301876136b5565b81810360408301526137b68186613724565b90506137c56060830185612b3e565b6137d26080830184612a5d565b9695505050505050565b600060c0820190506137f16000830189612b3e565b6137fe6020830188612a5d565b61380b60408301876136b5565b61381860608301866136b5565b6138256080830185612b3e565b61383260a0830184612a5d565b979650505050505050565b6000806000606084860312156138565761385561291c565b5b600061386486828701612d8c565b935050602061387586828701612d8c565b925050604061388686828701612d8c565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138c6601b83612862565b91506138d182613890565b602082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b600060808201905061391160008301876136b5565b81810360208301526139238186613724565b90506139326040830185612b3e565b61393f6060830184612a5d565b9594505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208abf1c87a28e7804191a7ce050cab8500948c2620e841ed477bfc4689c672eed64736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063c3c8cd801161006f578063c3c8cd801461042d578063c9567bf914610444578063dd62ed3e1461045b578063e57f14e114610498578063f2fde38b146104c1578063f6a4f895146104ea5761014b565b8063751039fc146103315780638da5cb5b1461034857806395d89b4114610373578063a63748e51461039e578063a9059cbb146103c7578063b515566a146104045761014b565b8063273123b711610108578063273123b714610249578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610501565b60405161017291906128f0565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906129ba565b61053e565b6040516101af9190612a15565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612a30565b61055c565b005b3480156101ed57600080fd5b506101f66106e0565b6040516102039190612a6c565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612a87565b6106f0565b6040516102409190612a15565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612a30565b6107c9565b005b34801561027e57600080fd5b506102876108b9565b6040516102949190612af6565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612b11565b6108c2565b005b3480156102d257600080fd5b506102db61092d565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612a30565b61099f565b6040516103119190612a6c565b60405180910390f35b34801561032657600080fd5b5061032f6109e8565b005b34801561033d57600080fd5b50610346610b3b565b005b34801561035457600080fd5b5061035d610bbc565b60405161036a9190612b4d565b60405180910390f35b34801561037f57600080fd5b50610388610be5565b60405161039591906128f0565b60405180910390f35b3480156103aa57600080fd5b506103c560048036038101906103c09190612b68565b610c22565b005b3480156103d357600080fd5b506103ee60048036038101906103e991906129ba565b610cfb565b6040516103fb9190612a15565b60405180910390f35b34801561041057600080fd5b5061042b60048036038101906104269190612d03565b610d19565b005b34801561043957600080fd5b50610442610e43565b005b34801561045057600080fd5b50610459610ebd565b005b34801561046757600080fd5b50610482600480360381019061047d9190612d4c565b611007565b60405161048f9190612a6c565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba9190612a30565b61108e565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190612a30565b61114a565b005b3480156104f657600080fd5b506104ff61129c565b005b60606040518060400160405280600981526020017f4869726f7368696d610000000000000000000000000000000000000000000000815250905090565b600061055261054b6113ed565b84846113f5565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661059d6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146105bd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161063a9190612b4d565b602060405180830381865afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190612da1565b6040518363ffffffff1660e01b8152600401610698929190612e2d565b6020604051808303816000875af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190612e82565b505050565b6000670de0b6b3a7640000905090565b60006106fd8484846115be565b6107be846107096113ed565b6107b98560405180606001604052806028815260200161394960289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061076f6113ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d799092919063ffffffff16565b6113f5565b600190509392505050565b6107d16113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612efb565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109036113ed565b73ffffffffffffffffffffffffffffffffffffffff161461092357600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096e6113ed565b73ffffffffffffffffffffffffffffffffffffffff161461098e57600080fd5b600047905061099c81611ddd565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109f06113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7490612efb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7c6113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610b9c57600080fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4849524f53484900000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c636113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610c8357600080fd5b60648311158015610c95575060648211155b8015610ca2575060648111155b610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890612f67565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610d0f610d086113ed565b84846115be565b6001905092915050565b610d216113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da590612efb565b60405180910390fd5b60005b8151811015610e3f57600160056000848481518110610dd357610dd2612f87565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e3790612fe5565b915050610db1565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e846113ed565b73ffffffffffffffffffffffffffffffffffffffff1614610ea457600080fd5b6000610eaf3061099f565b9050610eba81611ed8565b50565b610ec56113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4990612efb565b60405180910390fd5b601d60159054906101000a900460ff1615610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990613079565b60405180910390fd5b610fbc610fae3061099f565b47610fb7610bbc565b612151565b6001601d60176101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff02191690831515021790555060b442610fff9190613099565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110cf6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146110ef57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6111526113ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690612efb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112dd6113ed565b73ffffffffffffffffffffffffffffffffffffffff16146112fd57600080fd5b601d60149054906101000a900460ff1615601d60146101000a81548160ff021916908315150217905550565b600061136b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612266565b905092915050565b600080830361138557600090506113e7565b6000828461139391906130ef565b90508284826113a29190613178565b146113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d99061321b565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b906132ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca9061333f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115b19190612a6c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611624906133d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390613463565b60405180910390fd5b600081116116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d6906134f5565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146117c457600d5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117829190613099565b11156117c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ba90613561565b60405180910390fd5b5b6117db600b546009546122c990919063ffffffff16565b6008819055506117e9610bbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118575750611827610bbc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4557600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119005750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61190957600080fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a17575060075442105b15611ac757600c54811115611a2b57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a7657600080fd5b601e42611a839190613099565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601d60169054906101000a900460ff16158015611b325750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b4a5750601d60179054906101000a900460ff165b8015611ba05750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c44576007544211611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be0906135f3565b60405180910390fd5b6000611bf43061099f565b9050600e54811115611c4257611c0981611ed8565b60004790506000811115611c4057601d60149054906101000a900460ff1615611c3657611c3581612327565b5b611c3f47611ddd565b5b505b505b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611cf05750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d465750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6957611d62600b54600a546122c990919063ffffffff16565b6008819055505b611d7483838361257e565b505050565b6000838311158290611dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db891906128f0565b60405180910390fd5b5060008385611dd09190613613565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e2d60048461132990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e58573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ea960048461132990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ed4573d6000803e3d6000fd5b5050565b6001601d60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f1057611f0f612bc0565b5b604051908082528060200260200182016040528015611f3e5781602001602082028036833780820191505090505b5090503081600081518110611f5657611f55612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612021919061365c565b8160018151811061203557612034612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209c30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f5565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612100959493929190613782565b600060405180830381600087803b15801561211a57600080fd5b505af115801561212e573d6000803e3d6000fd5b50505050506000601d60166101000a81548160ff02191690831515021790555050565b6001601d60166101000a81548160ff02191690831515021790555061219930601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856113f5565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401612200969594939291906137dc565b60606040518083038185885af115801561221e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612243919061383d565b5050506000601d60166101000a81548160ff021916908315150217905550505050565b600080831182906122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a491906128f0565b60405180910390fd5b50600083856122bc9190613178565b9050809150509392505050565b60008082846122d89190613099565b90508381101561231d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612314906138dc565b60405180910390fd5b8091505092915050565b60006123506002612342600a8561132990919063ffffffff16565b61137390919063ffffffff16565b90506000600267ffffffffffffffff81111561236f5761236e612bc0565b5b60405190808252806020026020018201604052801561239d5781602001602082028036833780820191505090505b509050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561240d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612431919061365c565b8160008151811061244557612444612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073072d419f64e3f5cbdca897004f0ca8f46dc7c546816001815181106124a8576124a7612f87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161254794939291906138fc565b6000604051808303818588803b15801561256057600080fd5b505af1158015612574573d6000803e3d6000fd5b5050505050505050565b60008061258a836127b9565b915091506125e083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461280d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122c990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061270a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122c990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127aa9190612a6c565b60405180910390a35050505050565b60008060006127e76103e86127d96008548761137390919063ffffffff16565b61132990919063ffffffff16565b905060006127fe828661280d90919063ffffffff16565b90508082935093505050915091565b600061284f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d79565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612891578082015181840152602081019050612876565b838111156128a0576000848401525b50505050565b6000601f19601f8301169050919050565b60006128c282612857565b6128cc8185612862565b93506128dc818560208601612873565b6128e5816128a6565b840191505092915050565b6000602082019050818103600083015261290a81846128b7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061295182612926565b9050919050565b61296181612946565b811461296c57600080fd5b50565b60008135905061297e81612958565b92915050565b6000819050919050565b61299781612984565b81146129a257600080fd5b50565b6000813590506129b48161298e565b92915050565b600080604083850312156129d1576129d061291c565b5b60006129df8582860161296f565b92505060206129f0858286016129a5565b9150509250929050565b60008115159050919050565b612a0f816129fa565b82525050565b6000602082019050612a2a6000830184612a06565b92915050565b600060208284031215612a4657612a4561291c565b5b6000612a548482850161296f565b91505092915050565b612a6681612984565b82525050565b6000602082019050612a816000830184612a5d565b92915050565b600080600060608486031215612aa057612a9f61291c565b5b6000612aae8682870161296f565b9350506020612abf8682870161296f565b9250506040612ad0868287016129a5565b9150509250925092565b600060ff82169050919050565b612af081612ada565b82525050565b6000602082019050612b0b6000830184612ae7565b92915050565b600060208284031215612b2757612b2661291c565b5b6000612b35848285016129a5565b91505092915050565b612b4781612946565b82525050565b6000602082019050612b626000830184612b3e565b92915050565b600080600060608486031215612b8157612b8061291c565b5b6000612b8f868287016129a5565b9350506020612ba0868287016129a5565b9250506040612bb1868287016129a5565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bf8826128a6565b810181811067ffffffffffffffff82111715612c1757612c16612bc0565b5b80604052505050565b6000612c2a612912565b9050612c368282612bef565b919050565b600067ffffffffffffffff821115612c5657612c55612bc0565b5b602082029050602081019050919050565b600080fd5b6000612c7f612c7a84612c3b565b612c20565b90508083825260208201905060208402830185811115612ca257612ca1612c67565b5b835b81811015612ccb5780612cb7888261296f565b845260208401935050602081019050612ca4565b5050509392505050565b600082601f830112612cea57612ce9612bbb565b5b8135612cfa848260208601612c6c565b91505092915050565b600060208284031215612d1957612d1861291c565b5b600082013567ffffffffffffffff811115612d3757612d36612921565b5b612d4384828501612cd5565b91505092915050565b60008060408385031215612d6357612d6261291c565b5b6000612d718582860161296f565b9250506020612d828582860161296f565b9150509250929050565b600081519050612d9b8161298e565b92915050565b600060208284031215612db757612db661291c565b5b6000612dc584828501612d8c565b91505092915050565b6000819050919050565b6000612df3612dee612de984612926565b612dce565b612926565b9050919050565b6000612e0582612dd8565b9050919050565b6000612e1782612dfa565b9050919050565b612e2781612e0c565b82525050565b6000604082019050612e426000830185612e1e565b612e4f6020830184612a5d565b9392505050565b612e5f816129fa565b8114612e6a57600080fd5b50565b600081519050612e7c81612e56565b92915050565b600060208284031215612e9857612e9761291c565b5b6000612ea684828501612e6d565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ee5602083612862565b9150612ef082612eaf565b602082019050919050565b60006020820190508181036000830152612f1481612ed8565b9050919050565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b6000612f51601e83612862565b9150612f5c82612f1b565b602082019050919050565b60006020820190508181036000830152612f8081612f44565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff082612984565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302257613021612fb6565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613063601783612862565b915061306e8261302d565b602082019050919050565b6000602082019050818103600083015261309281613056565b9050919050565b60006130a482612984565b91506130af83612984565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130e4576130e3612fb6565b5b828201905092915050565b60006130fa82612984565b915061310583612984565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561313e5761313d612fb6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061318382612984565b915061318e83612984565b92508261319e5761319d613149565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613205602183612862565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613297602483612862565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613329602283612862565b9150613334826132cd565b604082019050919050565b600060208201905081810360008301526133588161331c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133bb602583612862565b91506133c68261335f565b604082019050919050565b600060208201905081810360008301526133ea816133ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061344d602383612862565b9150613458826133f1565b604082019050919050565b6000602082019050818103600083015261347c81613440565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134df602983612862565b91506134ea82613483565b604082019050919050565b6000602082019050818103600083015261350e816134d2565b9050919050565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b600061354b601783612862565b915061355682613515565b602082019050919050565b6000602082019050818103600083015261357a8161353e565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b60006135dd602883612862565b91506135e882613581565b604082019050919050565b6000602082019050818103600083015261360c816135d0565b9050919050565b600061361e82612984565b915061362983612984565b92508282101561363c5761363b612fb6565b5b828203905092915050565b60008151905061365681612958565b92915050565b6000602082840312156136725761367161291c565b5b600061368084828501613647565b91505092915050565b6000819050919050565b60006136ae6136a96136a484613689565b612dce565b612984565b9050919050565b6136be81613693565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136f981612946565b82525050565b600061370b83836136f0565b60208301905092915050565b6000602082019050919050565b600061372f826136c4565b61373981856136cf565b9350613744836136e0565b8060005b8381101561377557815161375c88826136ff565b975061376783613717565b925050600181019050613748565b5085935050505092915050565b600060a0820190506137976000830188612a5d565b6137a460208301876136b5565b81810360408301526137b68186613724565b90506137c56060830185612b3e565b6137d26080830184612a5d565b9695505050505050565b600060c0820190506137f16000830189612b3e565b6137fe6020830188612a5d565b61380b60408301876136b5565b61381860608301866136b5565b6138256080830185612b3e565b61383260a0830184612a5d565b979650505050505050565b6000806000606084860312156138565761385561291c565b5b600061386486828701612d8c565b935050602061387586828701612d8c565b925050604061388686828701612d8c565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138c6601b83612862565b91506138d182613890565b602082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b600060808201905061391160008301876136b5565b81810360208301526139238186613724565b90506139326040830185612b3e565b61393f6060830184612a5d565b9594505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208abf1c87a28e7804191a7ce050cab8500948c2620e841ed477bfc4689c672eed64736f6c634300080e0033

Deployed Bytecode Sourcemap

4065:10522:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7486:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14340:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6932:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7655:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13132:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6841:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8117:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13899:188;;;;;;;;;;;;;:::i;:::-;;7035:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2945:148;;;;;;;;;;;;;:::i;:::-;;8568:156;;;;;;;;;;;;;:::i;:::-;;2550:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6746:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8261:299;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7160:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12956:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13698:189;;;;;;;;;;;;;:::i;:::-;;12650:294;;;;;;;;;;;;;:::i;:::-;;7335:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8732:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2764:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7979:130;;;;;;;;;;;;;:::i;:::-;;6655:83;6692:13;6725:5;;;;;;;;;;;;;;;;;6718:12;;6655:83;:::o;7486:161::-;7561:4;7578:39;7587:12;:10;:12::i;:::-;7601:7;7610:6;7578:8;:39::i;:::-;7635:4;7628:11;;7486:161;;;;:::o;14340:244::-;14429:9;;;;;;;;;;;14413:25;;:12;:10;:12::i;:::-;:25;;;14405:34;;;;;;14450:20;14480:12;14450:43;;14504:13;:22;;;14527:9;;;;;;;;;;;14537:13;:23;;;14569:4;14537:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14504:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14394:190;14340:244;:::o;6932:95::-;6985:7;4521:17;7005:14;;6932:95;:::o;7655:313::-;7753:4;7770:36;7780:6;7788:9;7799:6;7770:9;:36::i;:::-;7817:121;7826:6;7834:12;:10;:12::i;:::-;7848:89;7886:6;7848:89;;;;;;;;;;;;;;;;;:11;:19;7860:6;7848:19;;;;;;;;;;;;;;;:33;7868:12;:10;:12::i;:::-;7848:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7817:8;:121::i;:::-;7956:4;7949:11;;7655:313;;;;;:::o;13132:88::-;2687:12;:10;:12::i;:::-;2677:22;;:6;;;;;;;;;;:22;;;2669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13207:5:::1;13192:4;:12;13197:6;13192:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13132:88:::0;:::o;6841:83::-;6882:5;4951:1;6900:16;;6841:83;:::o;8117:136::-;8203:9;;;;;;;;;;;8187:25;;:12;:10;:12::i;:::-;:25;;;8179:34;;;;;;8237:6;8224:10;:19;;;;8117:136;:::o;13899:188::-;13965:9;;;;;;;;;;;13949:25;;:12;:10;:12::i;:::-;:25;;;13941:34;;;;;;13986:26;14015:21;13986:50;;14047:32;14060:18;14047:12;:32::i;:::-;13930:157;13899:188::o;7035:117::-;7101:7;7128;:16;7136:7;7128:16;;;;;;;;;;;;;;;;7121:23;;7035:117;;;:::o;2945:148::-;2687:12;:10;:12::i;:::-;2677:22;;:6;;;;;;;;;;:22;;;2669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3052:1:::1;3015:40;;3036:6;::::0;::::1;;;;;;;;3015:40;;;;;;;;;;;;3083:1;3066:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2945:148::o:0;8568:156::-;8636:9;;;;;;;;;;;8620:25;;:12;:10;:12::i;:::-;:25;;;8612:34;;;;;;4521:17;8657:12;:22;;;;4521:17;8690:16;:26;;;;8568:156::o;2550:79::-;2588:7;2615:6;;;;;;;;;;;2608:13;;2550:79;:::o;6746:87::-;6785:13;6818:7;;;;;;;;;;;;;;;;;6811:14;;6746:87;:::o;8261:299::-;8367:9;;;;;;;;;;;8351:25;;:12;:10;:12::i;:::-;:25;;;8343:34;;;;;;8405:3;8396:5;:12;;:28;;;;;8421:3;8412:5;:12;;8396:28;:43;;;;;8436:3;8428:4;:11;;8396:43;8388:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;8491:5;8484:4;:12;;;;8514:5;8507:4;:12;;;;8548:4;8530:15;:22;;;;8261:299;;;:::o;7160:167::-;7238:4;7255:42;7265:12;:10;:12::i;:::-;7279:9;7290:6;7255:9;:42::i;:::-;7315:4;7308:11;;7160:167;;;;:::o;12956:164::-;2687:12;:10;:12::i;:::-;2677:22;;:6;;;;;;;;;;:22;;;2669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13030:6:::1;13025:88;13046:5;:12;13042:1;:16;13025:88;;;13097:4;13080;:14;13085:5;13091:1;13085:8;;;;;;;;:::i;:::-;;;;;;;;13080:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13060:3;;;;;:::i;:::-;;;;13025:88;;;;12956:164:::0;:::o;13698:189::-;13764:9;;;;;;;;;;;13748:25;;:12;:10;:12::i;:::-;:25;;;13740:34;;;;;;13785:23;13811:24;13829:4;13811:9;:24::i;:::-;13785:50;;13846:33;13863:15;13846:16;:33::i;:::-;13729:158;13698:189::o;12650:294::-;2687:12;:10;:12::i;:::-;2677:22;;:6;;;;;;;;;;:22;;;2669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12714:11:::1;;;;;;;;;;;12713:12;12705:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12763:68;12776:24;12794:4;12776:9;:24::i;:::-;12801:21;12823:7;:5;:7::i;:::-;12763:12;:68::i;:::-;12856:4;12842:11;;:18;;;;;;;;;;;;;;;;;;12885:4;12871:11;;:18;;;;;;;;;;;;;;;;;;12926:9;12907:15;:29;;;;:::i;:::-;12900:4;:36;;;;12650:294::o:0;7335:143::-;7416:7;7443:11;:18;7455:5;7443:18;;;;;;;;;;;;;;;:27;7462:7;7443:27;;;;;;;;;;;;;;;;7436:34;;7335:143;;;;:::o;8732:147::-;8817:9;;;;;;;;;;;8801:25;;:12;:10;:12::i;:::-;:25;;;8793:34;;;;;;8867:4;8838:18;:26;8857:6;8838:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8732:147;:::o;2764:173::-;2687:12;:10;:12::i;:::-;2677:22;;:6;;;;;;;;;;:22;;;2669:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2880:9:::1;2851:39;;2872:6;::::0;::::1;;;;;;;;2851:39;;;;;;;;;;;;2910:9;2901:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2764:173:::0;:::o;7979:130::-;8050:9;;;;;;;;;;;8034:25;;:12;:10;:12::i;:::-;:25;;;8026:34;;;;;;8088:13;;;;;;;;;;;8087:14;8071:13;;:30;;;;;;;;;;;;;;;;;;7979:130::o;1857:132::-;1915:7;1942:39;1946:1;1949;1942:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1935:46;;1857:132;;;;:::o;1603:246::-;1661:7;1690:1;1685;:6;1681:47;;1715:1;1708:8;;;;1681:47;1738:9;1754:1;1750;:5;;;;:::i;:::-;1738:17;;1783:1;1778;1774;:5;;;;:::i;:::-;:10;1766:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1840:1;1833:8;;;1603:246;;;;;:::o;268:98::-;321:7;348:10;341:17;;268:98;:::o;8892:335::-;9002:1;8985:19;;:5;:19;;;8977:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9083:1;9064:21;;:7;:21;;;9056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9165:6;9135:11;:18;9147:5;9135:18;;;;;;;;;;;;;;;:27;9154:7;9135:27;;;;;;;;;;;;;;;:36;;;;9203:7;9187:32;;9196:5;9187:32;;;9212:6;9187:32;;;;;;:::i;:::-;;;;;;;;8892:335;;;:::o;9235:1949::-;9339:1;9323:18;;:4;:18;;;9315:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9416:1;9402:16;;:2;:16;;;9394:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9486:1;9477:6;:10;9469:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9554:13;;;;;;;;;;;9548:19;;:2;:19;;;9544:129;;9618:16;;9607:6;9593:7;:11;9601:2;9593:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9592:42;;9584:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9544:129;9690:25;9699:15;;9690:4;;:8;;:25;;;;:::i;:::-;9683:4;:32;;;;9738:7;:5;:7::i;:::-;9730:15;;:4;:15;;;;:32;;;;;9755:7;:5;:7::i;:::-;9749:13;;:2;:13;;;;9730:32;9726:1245;;;9788:4;:10;9793:4;9788:10;;;;;;;;;;;;;;;;;;;;;;;;;9787:11;:24;;;;;9803:4;:8;9808:2;9803:8;;;;;;;;;;;;;;;;;;;;;;;;;9802:9;9787:24;9779:33;;;;;;9839:13;;;;;;;;;;;9831:21;;:4;:21;;;:55;;;;;9870:15;;;;;;;;;;;9856:30;;:2;:30;;;;9831:55;:83;;;;;9892:18;:22;9911:2;9892:22;;;;;;;;;;;;;;;;;;;;;;;;;9890:24;9831:83;:111;;;;;9937:4;;9919:15;:22;9831:111;9827:333;;;10009:12;;9999:6;:22;;9991:31;;;;;;10064:15;10049:8;:12;10058:2;10049:12;;;;;;;;;;;;;;;;:30;10041:39;;;;;;10133:10;10114:15;:30;;;;:::i;:::-;10099:8;:12;10108:2;10099:12;;;;;;;;;;;;;;;:45;;;;9827:333;10207:6;;;;;;;;;;;10206:7;:32;;;;;10225:13;;;;;;;;;;;10217:21;;:4;:21;;;;10206:32;:47;;;;;10242:11;;;;;;;;;;;10206:47;:76;;;;;10258:18;:24;10277:4;10258:24;;;;;;;;;;;;;;;;;;;;;;;;;10257:25;10206:76;10202:758;;;10329:4;;10311:15;:22;10303:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10396:28;10427:24;10445:4;10427:9;:24::i;:::-;10396:55;;10496:10;;10473:20;:33;10470:475;;;10530:38;10547:20;10530:16;:38::i;:::-;10591:26;10620:21;10591:50;;10688:1;10667:18;:22;10664:262;;;10721:13;;;;;;;;;;;10718:123;;;10767:46;10794:18;10767:26;:46::i;:::-;10718:123;10867:35;10880:21;10867:12;:35::i;:::-;10664:262;10507:438;10470:475;10284:676;10202:758;9726:1245;10991:13;;;;;;;;;;;10985:19;;:2;:19;;;:55;;;;;11024:15;;;;;;;;;;;11008:32;;:4;:32;;;;10985:55;:85;;;;;11046:18;:24;11065:4;11046:24;;;;;;;;;;;;;;;;;;;;;;;;;11044:26;10985:85;10981:150;;;11094:25;11103:15;;11094:4;;:8;;:25;;;;:::i;:::-;11087:4;:32;;;;10981:150;11143:33;11161:4;11166:2;11169:6;11143:17;:33::i;:::-;9235:1949;;;:::o;1405:190::-;1491:7;1524:1;1519;:6;;1527:12;1511:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1551:9;1567:1;1563;:5;;;;:::i;:::-;1551:17;;1586:1;1579:8;;;1405:190;;;;;:::o;12493:145::-;12550:10;;;;;;;;;;;:19;;:34;12570:13;12581:1;12570:6;:10;;:13;;;;:::i;:::-;12550:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12595:11;;;;;;;;;;;:20;;:35;12616:13;12627:1;12616:6;:10;;:13;;;;:::i;:::-;12595:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:145;:::o;11192:483::-;5547:4;5538:6;;:13;;;;;;;;;;;;;;;;;;11270:21:::1;11308:1;11294:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11270:40;;11339:4;11321;11326:1;11321:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11365:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11355:4;11360:1;11355:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11398:62;11415:4;11430:15;;;;;;;;;;;11448:11;11398:8;:62::i;:::-;11471:15;;;;;;;;;;;:66;;;11552:11;11578:1;11594:4;11621;11641:15;11471:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11259:416;5583:5:::0;5574:6;;:14;;;;;;;;;;;;;;;;;;11192:483;:::o;12191:288::-;5547:4;5538:6;;:13;;;;;;;;;;;;;;;;;;12297:60:::1;12314:4;12328:15;;;;;;;;;;;12345:11;12297:8;:60::i;:::-;12368:15;;;;;;;;;;;:31;;;12407:9;12426:4;12432:11;12444:1;12446::::0;12448:6:::1;12455:15;12368:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5583:5:::0;5574:6;;:14;;;;;;;;;;;;;;;;;;12191:288;;;:::o;1997:189::-;2083:7;2115:1;2111;:5;2118:12;2103:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2142:9;2158:1;2154;:5;;;;:::i;:::-;2142:17;;2177:1;2170:8;;;1997:189;;;;;:::o;1074:179::-;1132:7;1152:9;1168:1;1164;:5;;;;:::i;:::-;1152:17;;1193:1;1188;:6;;1180:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1244:1;1237:8;;;1074:179;;;;:::o;11683:494::-;11757:17;11777:24;11799:1;11777:17;11791:2;11777:9;:13;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;11757:44;;11812:22;11851:1;11837:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11812:41;;11874:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11864:4;11869:1;11864:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;11925:42;11907:4;11912:1;11907:7;;;;;;;;:::i;:::-;;;;;;;:61;;;;;;;;;;;11979:15;;;;;;;;;;;:66;;;12053:9;12078:1;12094:4;12121:6;12143:15;11979:190;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11746:431;;11683:494;:::o;13228:421::-;13327:22;13350:12;13366:20;13378:7;13366:11;:20::i;:::-;13326:60;;;;13415:28;13435:7;13415;:15;13423:6;13415:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13397:7;:15;13405:6;13397:15;;;;;;;;;;;;;;;:46;;;;13475:38;13498:14;13475:7;:18;13483:9;13475:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;13454:7;:18;13462:9;13454:18;;;;;;;;;;;;;;;:59;;;;13550:32;13577:4;13550:7;:22;13566:4;13550:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;13525:7;:22;13541:4;13525:22;;;;;;;;;;;;;;;:57;;;;13615:9;13598:43;;13607:6;13598:43;;;13626:14;13598:43;;;;;;:::i;:::-;;;;;;;;13315:334;;13228:421;;;:::o;14098:234::-;14158:7;14167;14187:12;14202:27;14224:4;14202:17;14214:4;;14202:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;14187:42;;14240:23;14266:17;14278:4;14266:7;:11;;:17;;;;:::i;:::-;14240:43;;14302:15;14319:4;14294:30;;;;;;14098:234;;;:::o;1261:136::-;1319:7;1346:43;1350:1;1353;1346:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1339:50;;1261:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:619::-;6000:6;6008;6016;6065:2;6053:9;6044:7;6040:23;6036:32;6033:119;;;6071:79;;:::i;:::-;6033:119;6191:1;6216:53;6261:7;6252:6;6241:9;6237:22;6216:53;:::i;:::-;6206:63;;6162:117;6318:2;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;:::i;:::-;6334:63;;6289:118;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;5923:619;;;;;:::o;6548:117::-;6657:1;6654;6647:12;6671:180;6719:77;6716:1;6709:88;6816:4;6813:1;6806:15;6840:4;6837:1;6830:15;6857:281;6940:27;6962:4;6940:27;:::i;:::-;6932:6;6928:40;7070:6;7058:10;7055:22;7034:18;7022:10;7019:34;7016:62;7013:88;;;7081:18;;:::i;:::-;7013:88;7121:10;7117:2;7110:22;6900:238;6857:281;;:::o;7144:129::-;7178:6;7205:20;;:::i;:::-;7195:30;;7234:33;7262:4;7254:6;7234:33;:::i;:::-;7144:129;;;:::o;7279:311::-;7356:4;7446:18;7438:6;7435:30;7432:56;;;7468:18;;:::i;:::-;7432:56;7518:4;7510:6;7506:17;7498:25;;7578:4;7572;7568:15;7560:23;;7279:311;;;:::o;7596:117::-;7705:1;7702;7695:12;7736:710;7832:5;7857:81;7873:64;7930:6;7873:64;:::i;:::-;7857:81;:::i;:::-;7848:90;;7958:5;7987:6;7980:5;7973:21;8021:4;8014:5;8010:16;8003:23;;8074:4;8066:6;8062:17;8054:6;8050:30;8103:3;8095:6;8092:15;8089:122;;;8122:79;;:::i;:::-;8089:122;8237:6;8220:220;8254:6;8249:3;8246:15;8220:220;;;8329:3;8358:37;8391:3;8379:10;8358:37;:::i;:::-;8353:3;8346:50;8425:4;8420:3;8416:14;8409:21;;8296:144;8280:4;8275:3;8271:14;8264:21;;8220:220;;;8224:21;7838:608;;7736:710;;;;;:::o;8469:370::-;8540:5;8589:3;8582:4;8574:6;8570:17;8566:27;8556:122;;8597:79;;:::i;:::-;8556:122;8714:6;8701:20;8739:94;8829:3;8821:6;8814:4;8806:6;8802:17;8739:94;:::i;:::-;8730:103;;8546:293;8469:370;;;;:::o;8845:539::-;8929:6;8978:2;8966:9;8957:7;8953:23;8949:32;8946:119;;;8984:79;;:::i;:::-;8946:119;9132:1;9121:9;9117:17;9104:31;9162:18;9154:6;9151:30;9148:117;;;9184:79;;:::i;:::-;9148:117;9289:78;9359:7;9350:6;9339:9;9335:22;9289:78;:::i;:::-;9279:88;;9075:302;8845:539;;;;:::o;9390:474::-;9458:6;9466;9515:2;9503:9;9494:7;9490:23;9486:32;9483:119;;;9521:79;;:::i;:::-;9483:119;9641:1;9666:53;9711:7;9702:6;9691:9;9687:22;9666:53;:::i;:::-;9656:63;;9612:117;9768:2;9794:53;9839:7;9830:6;9819:9;9815:22;9794:53;:::i;:::-;9784:63;;9739:118;9390:474;;;;;:::o;9870:143::-;9927:5;9958:6;9952:13;9943:22;;9974:33;10001:5;9974:33;:::i;:::-;9870:143;;;;:::o;10019:351::-;10089:6;10138:2;10126:9;10117:7;10113:23;10109:32;10106:119;;;10144:79;;:::i;:::-;10106:119;10264:1;10289:64;10345:7;10336:6;10325:9;10321:22;10289:64;:::i;:::-;10279:74;;10235:128;10019:351;;;;:::o;10376:60::-;10404:3;10425:5;10418:12;;10376:60;;;:::o;10442:142::-;10492:9;10525:53;10543:34;10552:24;10570:5;10552:24;:::i;:::-;10543:34;:::i;:::-;10525:53;:::i;:::-;10512:66;;10442:142;;;:::o;10590:126::-;10640:9;10673:37;10704:5;10673:37;:::i;:::-;10660:50;;10590:126;;;:::o;10722:134::-;10780:9;10813:37;10844:5;10813:37;:::i;:::-;10800:50;;10722:134;;;:::o;10862:147::-;10957:45;10996:5;10957:45;:::i;:::-;10952:3;10945:58;10862:147;;:::o;11015:348::-;11144:4;11182:2;11171:9;11167:18;11159:26;;11195:79;11271:1;11260:9;11256:17;11247:6;11195:79;:::i;:::-;11284:72;11352:2;11341:9;11337:18;11328:6;11284:72;:::i;:::-;11015:348;;;;;:::o;11369:116::-;11439:21;11454:5;11439:21;:::i;:::-;11432:5;11429:32;11419:60;;11475:1;11472;11465:12;11419:60;11369:116;:::o;11491:137::-;11545:5;11576:6;11570:13;11561:22;;11592:30;11616:5;11592:30;:::i;:::-;11491:137;;;;:::o;11634:345::-;11701:6;11750:2;11738:9;11729:7;11725:23;11721:32;11718:119;;;11756:79;;:::i;:::-;11718:119;11876:1;11901:61;11954:7;11945:6;11934:9;11930:22;11901:61;:::i;:::-;11891:71;;11847:125;11634:345;;;;:::o;11985:182::-;12125:34;12121:1;12113:6;12109:14;12102:58;11985:182;:::o;12173:366::-;12315:3;12336:67;12400:2;12395:3;12336:67;:::i;:::-;12329:74;;12412:93;12501:3;12412:93;:::i;:::-;12530:2;12525:3;12521:12;12514:19;;12173:366;;;:::o;12545:419::-;12711:4;12749:2;12738:9;12734:18;12726:26;;12798:9;12792:4;12788:20;12784:1;12773:9;12769:17;12762:47;12826:131;12952:4;12826:131;:::i;:::-;12818:139;;12545:419;;;:::o;12970:180::-;13110:32;13106:1;13098:6;13094:14;13087:56;12970:180;:::o;13156:366::-;13298:3;13319:67;13383:2;13378:3;13319:67;:::i;:::-;13312:74;;13395:93;13484:3;13395:93;:::i;:::-;13513:2;13508:3;13504:12;13497:19;;13156:366;;;:::o;13528:419::-;13694:4;13732:2;13721:9;13717:18;13709:26;;13781:9;13775:4;13771:20;13767:1;13756:9;13752:17;13745:47;13809:131;13935:4;13809:131;:::i;:::-;13801:139;;13528:419;;;:::o;13953:180::-;14001:77;13998:1;13991:88;14098:4;14095:1;14088:15;14122:4;14119:1;14112:15;14139:180;14187:77;14184:1;14177:88;14284:4;14281:1;14274:15;14308:4;14305:1;14298:15;14325:233;14364:3;14387:24;14405:5;14387:24;:::i;:::-;14378:33;;14433:66;14426:5;14423:77;14420:103;;14503:18;;:::i;:::-;14420:103;14550:1;14543:5;14539:13;14532:20;;14325:233;;;:::o;14564:173::-;14704:25;14700:1;14692:6;14688:14;14681:49;14564:173;:::o;14743:366::-;14885:3;14906:67;14970:2;14965:3;14906:67;:::i;:::-;14899:74;;14982:93;15071:3;14982:93;:::i;:::-;15100:2;15095:3;15091:12;15084:19;;14743:366;;;:::o;15115:419::-;15281:4;15319:2;15308:9;15304:18;15296:26;;15368:9;15362:4;15358:20;15354:1;15343:9;15339:17;15332:47;15396:131;15522:4;15396:131;:::i;:::-;15388:139;;15115:419;;;:::o;15540:305::-;15580:3;15599:20;15617:1;15599:20;:::i;:::-;15594:25;;15633:20;15651:1;15633:20;:::i;:::-;15628:25;;15787:1;15719:66;15715:74;15712:1;15709:81;15706:107;;;15793:18;;:::i;:::-;15706:107;15837:1;15834;15830:9;15823:16;;15540:305;;;;:::o;15851:348::-;15891:7;15914:20;15932:1;15914:20;:::i;:::-;15909:25;;15948:20;15966:1;15948:20;:::i;:::-;15943:25;;16136:1;16068:66;16064:74;16061:1;16058:81;16053:1;16046:9;16039:17;16035:105;16032:131;;;16143:18;;:::i;:::-;16032:131;16191:1;16188;16184:9;16173:20;;15851:348;;;;:::o;16205:180::-;16253:77;16250:1;16243:88;16350:4;16347:1;16340:15;16374:4;16371:1;16364:15;16391:185;16431:1;16448:20;16466:1;16448:20;:::i;:::-;16443:25;;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16521:1;16511:35;;16526:18;;:::i;:::-;16511:35;16568:1;16565;16561:9;16556:14;;16391:185;;;;:::o;16582:220::-;16722:34;16718:1;16710:6;16706:14;16699:58;16791:3;16786:2;16778:6;16774:15;16767:28;16582:220;:::o;16808:366::-;16950:3;16971:67;17035:2;17030:3;16971:67;:::i;:::-;16964:74;;17047:93;17136:3;17047:93;:::i;:::-;17165:2;17160:3;17156:12;17149:19;;16808:366;;;:::o;17180:419::-;17346:4;17384:2;17373:9;17369:18;17361:26;;17433:9;17427:4;17423:20;17419:1;17408:9;17404:17;17397:47;17461:131;17587:4;17461:131;:::i;:::-;17453:139;;17180:419;;;:::o;17605:223::-;17745:34;17741:1;17733:6;17729:14;17722:58;17814:6;17809:2;17801:6;17797:15;17790:31;17605:223;:::o;17834:366::-;17976:3;17997:67;18061:2;18056:3;17997:67;:::i;:::-;17990:74;;18073:93;18162:3;18073:93;:::i;:::-;18191:2;18186:3;18182:12;18175:19;;17834:366;;;:::o;18206:419::-;18372:4;18410:2;18399:9;18395:18;18387:26;;18459:9;18453:4;18449:20;18445:1;18434:9;18430:17;18423:47;18487:131;18613:4;18487:131;:::i;:::-;18479:139;;18206:419;;;:::o;18631:221::-;18771:34;18767:1;18759:6;18755:14;18748:58;18840:4;18835:2;18827:6;18823:15;18816:29;18631:221;:::o;18858:366::-;19000:3;19021:67;19085:2;19080:3;19021:67;:::i;:::-;19014:74;;19097:93;19186:3;19097:93;:::i;:::-;19215:2;19210:3;19206:12;19199:19;;18858:366;;;:::o;19230:419::-;19396:4;19434:2;19423:9;19419:18;19411:26;;19483:9;19477:4;19473:20;19469:1;19458:9;19454:17;19447:47;19511:131;19637:4;19511:131;:::i;:::-;19503:139;;19230:419;;;:::o;19655:224::-;19795:34;19791:1;19783:6;19779:14;19772:58;19864:7;19859:2;19851:6;19847:15;19840:32;19655:224;:::o;19885:366::-;20027:3;20048:67;20112:2;20107:3;20048:67;:::i;:::-;20041:74;;20124:93;20213:3;20124:93;:::i;:::-;20242:2;20237:3;20233:12;20226:19;;19885:366;;;:::o;20257:419::-;20423:4;20461:2;20450:9;20446:18;20438:26;;20510:9;20504:4;20500:20;20496:1;20485:9;20481:17;20474:47;20538:131;20664:4;20538:131;:::i;:::-;20530:139;;20257:419;;;:::o;20682:222::-;20822:34;20818:1;20810:6;20806:14;20799:58;20891:5;20886:2;20878:6;20874:15;20867:30;20682:222;:::o;20910:366::-;21052:3;21073:67;21137:2;21132:3;21073:67;:::i;:::-;21066:74;;21149:93;21238:3;21149:93;:::i;:::-;21267:2;21262:3;21258:12;21251:19;;20910:366;;;:::o;21282:419::-;21448:4;21486:2;21475:9;21471:18;21463:26;;21535:9;21529:4;21525:20;21521:1;21510:9;21506:17;21499:47;21563:131;21689:4;21563:131;:::i;:::-;21555:139;;21282:419;;;:::o;21707:228::-;21847:34;21843:1;21835:6;21831:14;21824:58;21916:11;21911:2;21903:6;21899:15;21892:36;21707:228;:::o;21941:366::-;22083:3;22104:67;22168:2;22163:3;22104:67;:::i;:::-;22097:74;;22180:93;22269:3;22180:93;:::i;:::-;22298:2;22293:3;22289:12;22282:19;;21941:366;;;:::o;22313:419::-;22479:4;22517:2;22506:9;22502:18;22494:26;;22566:9;22560:4;22556:20;22552:1;22541:9;22537:17;22530:47;22594:131;22720:4;22594:131;:::i;:::-;22586:139;;22313:419;;;:::o;22738:173::-;22878:25;22874:1;22866:6;22862:14;22855:49;22738:173;:::o;22917:366::-;23059:3;23080:67;23144:2;23139:3;23080:67;:::i;:::-;23073:74;;23156:93;23245:3;23156:93;:::i;:::-;23274:2;23269:3;23265:12;23258:19;;22917:366;;;:::o;23289:419::-;23455:4;23493:2;23482:9;23478:18;23470:26;;23542:9;23536:4;23532:20;23528:1;23517:9;23513:17;23506:47;23570:131;23696:4;23570:131;:::i;:::-;23562:139;;23289:419;;;:::o;23714:227::-;23854:34;23850:1;23842:6;23838:14;23831:58;23923:10;23918:2;23910:6;23906:15;23899:35;23714:227;:::o;23947:366::-;24089:3;24110:67;24174:2;24169:3;24110:67;:::i;:::-;24103:74;;24186:93;24275:3;24186:93;:::i;:::-;24304:2;24299:3;24295:12;24288:19;;23947:366;;;:::o;24319:419::-;24485:4;24523:2;24512:9;24508:18;24500:26;;24572:9;24566:4;24562:20;24558:1;24547:9;24543:17;24536:47;24600:131;24726:4;24600:131;:::i;:::-;24592:139;;24319:419;;;:::o;24744:191::-;24784:4;24804:20;24822:1;24804:20;:::i;:::-;24799:25;;24838:20;24856:1;24838:20;:::i;:::-;24833:25;;24877:1;24874;24871:8;24868:34;;;24882:18;;:::i;:::-;24868:34;24927:1;24924;24920:9;24912:17;;24744:191;;;;:::o;24941:143::-;24998:5;25029:6;25023:13;25014:22;;25045:33;25072:5;25045:33;:::i;:::-;24941:143;;;;:::o;25090:351::-;25160:6;25209:2;25197:9;25188:7;25184:23;25180:32;25177:119;;;25215:79;;:::i;:::-;25177:119;25335:1;25360:64;25416:7;25407:6;25396:9;25392:22;25360:64;:::i;:::-;25350:74;;25306:128;25090:351;;;;:::o;25447:85::-;25492:7;25521:5;25510:16;;25447:85;;;:::o;25538:158::-;25596:9;25629:61;25647:42;25656:32;25682:5;25656:32;:::i;:::-;25647:42;:::i;:::-;25629:61;:::i;:::-;25616:74;;25538:158;;;:::o;25702:147::-;25797:45;25836:5;25797:45;:::i;:::-;25792:3;25785:58;25702:147;;:::o;25855:114::-;25922:6;25956:5;25950:12;25940:22;;25855:114;;;:::o;25975:184::-;26074:11;26108:6;26103:3;26096:19;26148:4;26143:3;26139:14;26124:29;;25975:184;;;;:::o;26165:132::-;26232:4;26255:3;26247:11;;26285:4;26280:3;26276:14;26268:22;;26165:132;;;:::o;26303:108::-;26380:24;26398:5;26380:24;:::i;:::-;26375:3;26368:37;26303:108;;:::o;26417:179::-;26486:10;26507:46;26549:3;26541:6;26507:46;:::i;:::-;26585:4;26580:3;26576:14;26562:28;;26417:179;;;;:::o;26602:113::-;26672:4;26704;26699:3;26695:14;26687:22;;26602:113;;;:::o;26751:732::-;26870:3;26899:54;26947:5;26899:54;:::i;:::-;26969:86;27048:6;27043:3;26969:86;:::i;:::-;26962:93;;27079:56;27129:5;27079:56;:::i;:::-;27158:7;27189:1;27174:284;27199:6;27196:1;27193:13;27174:284;;;27275:6;27269:13;27302:63;27361:3;27346:13;27302:63;:::i;:::-;27295:70;;27388:60;27441:6;27388:60;:::i;:::-;27378:70;;27234:224;27221:1;27218;27214:9;27209:14;;27174:284;;;27178:14;27474:3;27467:10;;26875:608;;;26751:732;;;;:::o;27489:831::-;27752:4;27790:3;27779:9;27775:19;27767:27;;27804:71;27872:1;27861:9;27857:17;27848:6;27804:71;:::i;:::-;27885:80;27961:2;27950:9;27946:18;27937:6;27885:80;:::i;:::-;28012:9;28006:4;28002:20;27997:2;27986:9;27982:18;27975:48;28040:108;28143:4;28134:6;28040:108;:::i;:::-;28032:116;;28158:72;28226:2;28215:9;28211:18;28202:6;28158:72;:::i;:::-;28240:73;28308:3;28297:9;28293:19;28284:6;28240:73;:::i;:::-;27489:831;;;;;;;;:::o;28326:807::-;28575:4;28613:3;28602:9;28598:19;28590:27;;28627:71;28695:1;28684:9;28680:17;28671:6;28627:71;:::i;:::-;28708:72;28776:2;28765:9;28761:18;28752:6;28708:72;:::i;:::-;28790:80;28866:2;28855:9;28851:18;28842:6;28790:80;:::i;:::-;28880;28956:2;28945:9;28941:18;28932:6;28880:80;:::i;:::-;28970:73;29038:3;29027:9;29023:19;29014:6;28970:73;:::i;:::-;29053;29121:3;29110:9;29106:19;29097:6;29053:73;:::i;:::-;28326:807;;;;;;;;;:::o;29139:663::-;29227:6;29235;29243;29292:2;29280:9;29271:7;29267:23;29263:32;29260:119;;;29298:79;;:::i;:::-;29260:119;29418:1;29443:64;29499:7;29490:6;29479:9;29475:22;29443:64;:::i;:::-;29433:74;;29389:128;29556:2;29582:64;29638:7;29629:6;29618:9;29614:22;29582:64;:::i;:::-;29572:74;;29527:129;29695:2;29721:64;29777:7;29768:6;29757:9;29753:22;29721:64;:::i;:::-;29711:74;;29666:129;29139:663;;;;;:::o;29808:177::-;29948:29;29944:1;29936:6;29932:14;29925:53;29808:177;:::o;29991:366::-;30133:3;30154:67;30218:2;30213:3;30154:67;:::i;:::-;30147:74;;30230:93;30319:3;30230:93;:::i;:::-;30348:2;30343:3;30339:12;30332:19;;29991:366;;;:::o;30363:419::-;30529:4;30567:2;30556:9;30552:18;30544:26;;30616:9;30610:4;30606:20;30602:1;30591:9;30587:17;30580:47;30644:131;30770:4;30644:131;:::i;:::-;30636:139;;30363:419;;;:::o;30788:720::-;31023:4;31061:3;31050:9;31046:19;31038:27;;31075:79;31151:1;31140:9;31136:17;31127:6;31075:79;:::i;:::-;31201:9;31195:4;31191:20;31186:2;31175:9;31171:18;31164:48;31229:108;31332:4;31323:6;31229:108;:::i;:::-;31221:116;;31347:72;31415:2;31404:9;31400:18;31391:6;31347:72;:::i;:::-;31429;31497:2;31486:9;31482:18;31473:6;31429:72;:::i;:::-;30788:720;;;;;;;:::o

Swarm Source

ipfs://8abf1c87a28e7804191a7ce050cab8500948c2620e841ed477bfc4689c672eed

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.