ETH Price: $1,959.88 (-2.00%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve146468242022-04-24 10:03:171409 days ago1650794597IN
0x871fD514...EE7Df6293
0 ETH0.0012771927.04995793
Approve146453792022-04-24 4:37:401409 days ago1650775060IN
0x871fD514...EE7Df6293
0 ETH0.0013057127.65413335
Approve146453662022-04-24 4:34:311409 days ago1650774871IN
0x871fD514...EE7Df6293
0 ETH0.0009440719.99489258
Approve146453522022-04-24 4:31:351409 days ago1650774695IN
0x871fD514...EE7Df6293
0 ETH0.0012202325.84368924
Approve146453112022-04-24 4:22:251409 days ago1650774145IN
0x871fD514...EE7Df6293
0 ETH0.0011406824.15878486
Approve146452892022-04-24 4:17:291409 days ago1650773849IN
0x871fD514...EE7Df6293
0 ETH0.0009780620.71471816
Approve146452462022-04-24 4:07:151409 days ago1650773235IN
0x871fD514...EE7Df6293
0 ETH0.0011362824.06557743
Approve146452442022-04-24 4:06:491409 days ago1650773209IN
0x871fD514...EE7Df6293
0 ETH0.0009522120.16720956
Approve146452312022-04-24 4:04:171409 days ago1650773057IN
0x871fD514...EE7Df6293
0 ETH0.0010240721.68920529
Approve146452132022-04-24 4:01:021410 days ago1650772862IN
0x871fD514...EE7Df6293
0 ETH0.0010628322.51012531
Approve146452102022-04-24 3:59:461410 days ago1650772786IN
0x871fD514...EE7Df6293
0 ETH0.0010299221.81304871
Approve146452092022-04-24 3:59:401410 days ago1650772780IN
0x871fD514...EE7Df6293
0 ETH0.0015042232.04579696
Approve146452052022-04-24 3:58:531410 days ago1650772733IN
0x871fD514...EE7Df6293
0 ETH0.001247626.42344634
Approve146451952022-04-24 3:56:041410 days ago1650772564IN
0x871fD514...EE7Df6293
0 ETH0.0010357321.93609871
Approve146451882022-04-24 3:54:431410 days ago1650772483IN
0x871fD514...EE7Df6293
0 ETH0.0022347447.33027603
Approve146451632022-04-24 3:49:301410 days ago1650772170IN
0x871fD514...EE7Df6293
0 ETH0.0010686922.63417899
Approve146451542022-04-24 3:47:061410 days ago1650772026IN
0x871fD514...EE7Df6293
0 ETH0.0010464822.1638473
Approve146451522022-04-24 3:46:441410 days ago1650772004IN
0x871fD514...EE7Df6293
0 ETH0.0012656926.806582
Approve146451512022-04-24 3:46:371410 days ago1650771997IN
0x871fD514...EE7Df6293
0 ETH0.0012276126
Approve146451452022-04-24 3:45:321410 days ago1650771932IN
0x871fD514...EE7Df6293
0 ETH0.0012383626.22758179
Approve146451452022-04-24 3:45:321410 days ago1650771932IN
0x871fD514...EE7Df6293
0 ETH0.0012383626.22758179
Approve146451412022-04-24 3:44:251410 days ago1650771865IN
0x871fD514...EE7Df6293
0 ETH0.0011687424.75311871
Approve146451382022-04-24 3:43:161410 days ago1650771796IN
0x871fD514...EE7Df6293
0 ETH0.0011207623.73693881
Approve146451372022-04-24 3:42:571410 days ago1650771777IN
0x871fD514...EE7Df6293
0 ETH0.0010054321.29426559
Approve146451362022-04-24 3:42:311410 days ago1650771751IN
0x871fD514...EE7Df6293
0 ETH0.000948720.09278853
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-146469952022-04-24 10:41:111409 days ago1650796871
0x871fD514...EE7Df6293
0.00186999 ETH
-146469952022-04-24 10:41:111409 days ago1650796871
0x871fD514...EE7Df6293
0.00186999 ETH
-146468302022-04-24 10:04:071409 days ago1650794647
0x871fD514...EE7Df6293
0.00469333 ETH
-146468302022-04-24 10:04:071409 days ago1650794647
0x871fD514...EE7Df6293
0.00469333 ETH
-146458692022-04-24 6:25:481409 days ago1650781548
0x871fD514...EE7Df6293
0.00407422 ETH
-146458692022-04-24 6:25:481409 days ago1650781548
0x871fD514...EE7Df6293
0.00407422 ETH
-146458592022-04-24 6:24:301409 days ago1650781470
0x871fD514...EE7Df6293
0.00311469 ETH
-146458592022-04-24 6:24:301409 days ago1650781470
0x871fD514...EE7Df6293
0.00311469 ETH
-146456162022-04-24 5:30:161409 days ago1650778216
0x871fD514...EE7Df6293
0.00372793 ETH
-146456162022-04-24 5:30:161409 days ago1650778216
0x871fD514...EE7Df6293
0.00372793 ETH
-146455772022-04-24 5:22:421409 days ago1650777762
0x871fD514...EE7Df6293
0.01088924 ETH
-146455772022-04-24 5:22:421409 days ago1650777762
0x871fD514...EE7Df6293
0.01088924 ETH
-146453742022-04-24 4:36:081409 days ago1650774968
0x871fD514...EE7Df6293
0.00366137 ETH
-146453742022-04-24 4:36:081409 days ago1650774968
0x871fD514...EE7Df6293
0.00366137 ETH
-146453692022-04-24 4:35:001409 days ago1650774900
0x871fD514...EE7Df6293
0.01010125 ETH
-146453692022-04-24 4:35:001409 days ago1650774900
0x871fD514...EE7Df6293
0.01010125 ETH
-146453662022-04-24 4:34:311409 days ago1650774871
0x871fD514...EE7Df6293
0.03316203 ETH
-146453662022-04-24 4:34:311409 days ago1650774871
0x871fD514...EE7Df6293
0.03316203 ETH
-146452692022-04-24 4:14:041409 days ago1650773644
0x871fD514...EE7Df6293
0.00605646 ETH
-146452692022-04-24 4:14:041409 days ago1650773644
0x871fD514...EE7Df6293
0.00605646 ETH
-146452572022-04-24 4:11:311409 days ago1650773491
0x871fD514...EE7Df6293
0.00605646 ETH
-146452572022-04-24 4:11:311409 days ago1650773491
0x871fD514...EE7Df6293
0.00605646 ETH
-146452572022-04-24 4:11:311409 days ago1650773491
0x871fD514...EE7Df6293
0.00464188 ETH
-146452572022-04-24 4:11:311409 days ago1650773491
0x871fD514...EE7Df6293
0.00464188 ETH
-146452542022-04-24 4:11:131409 days ago1650773473
0x871fD514...EE7Df6293
0.01449957 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Huntertama

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2022-04-24
*/

/**
TOTAL SUPPLY:333.333.333.333.333
BUY LIMIT PER TX:3.333.333.333.333
WALLET SIZE:10.000.000.000.000
TAX:8% BUY 12% SELL
WEBSITE COMING SOON!!
TG:https://t.me/HuntertamaETH
*/

pragma solidity 0.8.4;
// SPDX-License-Identifier: UNLICENSED
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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Huntertama is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    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 constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 333333333333333 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet;
    
    string private constant _name = "Huntertama";
    string private constant _symbol = "HUNTAMA";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletSize = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(0xBd9627BF96D9d3a1B49bc7Fe757127058d8C6E1e);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        emit Transfer(address(0), _msgSender(), _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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        _feeAddr1 = 0;
        _feeAddr2 = 8;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 12;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function changeMaxTxAmount(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxTxAmount = _tTotal.mul(percentage).div(100);
    }

    function changeMaxWalletSize(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxWalletSize = _tTotal.mul(percentage).div(100);
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }  

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 3333333333333 * 10**9;
        _maxWalletSize = 10000000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function nonosquare(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 _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","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":[],"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"nonosquare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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"},{"stateMutability":"payable","type":"receive"}]

60806040526946960944eef9cc7712006000196200001e919062000469565b6000196200002d919062000424565b6008556000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff0219169083151502179055506946960944eef9cc771200600f556946960944eef9cc771200601055348015620000aa57600080fd5b506000620000bd620003c560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073bd9627bf96d9d3a1b49bc7fe757127058d8c6e1e600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001c7620003c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200021b620003cd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034e620003c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6946960944eef9cc771200604051620003b7919062000407565b60405180910390a3620004ff565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000401816200045f565b82525050565b60006020820190506200041e6000830184620003f6565b92915050565b600062000431826200045f565b91506200043e836200045f565b925082821015620004545762000453620004a1565b5b828203905092915050565b6000819050919050565b600062000476826200045f565b915062000483836200045f565b925082620004965762000495620004d0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61378e806200050f6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103a6578063b87f137a146103e3578063c3c8cd801461040c578063c9567bf914610423578063dd62ed3e1461043a5761012a565b806370a08231146102e5578063715018a614610322578063751039fc146103395780638da5cb5b1461035057806395d89b411461037b5761012a565b8063273123b7116100e7578063273123b714610228578063313ce567146102515780635932ead11461027c578063677daa57146102a55780636fc3eaec146102ce5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd146101975780631b3f71ae146101c257806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610477565b6040516101519190612e56565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612979565b6104b4565b60405161018e9190612e3b565b60405180910390f35b3480156101a357600080fd5b506101ac6104d2565b6040516101b99190612ff8565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e491906129b5565b6104e4565b005b3480156101f757600080fd5b50610212600480360381019061020d919061292a565b610634565b60405161021f9190612e3b565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a919061289c565b61070d565b005b34801561025d57600080fd5b506102666107fd565b604051610273919061306d565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906129f6565b610806565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190612a48565b6108b8565b005b3480156102da57600080fd5b506102e3610993565b005b3480156102f157600080fd5b5061030c6004803603810190610307919061289c565b610a05565b6040516103199190612ff8565b60405180910390f35b34801561032e57600080fd5b50610337610a56565b005b34801561034557600080fd5b5061034e610ba9565b005b34801561035c57600080fd5b50610365610c62565b6040516103729190612d6d565b60405180910390f35b34801561038757600080fd5b50610390610c8b565b60405161039d9190612e56565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c89190612979565b610cc8565b6040516103da9190612e3b565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190612a48565b610ce6565b005b34801561041857600080fd5b50610421610dc1565b005b34801561042f57600080fd5b50610438610e3b565b005b34801561044657600080fd5b50610461600480360381019061045c91906128ee565b6113aa565b60405161046e9190612ff8565b60405180910390f35b60606040518060400160405280600a81526020017f48756e74657274616d6100000000000000000000000000000000000000000000815250905090565b60006104c86104c1611431565b8484611439565b6001905092915050565b60006946960944eef9cc771200905090565b6104ec611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057090612f38565b60405180910390fd5b60005b8151811015610630576001600660008484815181106105c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106289061330e565b91505061057c565b5050565b6000610641848484611604565b6107028461064d611431565b6106fd8560405180606001604052806028815260200161373160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106b3611431565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c979092919063ffffffff16565b611439565b600190509392505050565b610715611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990612f38565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61080e611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290612f38565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b6108c0611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094490612f38565b60405180910390fd5b6000811161095a57600080fd5b61098a606461097c836946960944eef9cc771200611cfb90919063ffffffff16565b611d7690919063ffffffff16565b600f8190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d4611431565b73ffffffffffffffffffffffffffffffffffffffff16146109f457600080fd5b6000479050610a0281611dc0565b50565b6000610a4f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2c565b9050919050565b610a5e611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bb1611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3590612f38565b60405180910390fd5b6946960944eef9cc771200600f819055506946960944eef9cc771200601081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f48554e54414d4100000000000000000000000000000000000000000000000000815250905090565b6000610cdc610cd5611431565b8484611604565b6001905092915050565b610cee611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290612f38565b60405180910390fd5b60008111610d8857600080fd5b610db86064610daa836946960944eef9cc771200611cfb90919063ffffffff16565b611d7690919063ffffffff16565b60108190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e02611431565b73ffffffffffffffffffffffffffffffffffffffff1614610e2257600080fd5b6000610e2d30610a05565b9050610e3881611e9a565b50565b610e43611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec790612f38565b60405180910390fd5b600e60149054906101000a900460ff1615610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612fd8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb130600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166946960944eef9cc771200611439565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff757600080fd5b505afa15801561100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102f91906128c5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c991906128c5565b6040518363ffffffff1660e01b81526004016110e6929190612d88565b602060405180830381600087803b15801561110057600080fd5b505af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906128c5565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111c130610a05565b6000806111cc610c62565b426040518863ffffffff1660e01b81526004016111ee96959493929190612dda565b6060604051808303818588803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112409190612a71565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff02191690831515021790555068b4b34aede8d2371200600f8190555069021e19e0c9bab24000006010819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611354929190612db1565b602060405180830381600087803b15801561136e57600080fd5b505af1158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190612a1f565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090612fb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612ed8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f79190612ff8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90612f78565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90612e78565b60405180910390fd5b60008111611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e90612f58565b60405180910390fd5b6000600a819055506008600b8190555061173f610c62565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ad575061177d610c62565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c8757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118565750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61185f57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561190a5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119785750600e60179054906101000a900460ff165b15611ab657600f548111156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990612e98565b60405180910390fd5b601054816119cf84610a05565b6119d9919061312e565b1115611a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1190612f98565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a6557600080fd5b601e42611a72919061312e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611b615750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bcd576000600a81905550600c600b819055505b6000611bd830610a05565b9050600e60159054906101000a900460ff16158015611c455750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c5d5750600e60169054906101000a900460ff165b15611c8557611c6b81611e9a565b60004790506000811115611c8357611c8247611dc0565b5b505b505b611c92838383612194565b505050565b6000838311158290611cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd69190612e56565b60405180910390fd5b5060008385611cee919061320f565b9050809150509392505050565b600080831415611d0e5760009050611d70565b60008284611d1c91906131b5565b9050828482611d2b9190613184565b14611d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6290612f18565b60405180910390fd5b809150505b92915050565b6000611db883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a4565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e28573d6000803e3d6000fd5b5050565b6000600854821115611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612eb8565b60405180910390fd5b6000611e7d612207565b9050611e928184611d7690919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ef8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f265781602001602082028036833780820191505090505b5090503081600081518110611f64577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561200657600080fd5b505afa15801561201a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203e91906128c5565b81600181518110612078577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120df30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611439565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612143959493929190613013565b600060405180830381600087803b15801561215d57600080fd5b505af1158015612171573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b61219f838383612232565b505050565b600080831182906121eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e29190612e56565b60405180910390fd5b50600083856121fa9190613184565b9050809150509392505050565b60008060006122146123fd565b9150915061222b8183611d7690919063ffffffff16565b9250505090565b60008060008060008061224487612462565b9550955095509550955095506122a286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ca90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061233785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238381612572565b61238d848361262f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123ea9190612ff8565b60405180910390a3505050505050505050565b6000806000600854905060006946960944eef9cc77120090506124356946960944eef9cc771200600854611d7690919063ffffffff16565b821015612455576008546946960944eef9cc77120093509350505061245e565b81819350935050505b9091565b600080600080600080600080600061247f8a600a54600b54612669565b925092509250600061248f612207565b905060008060006124a28e8787876126ff565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061250c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c97565b905092915050565b6000808284612523919061312e565b905083811015612568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255f90612ef8565b60405180910390fd5b8091505092915050565b600061257c612207565b905060006125938284611cfb90919063ffffffff16565b90506125e781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612644826008546124ca90919063ffffffff16565b60088190555061265f8160095461251490919063ffffffff16565b6009819055505050565b6000806000806126956064612687888a611cfb90919063ffffffff16565b611d7690919063ffffffff16565b905060006126bf60646126b1888b611cfb90919063ffffffff16565b611d7690919063ffffffff16565b905060006126e8826126da858c6124ca90919063ffffffff16565b6124ca90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127188589611cfb90919063ffffffff16565b9050600061272f8689611cfb90919063ffffffff16565b905060006127468789611cfb90919063ffffffff16565b9050600061276f8261276185876124ca90919063ffffffff16565b6124ca90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061279b612796846130ad565b613088565b905080838252602082019050828560208602820111156127ba57600080fd5b60005b858110156127ea57816127d088826127f4565b8452602084019350602083019250506001810190506127bd565b5050509392505050565b600081359050612803816136eb565b92915050565b600081519050612818816136eb565b92915050565b600082601f83011261282f57600080fd5b813561283f848260208601612788565b91505092915050565b60008135905061285781613702565b92915050565b60008151905061286c81613702565b92915050565b60008135905061288181613719565b92915050565b60008151905061289681613719565b92915050565b6000602082840312156128ae57600080fd5b60006128bc848285016127f4565b91505092915050565b6000602082840312156128d757600080fd5b60006128e584828501612809565b91505092915050565b6000806040838503121561290157600080fd5b600061290f858286016127f4565b9250506020612920858286016127f4565b9150509250929050565b60008060006060848603121561293f57600080fd5b600061294d868287016127f4565b935050602061295e868287016127f4565b925050604061296f86828701612872565b9150509250925092565b6000806040838503121561298c57600080fd5b600061299a858286016127f4565b92505060206129ab85828601612872565b9150509250929050565b6000602082840312156129c757600080fd5b600082013567ffffffffffffffff8111156129e157600080fd5b6129ed8482850161281e565b91505092915050565b600060208284031215612a0857600080fd5b6000612a1684828501612848565b91505092915050565b600060208284031215612a3157600080fd5b6000612a3f8482850161285d565b91505092915050565b600060208284031215612a5a57600080fd5b6000612a6884828501612872565b91505092915050565b600080600060608486031215612a8657600080fd5b6000612a9486828701612887565b9350506020612aa586828701612887565b9250506040612ab686828701612887565b9150509250925092565b6000612acc8383612ad8565b60208301905092915050565b612ae181613243565b82525050565b612af081613243565b82525050565b6000612b01826130e9565b612b0b818561310c565b9350612b16836130d9565b8060005b83811015612b47578151612b2e8882612ac0565b9750612b39836130ff565b925050600181019050612b1a565b5085935050505092915050565b612b5d81613255565b82525050565b612b6c81613298565b82525050565b6000612b7d826130f4565b612b87818561311d565b9350612b978185602086016132aa565b612ba0816133e4565b840191505092915050565b6000612bb860238361311d565b9150612bc3826133f5565b604082019050919050565b6000612bdb60198361311d565b9150612be682613444565b602082019050919050565b6000612bfe602a8361311d565b9150612c098261346d565b604082019050919050565b6000612c2160228361311d565b9150612c2c826134bc565b604082019050919050565b6000612c44601b8361311d565b9150612c4f8261350b565b602082019050919050565b6000612c6760218361311d565b9150612c7282613534565b604082019050919050565b6000612c8a60208361311d565b9150612c9582613583565b602082019050919050565b6000612cad60298361311d565b9150612cb8826135ac565b604082019050919050565b6000612cd060258361311d565b9150612cdb826135fb565b604082019050919050565b6000612cf3601a8361311d565b9150612cfe8261364a565b602082019050919050565b6000612d1660248361311d565b9150612d2182613673565b604082019050919050565b6000612d3960178361311d565b9150612d44826136c2565b602082019050919050565b612d5881613281565b82525050565b612d678161328b565b82525050565b6000602082019050612d826000830184612ae7565b92915050565b6000604082019050612d9d6000830185612ae7565b612daa6020830184612ae7565b9392505050565b6000604082019050612dc66000830185612ae7565b612dd36020830184612d4f565b9392505050565b600060c082019050612def6000830189612ae7565b612dfc6020830188612d4f565b612e096040830187612b63565b612e166060830186612b63565b612e236080830185612ae7565b612e3060a0830184612d4f565b979650505050505050565b6000602082019050612e506000830184612b54565b92915050565b60006020820190508181036000830152612e708184612b72565b905092915050565b60006020820190508181036000830152612e9181612bab565b9050919050565b60006020820190508181036000830152612eb181612bce565b9050919050565b60006020820190508181036000830152612ed181612bf1565b9050919050565b60006020820190508181036000830152612ef181612c14565b9050919050565b60006020820190508181036000830152612f1181612c37565b9050919050565b60006020820190508181036000830152612f3181612c5a565b9050919050565b60006020820190508181036000830152612f5181612c7d565b9050919050565b60006020820190508181036000830152612f7181612ca0565b9050919050565b60006020820190508181036000830152612f9181612cc3565b9050919050565b60006020820190508181036000830152612fb181612ce6565b9050919050565b60006020820190508181036000830152612fd181612d09565b9050919050565b60006020820190508181036000830152612ff181612d2c565b9050919050565b600060208201905061300d6000830184612d4f565b92915050565b600060a0820190506130286000830188612d4f565b6130356020830187612b63565b81810360408301526130478186612af6565b90506130566060830185612ae7565b6130636080830184612d4f565b9695505050505050565b60006020820190506130826000830184612d5e565b92915050565b60006130926130a3565b905061309e82826132dd565b919050565b6000604051905090565b600067ffffffffffffffff8211156130c8576130c76133b5565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061313982613281565b915061314483613281565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561317957613178613357565b5b828201905092915050565b600061318f82613281565b915061319a83613281565b9250826131aa576131a9613386565b5b828204905092915050565b60006131c082613281565b91506131cb83613281565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320457613203613357565b5b828202905092915050565b600061321a82613281565b915061322583613281565b92508282101561323857613237613357565b5b828203905092915050565b600061324e82613261565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132a382613281565b9050919050565b60005b838110156132c85780820151818401526020810190506132ad565b838111156132d7576000848401525b50505050565b6132e6826133e4565b810181811067ffffffffffffffff82111715613305576133046133b5565b5b80604052505050565b600061331982613281565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561334c5761334b613357565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6136f481613243565b81146136ff57600080fd5b50565b61370b81613255565b811461371657600080fd5b50565b61372281613281565b811461372d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8b45be1d2e3130562d8b423d8551e0c19bedb07a8bc040fcba24c28566ae5c864736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103a6578063b87f137a146103e3578063c3c8cd801461040c578063c9567bf914610423578063dd62ed3e1461043a5761012a565b806370a08231146102e5578063715018a614610322578063751039fc146103395780638da5cb5b1461035057806395d89b411461037b5761012a565b8063273123b7116100e7578063273123b714610228578063313ce567146102515780635932ead11461027c578063677daa57146102a55780636fc3eaec146102ce5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd146101975780631b3f71ae146101c257806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610477565b6040516101519190612e56565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612979565b6104b4565b60405161018e9190612e3b565b60405180910390f35b3480156101a357600080fd5b506101ac6104d2565b6040516101b99190612ff8565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e491906129b5565b6104e4565b005b3480156101f757600080fd5b50610212600480360381019061020d919061292a565b610634565b60405161021f9190612e3b565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a919061289c565b61070d565b005b34801561025d57600080fd5b506102666107fd565b604051610273919061306d565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906129f6565b610806565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190612a48565b6108b8565b005b3480156102da57600080fd5b506102e3610993565b005b3480156102f157600080fd5b5061030c6004803603810190610307919061289c565b610a05565b6040516103199190612ff8565b60405180910390f35b34801561032e57600080fd5b50610337610a56565b005b34801561034557600080fd5b5061034e610ba9565b005b34801561035c57600080fd5b50610365610c62565b6040516103729190612d6d565b60405180910390f35b34801561038757600080fd5b50610390610c8b565b60405161039d9190612e56565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c89190612979565b610cc8565b6040516103da9190612e3b565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190612a48565b610ce6565b005b34801561041857600080fd5b50610421610dc1565b005b34801561042f57600080fd5b50610438610e3b565b005b34801561044657600080fd5b50610461600480360381019061045c91906128ee565b6113aa565b60405161046e9190612ff8565b60405180910390f35b60606040518060400160405280600a81526020017f48756e74657274616d6100000000000000000000000000000000000000000000815250905090565b60006104c86104c1611431565b8484611439565b6001905092915050565b60006946960944eef9cc771200905090565b6104ec611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057090612f38565b60405180910390fd5b60005b8151811015610630576001600660008484815181106105c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106289061330e565b91505061057c565b5050565b6000610641848484611604565b6107028461064d611431565b6106fd8560405180606001604052806028815260200161373160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106b3611431565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c979092919063ffffffff16565b611439565b600190509392505050565b610715611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990612f38565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61080e611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089290612f38565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b6108c0611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094490612f38565b60405180910390fd5b6000811161095a57600080fd5b61098a606461097c836946960944eef9cc771200611cfb90919063ffffffff16565b611d7690919063ffffffff16565b600f8190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d4611431565b73ffffffffffffffffffffffffffffffffffffffff16146109f457600080fd5b6000479050610a0281611dc0565b50565b6000610a4f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2c565b9050919050565b610a5e611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bb1611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3590612f38565b60405180910390fd5b6946960944eef9cc771200600f819055506946960944eef9cc771200601081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f48554e54414d4100000000000000000000000000000000000000000000000000815250905090565b6000610cdc610cd5611431565b8484611604565b6001905092915050565b610cee611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290612f38565b60405180910390fd5b60008111610d8857600080fd5b610db86064610daa836946960944eef9cc771200611cfb90919063ffffffff16565b611d7690919063ffffffff16565b60108190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e02611431565b73ffffffffffffffffffffffffffffffffffffffff1614610e2257600080fd5b6000610e2d30610a05565b9050610e3881611e9a565b50565b610e43611431565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec790612f38565b60405180910390fd5b600e60149054906101000a900460ff1615610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612fd8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb130600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166946960944eef9cc771200611439565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff757600080fd5b505afa15801561100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102f91906128c5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c991906128c5565b6040518363ffffffff1660e01b81526004016110e6929190612d88565b602060405180830381600087803b15801561110057600080fd5b505af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906128c5565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111c130610a05565b6000806111cc610c62565b426040518863ffffffff1660e01b81526004016111ee96959493929190612dda565b6060604051808303818588803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112409190612a71565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff02191690831515021790555068b4b34aede8d2371200600f8190555069021e19e0c9bab24000006010819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611354929190612db1565b602060405180830381600087803b15801561136e57600080fd5b505af1158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190612a1f565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090612fb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612ed8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f79190612ff8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90612f78565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90612e78565b60405180910390fd5b60008111611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e90612f58565b60405180910390fd5b6000600a819055506008600b8190555061173f610c62565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ad575061177d610c62565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c8757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118565750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61185f57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561190a5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119785750600e60179054906101000a900460ff165b15611ab657600f548111156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990612e98565b60405180910390fd5b601054816119cf84610a05565b6119d9919061312e565b1115611a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1190612f98565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a6557600080fd5b601e42611a72919061312e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611b615750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bcd576000600a81905550600c600b819055505b6000611bd830610a05565b9050600e60159054906101000a900460ff16158015611c455750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c5d5750600e60169054906101000a900460ff165b15611c8557611c6b81611e9a565b60004790506000811115611c8357611c8247611dc0565b5b505b505b611c92838383612194565b505050565b6000838311158290611cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd69190612e56565b60405180910390fd5b5060008385611cee919061320f565b9050809150509392505050565b600080831415611d0e5760009050611d70565b60008284611d1c91906131b5565b9050828482611d2b9190613184565b14611d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6290612f18565b60405180910390fd5b809150505b92915050565b6000611db883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a4565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e28573d6000803e3d6000fd5b5050565b6000600854821115611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612eb8565b60405180910390fd5b6000611e7d612207565b9050611e928184611d7690919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ef8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f265781602001602082028036833780820191505090505b5090503081600081518110611f64577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561200657600080fd5b505afa15801561201a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203e91906128c5565b81600181518110612078577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120df30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611439565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612143959493929190613013565b600060405180830381600087803b15801561215d57600080fd5b505af1158015612171573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b61219f838383612232565b505050565b600080831182906121eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e29190612e56565b60405180910390fd5b50600083856121fa9190613184565b9050809150509392505050565b60008060006122146123fd565b9150915061222b8183611d7690919063ffffffff16565b9250505090565b60008060008060008061224487612462565b9550955095509550955095506122a286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ca90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061233785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238381612572565b61238d848361262f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123ea9190612ff8565b60405180910390a3505050505050505050565b6000806000600854905060006946960944eef9cc77120090506124356946960944eef9cc771200600854611d7690919063ffffffff16565b821015612455576008546946960944eef9cc77120093509350505061245e565b81819350935050505b9091565b600080600080600080600080600061247f8a600a54600b54612669565b925092509250600061248f612207565b905060008060006124a28e8787876126ff565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061250c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c97565b905092915050565b6000808284612523919061312e565b905083811015612568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255f90612ef8565b60405180910390fd5b8091505092915050565b600061257c612207565b905060006125938284611cfb90919063ffffffff16565b90506125e781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612644826008546124ca90919063ffffffff16565b60088190555061265f8160095461251490919063ffffffff16565b6009819055505050565b6000806000806126956064612687888a611cfb90919063ffffffff16565b611d7690919063ffffffff16565b905060006126bf60646126b1888b611cfb90919063ffffffff16565b611d7690919063ffffffff16565b905060006126e8826126da858c6124ca90919063ffffffff16565b6124ca90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127188589611cfb90919063ffffffff16565b9050600061272f8689611cfb90919063ffffffff16565b905060006127468789611cfb90919063ffffffff16565b9050600061276f8261276185876124ca90919063ffffffff16565b6124ca90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061279b612796846130ad565b613088565b905080838252602082019050828560208602820111156127ba57600080fd5b60005b858110156127ea57816127d088826127f4565b8452602084019350602083019250506001810190506127bd565b5050509392505050565b600081359050612803816136eb565b92915050565b600081519050612818816136eb565b92915050565b600082601f83011261282f57600080fd5b813561283f848260208601612788565b91505092915050565b60008135905061285781613702565b92915050565b60008151905061286c81613702565b92915050565b60008135905061288181613719565b92915050565b60008151905061289681613719565b92915050565b6000602082840312156128ae57600080fd5b60006128bc848285016127f4565b91505092915050565b6000602082840312156128d757600080fd5b60006128e584828501612809565b91505092915050565b6000806040838503121561290157600080fd5b600061290f858286016127f4565b9250506020612920858286016127f4565b9150509250929050565b60008060006060848603121561293f57600080fd5b600061294d868287016127f4565b935050602061295e868287016127f4565b925050604061296f86828701612872565b9150509250925092565b6000806040838503121561298c57600080fd5b600061299a858286016127f4565b92505060206129ab85828601612872565b9150509250929050565b6000602082840312156129c757600080fd5b600082013567ffffffffffffffff8111156129e157600080fd5b6129ed8482850161281e565b91505092915050565b600060208284031215612a0857600080fd5b6000612a1684828501612848565b91505092915050565b600060208284031215612a3157600080fd5b6000612a3f8482850161285d565b91505092915050565b600060208284031215612a5a57600080fd5b6000612a6884828501612872565b91505092915050565b600080600060608486031215612a8657600080fd5b6000612a9486828701612887565b9350506020612aa586828701612887565b9250506040612ab686828701612887565b9150509250925092565b6000612acc8383612ad8565b60208301905092915050565b612ae181613243565b82525050565b612af081613243565b82525050565b6000612b01826130e9565b612b0b818561310c565b9350612b16836130d9565b8060005b83811015612b47578151612b2e8882612ac0565b9750612b39836130ff565b925050600181019050612b1a565b5085935050505092915050565b612b5d81613255565b82525050565b612b6c81613298565b82525050565b6000612b7d826130f4565b612b87818561311d565b9350612b978185602086016132aa565b612ba0816133e4565b840191505092915050565b6000612bb860238361311d565b9150612bc3826133f5565b604082019050919050565b6000612bdb60198361311d565b9150612be682613444565b602082019050919050565b6000612bfe602a8361311d565b9150612c098261346d565b604082019050919050565b6000612c2160228361311d565b9150612c2c826134bc565b604082019050919050565b6000612c44601b8361311d565b9150612c4f8261350b565b602082019050919050565b6000612c6760218361311d565b9150612c7282613534565b604082019050919050565b6000612c8a60208361311d565b9150612c9582613583565b602082019050919050565b6000612cad60298361311d565b9150612cb8826135ac565b604082019050919050565b6000612cd060258361311d565b9150612cdb826135fb565b604082019050919050565b6000612cf3601a8361311d565b9150612cfe8261364a565b602082019050919050565b6000612d1660248361311d565b9150612d2182613673565b604082019050919050565b6000612d3960178361311d565b9150612d44826136c2565b602082019050919050565b612d5881613281565b82525050565b612d678161328b565b82525050565b6000602082019050612d826000830184612ae7565b92915050565b6000604082019050612d9d6000830185612ae7565b612daa6020830184612ae7565b9392505050565b6000604082019050612dc66000830185612ae7565b612dd36020830184612d4f565b9392505050565b600060c082019050612def6000830189612ae7565b612dfc6020830188612d4f565b612e096040830187612b63565b612e166060830186612b63565b612e236080830185612ae7565b612e3060a0830184612d4f565b979650505050505050565b6000602082019050612e506000830184612b54565b92915050565b60006020820190508181036000830152612e708184612b72565b905092915050565b60006020820190508181036000830152612e9181612bab565b9050919050565b60006020820190508181036000830152612eb181612bce565b9050919050565b60006020820190508181036000830152612ed181612bf1565b9050919050565b60006020820190508181036000830152612ef181612c14565b9050919050565b60006020820190508181036000830152612f1181612c37565b9050919050565b60006020820190508181036000830152612f3181612c5a565b9050919050565b60006020820190508181036000830152612f5181612c7d565b9050919050565b60006020820190508181036000830152612f7181612ca0565b9050919050565b60006020820190508181036000830152612f9181612cc3565b9050919050565b60006020820190508181036000830152612fb181612ce6565b9050919050565b60006020820190508181036000830152612fd181612d09565b9050919050565b60006020820190508181036000830152612ff181612d2c565b9050919050565b600060208201905061300d6000830184612d4f565b92915050565b600060a0820190506130286000830188612d4f565b6130356020830187612b63565b81810360408301526130478186612af6565b90506130566060830185612ae7565b6130636080830184612d4f565b9695505050505050565b60006020820190506130826000830184612d5e565b92915050565b60006130926130a3565b905061309e82826132dd565b919050565b6000604051905090565b600067ffffffffffffffff8211156130c8576130c76133b5565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061313982613281565b915061314483613281565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561317957613178613357565b5b828201905092915050565b600061318f82613281565b915061319a83613281565b9250826131aa576131a9613386565b5b828204905092915050565b60006131c082613281565b91506131cb83613281565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320457613203613357565b5b828202905092915050565b600061321a82613281565b915061322583613281565b92508282101561323857613237613357565b5b828203905092915050565b600061324e82613261565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132a382613281565b9050919050565b60005b838110156132c85780820151818401526020810190506132ad565b838111156132d7576000848401525b50505050565b6132e6826133e4565b810181811067ffffffffffffffff82111715613305576133046133b5565b5b80604052505050565b600061331982613281565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561334c5761334b613357565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6136f481613243565b81146136ff57600080fd5b50565b61370b81613255565b811461371657600080fd5b50565b61372281613281565b811461372d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8b45be1d2e3130562d8b423d8551e0c19bedb07a8bc040fcba24c28566ae5c864736f6c63430008040033

Deployed Bytecode Sourcemap

3702:10786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6278:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5703:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11038:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6447:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11217:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5612:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6768:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9698:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12593:193;;;;;;;;;;;;;:::i;:::-;;5806:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2781:148;;;;;;;;;;;;;:::i;:::-;;9572:118;;;;;;;;;;;;;:::i;:::-;;2567:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5517:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5952:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9869;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12387:194;;;;;;;;;;;;;:::i;:::-;;10158:868;;;;;;;;;;;;;:::i;:::-;;6127:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5426:83;5463:13;5496:5;;;;;;;;;;;;;;;;;5489:12;;5426:83;:::o;6278:161::-;6353:4;6370:39;6379:12;:10;:12::i;:::-;6393:7;6402:6;6370:8;:39::i;:::-;6427:4;6420:11;;6278:161;;;;:::o;5703:95::-;5756:7;4205:23;5776:14;;5703:95;:::o;11038:167::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11115:6:::1;11110:88;11131:5;:12;11127:1;:16;11110:88;;;11182:4;11165;:14;11170:5;11176:1;11170:8;;;;;;;;;;;;;;;;;;;;;;11165:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11145:3;;;;;:::i;:::-;;;;11110:88;;;;11038:167:::0;:::o;6447:313::-;6545:4;6562:36;6572:6;6580:9;6591:6;6562:9;:36::i;:::-;6609:121;6618:6;6626:12;:10;:12::i;:::-;6640:89;6678:6;6640:89;;;;;;;;;;;;;;;;;:11;:19;6652:6;6640:19;;;;;;;;;;;;;;;:33;6660:12;:10;:12::i;:::-;6640:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6609:8;:121::i;:::-;6748:4;6741:11;;6447:313;;;;;:::o;11217:88::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11292:5:::1;11277:4;:12;11282:6;11277:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11217:88:::0;:::o;5612:83::-;5653:5;4581:1;5671:16;;5612:83;:::o;6768:103::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6858:5:::1;6840:15;;:23;;;;;;;;;;;;;;;;;;6768:103:::0;:::o;9698:163::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9793:1:::1;9782:10;:12;9774:21;;;::::0;::::1;;9821:32;9849:3;9821:23;9833:10;4205:23;9821:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;9806:12;:47;;;;9698:163:::0;:::o;12593:193::-;12659:14;;;;;;;;;;;12643:30;;:12;:10;:12::i;:::-;:30;;;12635:39;;;;;;12685:26;12714:21;12685:50;;12746:32;12759:18;12746:12;:32::i;:::-;12593:193;:::o;5806:138::-;5872:7;5899:37;5919:7;:16;5927:7;5919:16;;;;;;;;;;;;;;;;5899:19;:37::i;:::-;5892:44;;5806:138;;;:::o;2781:148::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2888:1:::1;2851:40;;2872:6;::::0;::::1;;;;;;;;2851:40;;;;;;;;;;;;2919:1;2902:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2781:148::o:0;9572:118::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4205:23:::1;9625:12;:22;;;;4205:23;9658:14;:24;;;;9572:118::o:0;2567:79::-;2605:7;2632:6;;;;;;;;;;;2625:13;;2567:79;:::o;5517:87::-;5556:13;5589:7;;;;;;;;;;;;;;;;;5582:14;;5517:87;:::o;5952:167::-;6030:4;6047:42;6057:12;:10;:12::i;:::-;6071:9;6082:6;6047:9;:42::i;:::-;6107:4;6100:11;;5952:167;;;;:::o;9869:::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9966:1:::1;9955:10;:12;9947:21;;;::::0;::::1;;9996:32;10024:3;9996:23;10008:10;4205:23;9996:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;9979:14;:49;;;;9869:167:::0;:::o;12387:194::-;12453:14;;;;;;;;;;;12437:30;;:12;:10;:12::i;:::-;:30;;;12429:39;;;;;;12479:23;12505:24;12523:4;12505:9;:24::i;:::-;12479:50;;12540:33;12557:15;12540:16;:33::i;:::-;12387:194;:::o;10158:868::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10222:11:::1;;;;;;;;;;;10221:12;10213:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10271:35;10328:42;10271:100;;10400:16;10382:15;;:34;;;;;;;;;;;;;;;;;;10427:58;10444:4;10459:15;;;;;;;;;;;4205:23;10427:8;:58::i;:::-;10530:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10512:56;;;10577:4;10584:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10512:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10496:13;;:112;;;;;;;;;;;;;;;;;;10619:15;;;;;;;;;;;:31;;;10658:21;10689:4;10695:24;10713:4;10695:9;:24::i;:::-;10720:1;10722::::0;10724:7:::1;:5;:7::i;:::-;10732:15;10619:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10773:4;10759:11;;:18;;;;;;;;;;;;;;;;;;10806:4;10788:15;;:22;;;;;;;;;;;;;;;;;;10836:21;10821:12;:36;;;;10885:22;10868:14;:39;;;;10932:4;10918:11;;:18;;;;;;;;;;;;;;;;;;10954:13;;;;;;;;;;;10947:29;;;10985:15;;;;;;;;;;;11003:14;10947:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2764:1;10158:868::o:0;6127:143::-;6208:7;6235:11;:18;6247:5;6235:18;;;;;;;;;;;;;;;:27;6254:7;6235:27;;;;;;;;;;;;;;;;6228:34;;6127:143;;;;:::o;285:98::-;338:7;365:10;358:17;;285:98;:::o;7141:335::-;7251:1;7234:19;;:5;:19;;;;7226:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7332:1;7313:21;;:7;:21;;;;7305:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7414:6;7384:11;:18;7396:5;7384:18;;;;;;;;;;;;;;;:27;7403:7;7384:27;;;;;;;;;;;;;;;:36;;;;7452:7;7436:32;;7445:5;7436:32;;;7461:6;7436:32;;;;;;:::i;:::-;;;;;;;;7141:335;;;:::o;7484:1589::-;7588:1;7572:18;;:4;:18;;;;7564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7665:1;7651:16;;:2;:16;;;;7643:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7735:1;7726:6;:10;7718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7805:1;7793:9;:13;;;;7829:1;7817:9;:13;;;;7853:7;:5;:7::i;:::-;7845:15;;:4;:15;;;;:32;;;;;7870:7;:5;:7::i;:::-;7864:13;;:2;:13;;;;7845:32;7841:1180;;;7903:4;:10;7908:4;7903:10;;;;;;;;;;;;;;;;;;;;;;;;;7902:11;:24;;;;;7918:4;:8;7923:2;7918:8;;;;;;;;;;;;;;;;;;;;;;;;;7917:9;7902:24;7894:33;;;;;;7954:13;;;;;;;;;;;7946:21;;:4;:21;;;:55;;;;;7985:15;;;;;;;;;;;7971:30;;:2;:30;;;;7946:55;:83;;;;;8007:18;:22;8026:2;8007:22;;;;;;;;;;;;;;;;;;;;;;;;;8005:24;7946:83;:102;;;;;8033:15;;;;;;;;;;;7946:102;7942:452;;;8116:12;;8106:6;:22;;8098:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8211:14;;8201:6;8185:13;8195:2;8185:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8177:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8298:15;8283:8;:12;8292:2;8283:12;;;;;;;;;;;;;;;;:30;8275:39;;;;;;8367:10;8348:15;:30;;;;:::i;:::-;8333:8;:12;8342:2;8333:12;;;;;;;;;;;;;;;:45;;;;7942:452;8446:13;;;;;;;;;;;8440:19;;:2;:19;;;:55;;;;;8479:15;;;;;;;;;;;8463:32;;:4;:32;;;;8440:55;:85;;;;;8501:18;:24;8520:4;8501:24;;;;;;;;;;;;;;;;;;;;;;;;;8499:26;8440:85;8436:172;;;8558:1;8546:9;:13;;;;8590:2;8578:9;:14;;;;8436:172;8622:28;8653:24;8671:4;8653:9;:24::i;:::-;8622:55;;8697:6;;;;;;;;;;;8696:7;:32;;;;;8715:13;;;;;;;;;;;8707:21;;:4;:21;;;;8696:32;:47;;;;;8732:11;;;;;;;;;;;8696:47;8692:318;;;8764:38;8781:20;8764:16;:38::i;:::-;8821:26;8850:21;8821:50;;8914:1;8893:18;:22;8890:105;;;8940:35;8953:21;8940:12;:35::i;:::-;8890:105;8692:318;;7841:1180;;9035:30;9050:4;9055:2;9058:6;9035:14;:30::i;:::-;7484:1589;;;:::o;1422:190::-;1508:7;1541:1;1536;:6;;1544:12;1528:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1568:9;1584:1;1580;:5;;;;:::i;:::-;1568:17;;1603:1;1596:8;;;1422:190;;;;;:::o;1620:246::-;1678:7;1707:1;1702;:6;1698:47;;;1732:1;1725:8;;;;1698:47;1755:9;1771:1;1767;:5;;;;:::i;:::-;1755:17;;1800:1;1795;1791;:5;;;;:::i;:::-;:10;1783:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1857:1;1850:8;;;1620:246;;;;;:::o;1874:132::-;1932:7;1959:39;1963:1;1966;1959:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1952:46;;1874:132;;;;:::o;10052:96::-;10109:14;;;;;;;;;;;:23;;:31;10133:6;10109:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10052:96;:::o;6879:254::-;6946:7;6985;;6974;:18;;6966:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7050:19;7073:10;:8;:10::i;:::-;7050:33;;7101:24;7113:11;7101:7;:11;;:24;;;;:::i;:::-;7094:31;;;6879:254;;;:::o;9081:483::-;5010:4;5001:6;;:13;;;;;;;;;;;;;;;;;;9159:21:::1;9197:1;9183:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9159:40;;9228:4;9210;9215:1;9210:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9254:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9244:4;9249:1;9244:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9287:62;9304:4;9319:15;;;;;;;;;;;9337:11;9287:8;:62::i;:::-;9360:15;;;;;;;;;;;:66;;;9441:11;9467:1;9483:4;9510;9530:15;9360:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5025:1;5046:5:::0;5037:6;;:14;;;;;;;;;;;;;;;;;;9081:483;:::o;11321:146::-;11415:44;11433:6;11441:9;11452:6;11415:17;:44::i;:::-;11321:146;;;:::o;2014:189::-;2100:7;2132:1;2128;:5;2135:12;2120:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2159:9;2175:1;2171;:5;;;;:::i;:::-;2159:17;;2194:1;2187:8;;;2014:189;;;;;:::o;14052:163::-;14093:7;14114:15;14131;14150:19;:17;:19::i;:::-;14113:56;;;;14187:20;14199:7;14187;:11;;:20;;;;:::i;:::-;14180:27;;;;14052:163;:::o;11475:488::-;11574:15;11591:23;11616:12;11630:23;11655:12;11669:13;11686:19;11697:7;11686:10;:19::i;:::-;11573:132;;;;;;;;;;;;11734:28;11754:7;11734;:15;11742:6;11734:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11716:7;:15;11724:6;11716:15;;;;;;;;;;;;;;;:46;;;;11794:39;11817:15;11794:7;:18;11802:9;11794:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11773:7;:18;11781:9;11773:18;;;;;;;;;;;;;;;:60;;;;11845:16;11855:5;11845:9;:16::i;:::-;11872:23;11884:4;11890;11872:11;:23::i;:::-;11928:9;11911:44;;11920:6;11911:44;;;11939:15;11911:44;;;;;;:::i;:::-;;;;;;;;11475:488;;;;;;;;;:::o;14223:262::-;14273:7;14282;14302:15;14320:7;;14302:25;;14338:15;4205:23;14338:25;;14394:20;4205:23;14394:7;;:11;;:20;;;;:::i;:::-;14384:7;:30;14380:61;;;14424:7;;4205:23;14416:25;;;;;;;;14380:61;14460:7;14469;14452:25;;;;;;14223:262;;;:::o;12800:471::-;12859:7;12868;12877;12886;12895;12904;12925:23;12950:12;12964:13;12981:42;12993:7;13002:9;;13013;;12981:11;:42::i;:::-;12924:99;;;;;;13034:19;13057:10;:8;:10::i;:::-;13034:33;;13079:15;13096:23;13121:12;13137:46;13149:7;13158:4;13164:5;13171:11;13137;:46::i;:::-;13078:105;;;;;;13202:7;13211:15;13228:4;13234:15;13251:4;13257:5;13194:69;;;;;;;;;;;;;;;;;;;12800:471;;;;;;;:::o;1278:136::-;1336:7;1363:43;1367:1;1370;1363:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1356:50;;1278:136;;;;:::o;1091:179::-;1149:7;1169:9;1185:1;1181;:5;;;;:::i;:::-;1169:17;;1210:1;1205;:6;;1197:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1261:1;1254:8;;;1091:179;;;;:::o;11971:212::-;12024:19;12047:10;:8;:10::i;:::-;12024:33;;12068:13;12084:22;12094:11;12084:5;:9;;:22;;;;:::i;:::-;12068:38;;12142:33;12169:5;12142:7;:22;12158:4;12142:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12117:7;:22;12133:4;12117:22;;;;;;;;;;;;;;;:58;;;;11971:212;;;:::o;12191:147::-;12269:17;12281:4;12269:7;;:11;;:17;;;;:::i;:::-;12259:7;:27;;;;12310:20;12325:4;12310:10;;:14;;:20;;;;:::i;:::-;12297:10;:33;;;;12191:147;;:::o;13279:351::-;13372:7;13381;13390;13410:12;13425:28;13449:3;13425:19;13437:6;13425:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13410:43;;13464:13;13480:29;13505:3;13480:20;13492:7;13480;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13464:45;;13520:23;13546:28;13568:5;13546:17;13558:4;13546:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13520:54;;13593:15;13610:4;13616:5;13585:37;;;;;;;;;13279:351;;;;;;;:::o;13638:409::-;13748:7;13757;13766;13786:15;13804:24;13816:11;13804:7;:11;;:24;;;;:::i;:::-;13786:42;;13839:12;13854:21;13863:11;13854:4;:8;;:21;;;;:::i;:::-;13839:36;;13886:13;13902:22;13912:11;13902:5;:9;;:22;;;;:::i;:::-;13886:38;;13935:23;13961:28;13983:5;13961:17;13973:4;13961:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13935:54;;14008:7;14017:15;14034:4;14000:39;;;;;;;;;;13638:409;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:262::-;4839:6;4888:2;4876:9;4867:7;4863:23;4859:32;4856:2;;;4904:1;4901;4894:12;4856:2;4947:1;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4918:117;4846:196;;;;:::o;5048:596::-;5136:6;5144;5152;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5260:1;5285:64;5341:7;5332:6;5321:9;5317:22;5285:64;:::i;:::-;5275:74;;5231:128;5398:2;5424:64;5480:7;5471:6;5460:9;5456:22;5424:64;:::i;:::-;5414:74;;5369:129;5537:2;5563:64;5619:7;5610:6;5599:9;5595:22;5563:64;:::i;:::-;5553:74;;5508:129;5159:485;;;;;:::o;5650:179::-;5719:10;5740:46;5782:3;5774:6;5740:46;:::i;:::-;5818:4;5813:3;5809:14;5795:28;;5730:99;;;;:::o;5835:108::-;5912:24;5930:5;5912:24;:::i;:::-;5907:3;5900:37;5890:53;;:::o;5949:118::-;6036:24;6054:5;6036:24;:::i;:::-;6031:3;6024:37;6014:53;;:::o;6103:732::-;6222:3;6251:54;6299:5;6251:54;:::i;:::-;6321:86;6400:6;6395:3;6321:86;:::i;:::-;6314:93;;6431:56;6481:5;6431:56;:::i;:::-;6510:7;6541:1;6526:284;6551:6;6548:1;6545:13;6526:284;;;6627:6;6621:13;6654:63;6713:3;6698:13;6654:63;:::i;:::-;6647:70;;6740:60;6793:6;6740:60;:::i;:::-;6730:70;;6586:224;6573:1;6570;6566:9;6561:14;;6526:284;;;6530:14;6826:3;6819:10;;6227:608;;;;;;;:::o;6841:109::-;6922:21;6937:5;6922:21;:::i;:::-;6917:3;6910:34;6900:50;;:::o;6956:147::-;7051:45;7090:5;7051:45;:::i;:::-;7046:3;7039:58;7029:74;;:::o;7109:364::-;7197:3;7225:39;7258:5;7225:39;:::i;:::-;7280:71;7344:6;7339:3;7280:71;:::i;:::-;7273:78;;7360:52;7405:6;7400:3;7393:4;7386:5;7382:16;7360:52;:::i;:::-;7437:29;7459:6;7437:29;:::i;:::-;7432:3;7428:39;7421:46;;7201:272;;;;;:::o;7479:366::-;7621:3;7642:67;7706:2;7701:3;7642:67;:::i;:::-;7635:74;;7718:93;7807:3;7718:93;:::i;:::-;7836:2;7831:3;7827:12;7820:19;;7625:220;;;:::o;7851:366::-;7993:3;8014:67;8078:2;8073:3;8014:67;:::i;:::-;8007:74;;8090:93;8179:3;8090:93;:::i;:::-;8208:2;8203:3;8199:12;8192:19;;7997:220;;;:::o;8223:366::-;8365:3;8386:67;8450:2;8445:3;8386:67;:::i;:::-;8379:74;;8462:93;8551:3;8462:93;:::i;:::-;8580:2;8575:3;8571:12;8564:19;;8369:220;;;:::o;8595:366::-;8737:3;8758:67;8822:2;8817:3;8758:67;:::i;:::-;8751:74;;8834:93;8923:3;8834:93;:::i;:::-;8952:2;8947:3;8943:12;8936:19;;8741:220;;;:::o;8967:366::-;9109:3;9130:67;9194:2;9189:3;9130:67;:::i;:::-;9123:74;;9206:93;9295:3;9206:93;:::i;:::-;9324:2;9319:3;9315:12;9308:19;;9113:220;;;:::o;9339:366::-;9481:3;9502:67;9566:2;9561:3;9502:67;:::i;:::-;9495:74;;9578:93;9667:3;9578:93;:::i;:::-;9696:2;9691:3;9687:12;9680:19;;9485:220;;;:::o;9711:366::-;9853:3;9874:67;9938:2;9933:3;9874:67;:::i;:::-;9867:74;;9950:93;10039:3;9950:93;:::i;:::-;10068:2;10063:3;10059:12;10052:19;;9857:220;;;:::o;10083:366::-;10225:3;10246:67;10310:2;10305:3;10246:67;:::i;:::-;10239:74;;10322:93;10411:3;10322:93;:::i;:::-;10440:2;10435:3;10431:12;10424:19;;10229:220;;;:::o;10455:366::-;10597:3;10618:67;10682:2;10677:3;10618:67;:::i;:::-;10611:74;;10694:93;10783:3;10694:93;:::i;:::-;10812:2;10807:3;10803:12;10796:19;;10601:220;;;:::o;10827:366::-;10969:3;10990:67;11054:2;11049:3;10990:67;:::i;:::-;10983:74;;11066:93;11155:3;11066:93;:::i;:::-;11184:2;11179:3;11175:12;11168:19;;10973:220;;;:::o;11199:366::-;11341:3;11362:67;11426:2;11421:3;11362:67;:::i;:::-;11355:74;;11438:93;11527:3;11438:93;:::i;:::-;11556:2;11551:3;11547:12;11540:19;;11345:220;;;:::o;11571:366::-;11713:3;11734:67;11798:2;11793:3;11734:67;:::i;:::-;11727:74;;11810:93;11899:3;11810:93;:::i;:::-;11928:2;11923:3;11919:12;11912:19;;11717:220;;;:::o;11943:118::-;12030:24;12048:5;12030:24;:::i;:::-;12025:3;12018:37;12008:53;;:::o;12067:112::-;12150:22;12166:5;12150:22;:::i;:::-;12145:3;12138:35;12128:51;;:::o;12185:222::-;12278:4;12316:2;12305:9;12301:18;12293:26;;12329:71;12397:1;12386:9;12382:17;12373:6;12329:71;:::i;:::-;12283:124;;;;:::o;12413:332::-;12534:4;12572:2;12561:9;12557:18;12549:26;;12585:71;12653:1;12642:9;12638:17;12629:6;12585:71;:::i;:::-;12666:72;12734:2;12723:9;12719:18;12710:6;12666:72;:::i;:::-;12539:206;;;;;:::o;12751:332::-;12872:4;12910:2;12899:9;12895:18;12887:26;;12923:71;12991:1;12980:9;12976:17;12967:6;12923:71;:::i;:::-;13004:72;13072:2;13061:9;13057:18;13048:6;13004:72;:::i;:::-;12877:206;;;;;:::o;13089:807::-;13338:4;13376:3;13365:9;13361:19;13353:27;;13390:71;13458:1;13447:9;13443:17;13434:6;13390:71;:::i;:::-;13471:72;13539:2;13528:9;13524:18;13515:6;13471:72;:::i;:::-;13553:80;13629:2;13618:9;13614:18;13605:6;13553:80;:::i;:::-;13643;13719:2;13708:9;13704:18;13695:6;13643:80;:::i;:::-;13733:73;13801:3;13790:9;13786:19;13777:6;13733:73;:::i;:::-;13816;13884:3;13873:9;13869:19;13860:6;13816:73;:::i;:::-;13343:553;;;;;;;;;:::o;13902:210::-;13989:4;14027:2;14016:9;14012:18;14004:26;;14040:65;14102:1;14091:9;14087:17;14078:6;14040:65;:::i;:::-;13994:118;;;;:::o;14118:313::-;14231:4;14269:2;14258:9;14254:18;14246:26;;14318:9;14312:4;14308:20;14304:1;14293:9;14289:17;14282:47;14346:78;14419:4;14410:6;14346:78;:::i;:::-;14338:86;;14236:195;;;;:::o;14437:419::-;14603:4;14641:2;14630:9;14626:18;14618:26;;14690:9;14684:4;14680:20;14676:1;14665:9;14661:17;14654:47;14718:131;14844:4;14718:131;:::i;:::-;14710:139;;14608:248;;;:::o;14862:419::-;15028:4;15066:2;15055:9;15051:18;15043:26;;15115:9;15109:4;15105:20;15101:1;15090:9;15086:17;15079:47;15143:131;15269:4;15143:131;:::i;:::-;15135:139;;15033:248;;;:::o;15287:419::-;15453:4;15491:2;15480:9;15476:18;15468:26;;15540:9;15534:4;15530:20;15526:1;15515:9;15511:17;15504:47;15568:131;15694:4;15568:131;:::i;:::-;15560:139;;15458:248;;;:::o;15712:419::-;15878:4;15916:2;15905:9;15901:18;15893:26;;15965:9;15959:4;15955:20;15951:1;15940:9;15936:17;15929:47;15993:131;16119:4;15993:131;:::i;:::-;15985:139;;15883:248;;;:::o;16137:419::-;16303:4;16341:2;16330:9;16326:18;16318:26;;16390:9;16384:4;16380:20;16376:1;16365:9;16361:17;16354:47;16418:131;16544:4;16418:131;:::i;:::-;16410:139;;16308:248;;;:::o;16562:419::-;16728:4;16766:2;16755:9;16751:18;16743:26;;16815:9;16809:4;16805:20;16801:1;16790:9;16786:17;16779:47;16843:131;16969:4;16843:131;:::i;:::-;16835:139;;16733:248;;;:::o;16987:419::-;17153:4;17191:2;17180:9;17176:18;17168:26;;17240:9;17234:4;17230:20;17226:1;17215:9;17211:17;17204:47;17268:131;17394:4;17268:131;:::i;:::-;17260:139;;17158:248;;;:::o;17412:419::-;17578:4;17616:2;17605:9;17601:18;17593:26;;17665:9;17659:4;17655:20;17651:1;17640:9;17636:17;17629:47;17693:131;17819:4;17693:131;:::i;:::-;17685:139;;17583:248;;;:::o;17837:419::-;18003:4;18041:2;18030:9;18026:18;18018:26;;18090:9;18084:4;18080:20;18076:1;18065:9;18061:17;18054:47;18118:131;18244:4;18118:131;:::i;:::-;18110:139;;18008:248;;;:::o;18262:419::-;18428:4;18466:2;18455:9;18451:18;18443:26;;18515:9;18509:4;18505:20;18501:1;18490:9;18486:17;18479:47;18543:131;18669:4;18543:131;:::i;:::-;18535:139;;18433:248;;;:::o;18687:419::-;18853:4;18891:2;18880:9;18876:18;18868:26;;18940:9;18934:4;18930:20;18926:1;18915:9;18911:17;18904:47;18968:131;19094:4;18968:131;:::i;:::-;18960:139;;18858:248;;;:::o;19112:419::-;19278:4;19316:2;19305:9;19301:18;19293:26;;19365:9;19359:4;19355:20;19351:1;19340:9;19336:17;19329:47;19393:131;19519:4;19393:131;:::i;:::-;19385:139;;19283:248;;;:::o;19537:222::-;19630:4;19668:2;19657:9;19653:18;19645:26;;19681:71;19749:1;19738:9;19734:17;19725:6;19681:71;:::i;:::-;19635:124;;;;:::o;19765:831::-;20028:4;20066:3;20055:9;20051:19;20043:27;;20080:71;20148:1;20137:9;20133:17;20124:6;20080:71;:::i;:::-;20161:80;20237:2;20226:9;20222:18;20213:6;20161:80;:::i;:::-;20288:9;20282:4;20278:20;20273:2;20262:9;20258:18;20251:48;20316:108;20419:4;20410:6;20316:108;:::i;:::-;20308:116;;20434:72;20502:2;20491:9;20487:18;20478:6;20434:72;:::i;:::-;20516:73;20584:3;20573:9;20569:19;20560:6;20516:73;:::i;:::-;20033:563;;;;;;;;:::o;20602:214::-;20691:4;20729:2;20718:9;20714:18;20706:26;;20742:67;20806:1;20795:9;20791:17;20782:6;20742:67;:::i;:::-;20696:120;;;;:::o;20822:129::-;20856:6;20883:20;;:::i;:::-;20873:30;;20912:33;20940:4;20932:6;20912:33;:::i;:::-;20863:88;;;:::o;20957:75::-;20990:6;21023:2;21017:9;21007:19;;20997:35;:::o;21038:311::-;21115:4;21205:18;21197:6;21194:30;21191:2;;;21227:18;;:::i;:::-;21191:2;21277:4;21269:6;21265:17;21257:25;;21337:4;21331;21327:15;21319:23;;21120:229;;;:::o;21355:132::-;21422:4;21445:3;21437:11;;21475:4;21470:3;21466:14;21458:22;;21427:60;;;:::o;21493:114::-;21560:6;21594:5;21588:12;21578:22;;21567:40;;;:::o;21613:99::-;21665:6;21699:5;21693:12;21683:22;;21672:40;;;:::o;21718:113::-;21788:4;21820;21815:3;21811:14;21803:22;;21793:38;;;:::o;21837:184::-;21936:11;21970:6;21965:3;21958:19;22010:4;22005:3;22001:14;21986:29;;21948:73;;;;:::o;22027:169::-;22111:11;22145:6;22140:3;22133:19;22185:4;22180:3;22176:14;22161:29;;22123:73;;;;:::o;22202:305::-;22242:3;22261:20;22279:1;22261:20;:::i;:::-;22256:25;;22295:20;22313:1;22295:20;:::i;:::-;22290:25;;22449:1;22381:66;22377:74;22374:1;22371:81;22368:2;;;22455:18;;:::i;:::-;22368:2;22499:1;22496;22492:9;22485:16;;22246:261;;;;:::o;22513:185::-;22553:1;22570:20;22588:1;22570:20;:::i;:::-;22565:25;;22604:20;22622:1;22604:20;:::i;:::-;22599:25;;22643:1;22633:2;;22648:18;;:::i;:::-;22633:2;22690:1;22687;22683:9;22678:14;;22555:143;;;;:::o;22704:348::-;22744:7;22767:20;22785:1;22767:20;:::i;:::-;22762:25;;22801:20;22819:1;22801:20;:::i;:::-;22796:25;;22989:1;22921:66;22917:74;22914:1;22911:81;22906:1;22899:9;22892:17;22888:105;22885:2;;;22996:18;;:::i;:::-;22885:2;23044:1;23041;23037:9;23026:20;;22752:300;;;;:::o;23058:191::-;23098:4;23118:20;23136:1;23118:20;:::i;:::-;23113:25;;23152:20;23170:1;23152:20;:::i;:::-;23147:25;;23191:1;23188;23185:8;23182:2;;;23196:18;;:::i;:::-;23182:2;23241:1;23238;23234:9;23226:17;;23103:146;;;;:::o;23255:96::-;23292:7;23321:24;23339:5;23321:24;:::i;:::-;23310:35;;23300:51;;;:::o;23357:90::-;23391:7;23434:5;23427:13;23420:21;23409:32;;23399:48;;;:::o;23453:126::-;23490:7;23530:42;23523:5;23519:54;23508:65;;23498:81;;;:::o;23585:77::-;23622:7;23651:5;23640:16;;23630:32;;;:::o;23668:86::-;23703:7;23743:4;23736:5;23732:16;23721:27;;23711:43;;;:::o;23760:121::-;23818:9;23851:24;23869:5;23851:24;:::i;:::-;23838:37;;23828:53;;;:::o;23887:307::-;23955:1;23965:113;23979:6;23976:1;23973:13;23965:113;;;24064:1;24059:3;24055:11;24049:18;24045:1;24040:3;24036:11;24029:39;24001:2;23998:1;23994:10;23989:15;;23965:113;;;24096:6;24093:1;24090:13;24087:2;;;24176:1;24167:6;24162:3;24158:16;24151:27;24087:2;23936:258;;;;:::o;24200:281::-;24283:27;24305:4;24283:27;:::i;:::-;24275:6;24271:40;24413:6;24401:10;24398:22;24377:18;24365:10;24362:34;24359:62;24356:2;;;24424:18;;:::i;:::-;24356:2;24464:10;24460:2;24453:22;24243:238;;;:::o;24487:233::-;24526:3;24549:24;24567:5;24549:24;:::i;:::-;24540:33;;24595:66;24588:5;24585:77;24582:2;;;24665:18;;:::i;:::-;24582:2;24712:1;24705:5;24701:13;24694:20;;24530:190;;;:::o;24726:180::-;24774:77;24771:1;24764:88;24871:4;24868:1;24861:15;24895:4;24892:1;24885:15;24912:180;24960:77;24957:1;24950:88;25057:4;25054:1;25047:15;25081:4;25078:1;25071:15;25098:180;25146:77;25143:1;25136:88;25243:4;25240:1;25233:15;25267:4;25264:1;25257:15;25284:102;25325:6;25376:2;25372:7;25367:2;25360:5;25356:14;25352:28;25342:38;;25332:54;;;:::o;25392:222::-;25532:34;25528:1;25520:6;25516:14;25509:58;25601:5;25596:2;25588:6;25584:15;25577:30;25498:116;:::o;25620:175::-;25760:27;25756:1;25748:6;25744:14;25737:51;25726:69;:::o;25801:229::-;25941:34;25937:1;25929:6;25925:14;25918:58;26010:12;26005:2;25997:6;25993:15;25986:37;25907:123;:::o;26036:221::-;26176:34;26172:1;26164:6;26160:14;26153:58;26245:4;26240:2;26232:6;26228:15;26221:29;26142:115;:::o;26263:177::-;26403:29;26399:1;26391:6;26387:14;26380:53;26369:71;:::o;26446:220::-;26586:34;26582:1;26574:6;26570:14;26563:58;26655:3;26650:2;26642:6;26638:15;26631:28;26552:114;:::o;26672:182::-;26812:34;26808:1;26800:6;26796:14;26789:58;26778:76;:::o;26860:228::-;27000:34;26996:1;26988:6;26984:14;26977:58;27069:11;27064:2;27056:6;27052:15;27045:36;26966:122;:::o;27094:224::-;27234:34;27230:1;27222:6;27218:14;27211:58;27303:7;27298:2;27290:6;27286:15;27279:32;27200:118;:::o;27324:176::-;27464:28;27460:1;27452:6;27448:14;27441:52;27430:70;:::o;27506:223::-;27646:34;27642:1;27634:6;27630:14;27623:58;27715:6;27710:2;27702:6;27698:15;27691:31;27612:117;:::o;27735:173::-;27875:25;27871:1;27863:6;27859:14;27852:49;27841:67;:::o;27914:122::-;27987:24;28005:5;27987:24;:::i;:::-;27980:5;27977:35;27967:2;;28026:1;28023;28016:12;27967:2;27957:79;:::o;28042:116::-;28112:21;28127:5;28112:21;:::i;:::-;28105:5;28102:32;28092:2;;28148:1;28145;28138:12;28092:2;28082:76;:::o;28164:122::-;28237:24;28255:5;28237:24;:::i;:::-;28230:5;28227:35;28217:2;;28276:1;28273;28266:12;28217:2;28207:79;:::o

Swarm Source

ipfs://c8b45be1d2e3130562d8b423d8551e0c19bedb07a8bc040fcba24c28566ae5c8

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.